Czym jest Programmability?
Programmability to koncepcja, że aktywa kryptowalutowe mogą postępować zgodnie z regułami zapisanymi w kodzie. Możesz ustawić, aby pieniądze przemieszczały się po spełnieniu określonych wyzwalaczy, dzieliły się, płynęły w strumieniu lub blokowały się bez udziału człowieka. Pomyśl o automatycznych płatnościach połączonych z zasadą jeśli-to dla wartości.
„Programmability oznacza, że wszystko wolno.” Nie do końca. Kod działa w ramach surowych zasad łańcucha bloków, z limitami gas i twardymi kontrolami. Jeśli kod nie przewiduje danej operacji, sieć jej również nie wykona.
Jak działa Programmability
Szybki przegląd: załóżmy, że chcesz, aby czynsz był dzielony między współlokatorów pierwszego dnia każdego miesiąca.
- Krok 1: Wysyłasz transakcję, która wywołuje funkcję w kontrakcie.
- Krok 2: Sieć wykonuje tę funkcję dokładnie tak, jak zapisana w inteligentnych kontraktach, bez ukrytych ustaleń.
- Krok 3: Jeśli zasady są spełnione, salda się aktualizują, a transfery są realizowane. Jeśli nie, operacja zostaje wycofana, jakby nic się nie stało.
- Krok 4: Dla tokenów zamiennych transfery przestrzegają standardu ERC 20, dzięki czemu każdy portfel i aplikacja wie, co zrobić.
- Krok 5: Wydarzenia zapisują akcję, dzięki czemu pulpity i boty mogą reagować, na przykład wysyłając potwierdzenia lub uruchamiając kolejny krok.
To przepływ. Kod ustala reguły, a łańcuch pilnuje, żeby każdy ich przestrzegał.
Dlaczego Programmability ma znaczenie
I co z tego? Ponieważ kod, który przemieszcza wartość, to potężne narzędzie, którego naprawdę możesz użyć.
- Zaleta: Zautomatyzuj wypłaty, pożyczki, transakcje, zwroty lub tantiemy, kiedy śpisz.
- Perspektywa: Otwiera możliwości dla DeFi, gier i narzędzi dla twórców, ale błędy mogą prowadzić do eksploatacji, więc ostrożność jest ważniejsza niż szum.
- Znaczenie: Zobaczysz to w dAppach, DAO, przy emisjach NFT i w codziennych portfelach, które planują lub grupują transakcje.
Trzymaj się sprawdzonych standardów i szablonów. Dla NFT podstawą jest ERC 721. Dodaj tylko te niestandardowe elementy, których naprawdę potrzebujesz.
Główne cechy Programmability
Co sprawia, że to działa:
- Deterministyczne: Te same dane wejściowe dają ten sam wynik na każdym węźle.
- Kompozycyjność: Kontrakty mogą wywoływać inne kontrakty jak klocki Lego, szybko budując większe systemy.
- Bez zezwoleń: Każdy może napisać i wdrożyć kod, a inni mogą z niego korzystać.
- Przejrzystość: Logika i transakcje są publiczne, więc możesz to zweryfikować, a nie zgadywać.
- Atomowość: Wszystkie kroki powiodą się razem albo żaden, co eliminuje stany częściowo wykonane.
Warianty
To samo założenie, różne warianty:
- Pełne: Języki ogólnego przeznaczenia, które mogą wyrazić prawie dowolną logikę.
- Skryptowe: Ograniczone instrukcje, które utrzymują prostotę i ułatwiają rozumienie.
- Na łańcuchu: Logika działa bezpośrednio na łańcuchu dla maksymalnej weryfikowalności.
- Pozachańcuchowe: Boty i strażnicy wyzwalają działania na łańcuchu na podstawie obserwacji z zewnątrz.
Wdrożony kod i przeszłe transakcje zapisane są w niezmiennym rejestrze. Jeśli potrzebujesz aktualizacji, zaplanuj je z wyprzedzeniem, używając proxy i timelocków.
Przykład
DApp muzyczny przesyła tantiemy co minutę do wielu portfeli, w zależności od liczby odsłuchań, wszystko z jednego wywołania kontraktu.
Ciekawostka
Vitalik powiedział kiedyś, że osłabienie w grze skłoniło go do wyobrażenia pieniędzy, które przestrzegają reguł, których żadna firma nie może zmienić. To pomogło zainspirować Ethereum. Programowalna gotówka narodziła się z notatek o poprawkach.
Podsumowanie
Programmability pozwala powiedzieć pieniądzom, co mają robić, a one wykonują to za każdym razem. Prosty pomysł, duży efekt.
