Kiedy po raz pierwszy zacząłem eksperymentować z
@Plasma natychmiast zainteresowałem się inteligentnymi kontraktami. Główną zaletą Ethereum jest możliwość uruchamiania złożonej logiki w łańcuchu, więc naturalnie chciałem zobaczyć, jak Plasma może obsługiwać podobne zadania poza łańcuchem. To, co odkryłem, było fascynujące, a czasami frustrujące. Wczesne warianty Plasmy, choć doskonałe do skalowania płatności, wprowadziły szereg ograniczeń dotyczących wykonywania inteligentnych kontraktów, które każdy programista i użytkownik powinien zrozumieć.
Pierwszą rzeczą, którą zauważyłem, jest to, że wczesne łańcuchy Plasmy są głównie zaprojektowane do prostych transferów tokenów. Plasma skoncentrowana na płatnościach działa pięknie, gdy transakcje są proste, ale w momencie, gdy wprowadzasz złożone inteligentne kontrakty, sprawy stają się skomplikowane. Moja początkowa próba polegała na wdrożeniu prostego kontraktu wymiany tokenów na łańcuchu podrzędnym Plasmy. Szybko napotkałem problem: Plasma z natury nie wspiera dowolnego wykonywania kontraktów poza łańcuchem. Transakcje są głównie liniowe, przypominające operacje UTXO, co oznacza, że nie można łatwo wdrożyć logiki zależnej od stanu, jak w przypadku kontraktów wieloetapowych. Ten moment był sprawdzeniem rzeczywistości. Zdałem sobie sprawę, że projekt Plasmy priorytetuje skalowalność i bezpieczeństwo nad programowalnością w łańcuchu.