Smart kontrakty, czyli beton z kodu.
Szklany sejf i tłum przed szybą
Nawet da się w to uwierzyć: kod jest jawny, zasady są jawne i każdy może to sprawdzić. Jawność przypominająca szklaną ścianę w biurowcu: wszystko widać a Ty nic nie możesz zrobić. Stoisz sobie i patrzysz, jak inni przesuwają pionki. Kod takiego smart kontraktu jest przecież publiczny. Możesz go nawet czytać do poduszki ale dla części ludzi ten sam kod to nie manifest decentralizacji, tylko mapa skarbów. Instrukcja, gdzie nacisnąć, żeby z Total Value Locked (TVL) zrobiło się "oczekuje do wypłaty".
Pisałem już kiedyś o blockchain jak o świecie, który nigdy nie zapomina. Smart kontrakty są tylko kolejnym krokiem w tę stronę: skoro pamięć ma być wieczna, to i wykonanie ma być bezdyskusyjne. Problem w tym, że idealna pamięć i idealna logika, trafiają na bardzo nieidealnych ludzi.
APY? Zdrapka dla dorosłych
Najbardziej fascynujące jest to, jak łatwo dajemy się złapać na procenty. Widzisz takie fajne projekty, które dają zwrotu na 40% APY - Roczna Rzeczywista Stopa Procentowa (Annual Percentage Yield), które w normalnych finansach wywołałoby pewnie kontrolę KNF a Ty? Przestajesz być ostrożnym dorosłym a stajesz się sobą z podstawówki. No tak, teraz mamy nowocześnie brzmiące nazwy - tokenomika, smart kontrakt - brzmią jak coś, co projektowali ludzie w okularach, a nie jak proszący o 100 USD żołnierz w e-mail'u ze skarbem w Afganistanie (taki scam).
Ten yield często jest wypłacany w jakimś tokenie, którego główną funkcją jest - uwaga - bycie nagrodą! Za to, że trzymasz inny token, którego główną funkcją było przyciągnąć kapitał do systemu, który ma udowodnić, że perpetuum mobile jednak istnieje - pod warunkiem, że nikt nie spróbuje wyjść drzwiami z napisem sell.
Lubię w DeFi hasła typu: "wszyscy zarabiają". Jasne. Wszyscy zarabiają, tylko jakoś.. nikt nie wypłaca. Każdy zna kogoś, kto był o krok od idealnego wyjścia, kto mógł sprzedać tydzień wcześniej lub trzyma długoterminowo, bo wierzy w projekt. Trudniej znaleźć kogoś, kto powie, że na tym zarobił jakieś konkretne pieniądze a nie godzinową stawkę w PL, po kilku tygodniach zablokowania środków.
Jawny kod, jawne pieniądze, jawne.. włamania
W DeFi jawność kodu oznacza jawność celu. Zestawienia największych hacków - halborn.com - pokazują, że setki exploitów wyssały z protokołów miliardy dolarów w ostatnich latach. To nie są pojedyncze wpadki. To powtarzalny schemat: luka, exploit i komunikat na Twitterze, "pracujemy nad rozwiązaniem", a kapitał? Właśnie zmienił właściciela.
Dla kontrastu: gdy hakerzy uderzają w tradycyjne banki i naprawdę udaje im się ukraść pieniądze, to są to zdarzenia tak rzadkie i tak spektakularne, że mówi się o nich latami. Najsłynniejszy przypadek to włamanie do Bangladesh Banku poprzez system SWIFT, gdzie hakerzy próbowali przelać blisko miliard dolarów, a udało im się wypłacić około 81 mln USD. Dobre 81 milionów to już była wielka sprawa, o której mówiono latami. A w DeFi? Tam wielomilionowe i wielomiliardowe straty wypływają regularnie, jakby były częścią normalnej narracji rynku, podczas gdy entuzjaści dalej opowiadają bajki o niezmienności kodu. W DeFi takie kwoty potrafią zniknąć tak często, że stają się elementem krajobrazu, jak korekta na wykresie, jakby stanowiły model biznesowy dla hakerów.
Nie będę tutaj rzucał konkretnymi przykładami (możesz sobie poszukać w internecie) ale tak bardzo ogólnie żebyś miał wyobrażenie. Szacunkowa suma faktycznie skradzionych pieniędzy w latach 2016-2026 z:
- banków w atakach na infrastrukturę to ok. 600 mln USD.
- DeFi w atakach na smart kontrakty to ok. 11 MILIARDÓW USD. Dużo? Eee tam :) grunt, że mit antyrządowy i p2p się kupy trzyma.
Gdzie jest różnica? A może to banki są jednak magicznie bezpieczne? A może różnica polega na tym, że tam bezpieczeństwo jest warstwowe, nudne i regulowane, a w DeFi wrzucamy miliardy do publicznego kodu i mówimy sobie, że luzik, był audyt jakiejś firmy Cośtam LCC z "Maseczeczusets" od smart kontraktów, to tutaj jest legit i bezpiecznie. Po prostu bezwzględny sposób, który genialnie pasuje do świata, gdzie ryzyko sprzedaje się jako wolność, a brak możliwości odwołania jako czystość zasad. Kiedy coś idzie nie tak, nie ma infolinii, jest tylko "transaction failed". I gra gitara.
Warto zaznaczyć jeszcze jedną rzecz: w bankach incydenty mają swoje procedury post-factum, odszkodowania, regulacje, policję i prokuraturę. A w DeFi? To po prostu wpisane w rynek - exploit i kapitał wyparował, a statystyki dopisują to do kolejnej linii wykresu :)
Jak potocznie rozumiesz smart kontrakt?
Wszyscy mamy w głowie ten krystaliczny obraz: firma A płaci firmie B dokładnie wtedy, gdy firma B wywiąże się z umowy. Nie wcześniej, nie później, nie po rozmowie z zarządem, tylko automatycznie. Wrzucasz spełnione warunki, wypada przelew. Brzmi logicznie.
Tylko że to jest wizja z broszury, z tej samej półki co "AI pozwoli nam pracować dwie godziny dziennie", czyli rzeczy, które świetnie wyglądają na slajdzie, a w realu rozbijają się o fakt, że świat jest niejednoznaczny i pełen ludzi, którzy mają swoje interesy, humory i interpretacje słowa "dostarczone".
Bo wyobraź sobie tę rzekomo oczywistą sytuację przeniesioną jeden do jednego do świata jawnych smart kontraktów. Firma A publicznie wrzuca do blockchaina umowę: "zapłacimy firmie B 700 tysięcy złotych, jeśli do 12.02.2026 dostarczy 12 kontenerów elektrycznych hulajnóg". Mało tego - zgodnie z duchem decentralizacji i transparentności - widzimy po drodze każdy przystanek kontenera, każdy port, każde opóźnienie, każdy sygnał z GPS-a, wszystko zapisane w niezmiennym rejestrze, jak reality show dla logistyków i konkurencji jednocześnie.
I teraz powiedz szczerze: czy ktokolwiek normalny, prowadzący realny biznes, chciałby aż tak się obnażyć? Pokazać publicznie stawki, terminy, dostawców, problemy po drodze, opóźnienia w porcie, to że jeden kontener utknął, bo ktoś źle wypełnił papiery? To brzmi mniej jak przyszłość finansów, a bardziej jak korporacyjny Big Brother, w którym konkurencja siedzi z popcornem i notuje każdy Twój błąd.
Utopia
My mamy w głowie utopijną wizję: świat, w którym umowy są czyste, warunki obiektywne, a rzeczywistość daje się zamknąć w eleganckich ifach i else’ach. Tylko że prawdziwe umowy rzadko brzmią jak "jeśli X, to Y", a częściej jak "jeśli X, chyba że wydarzy się Z, ale z uwzględnieniem okoliczności A, B i C, oraz tego, że strony zobowiązują się działać w dobrej wierze", czyli coś, czego nie da się sprowadzić do linijki kodu bez wycięcia połowy sensu.
Dlatego coraz bardziej mam wrażenie, że ta wizja - wrzucimy całą umowę na blockchain i niech się wykona - jest po prostu technologiczną fantazją ludzi, którzy bardzo chcą, żeby świat był prostszy niż jest, podczas gdy w praktyce kod może sensownie ogarniać tylko 1–2 twarde, mierzalne warunki, takie jak:
- płatność zostaje odblokowana, gdy system potwierdzi, że przesyłka została zeskanowana w magazynie odbiorcy,
- depozyt przepada, jeśli do konkretnej daty nie pojawi się potwierdzenie wykonania usługi.
Reszta - cała ta miękka, negocjowalna, pełna kontekstu logika biznesu - i tak zostanie poza łańcuchem, w mailach, telefonach, aneksach i "dogadajmy się, bo inaczej wszyscy na tym stracimy". Blockchain może być notariuszem od stempla na końcu, ale niekoniecznie nadaje się do wszystkiego w wizji jaką mam w swoich głowach. Zresztą - większa złożoność takiego kontraktu, to i droższe jego wykonanie na blockchainie. Prosty swap (wymiana) krypto na krypto, to koszt minimum 4zł i nie ważne, że chcesz wymienić sobie 4 KrowaCoiny o wartości 1zł, na 2 JesusTokeny o wartości 1zł; musisz zapłacić 4zł. A jak przez przypadek zablokujesz sobie środki na rok? Nie ma przycisku "anuluj". Masz posłusznie czekać, aż kod się wykona. To nie błąd. System działa prawidłowo :)
Mam wrażenie, że technologia próbuje udawać, że świat da się zapisać jak prosty program, podczas gdy my sami jesteśmy chodzącymi wyjątkami od każdej reguły. Najważniejsze decyzje i tak zapadają nie w kodzie, tylko w czyjejś głowie, gdzie żaden smart kontrakt jeszcze długo nie będzie miał wstępu.
Cześć.
**Gwarantuję Ci niezmienność moich treści**
Hash artykułu:
ID transakcji: sprawdź OP_RETURN i porównaj jego hash
Komentarze
Prześlij komentarz