Inteligentne kontrakty na Bitcoinie - czy to możliwe?
Inteligentne kontrakty to wirtualnie utworzone umowy między użytkownikami, skrypty oraz aplikacje zapisywane na łańcuchu bloków określonej kryptowaluty. Aktualnie najbardziej popularną platformą, która pozwala na ich tworzenie jest ethereum. Deweloperzy bitcoina pracują jednak od dłuższego czasu nad wdrożeniem tego mechanizmu również do jego sieci wraz ze zmniejszeniem rozmiarów transakcji oraz zwiększoną prywatnością.
W sieci bitcoina możemy znaleźć jedną bardzo interesującą funkcję, która nie została opisana w jego białej księdze. Jeśli wykonujemy transakcję nie jest wymagane, aby bitcoiny były odbierane przez klucz publiczny i wydawane za pomocą cyfrowego podpisu. Istnieje możliwość napisania programu (skryptu), który pełniłby funkcję klucza lub podpisu.
Inteligentne umowy z wykorzystaniem MAST.
Funkcją, którą będziemy omawiać w tym artykule i pozwoli nam na tworzenie tzw. "drzewa skrótów" za pomocą takich właśnie skryptów jest tzw. MAST (ang. Merklized Abstract Syntax Trees). A więc od początku - drzewo merkle jest to struktura z danymi, która zawiera zbiorcze informacje na temat większego jej fragmentu. Zawierają one uogólnione informacje na temat listy i łańcucha skrótów. Dane znajdujące się na "gałęziach" drzewa mieszają się ze sobą tworząc indywidualne skróty. Te skróty łączą się z innymi, aż do chwili, gdy pozostanie tylko jeden. Nazywany jest on korzeniem drzewa. Głównym zadaniem drzewa jest upewnienie się, że bloki danych trafiających do sieci bitcoina są odbierane i przekazywane dalej w stanie niezmienionym.
Gdy ustawimy skrypt, który jest domyślny w każdym portfelu to wymuszony przez konsensus bitcoina protokół nie pozwoli bez zatwierdzenia wydać Twoich monet. Możemy skonfigurować go tak (tworząc inteligentny kontrakt), aby np. po tygodniu bez wykonywania żadnej transakcji nasze monety zostały przeniesione na inny, wybrany przez nas adres. Przez ten czas nasze bitcoiny będą "zablokowane" w korzeniu merkla. Po dodaniu takiego warunku do zapisu jaki zawiera, rozmiar skryptu, który domyślnie ma działać w sieci bitcoina wzrośnie - co zwiększy jej obciążenie. Tutaj rozwiązanie znajduje MAST, który pozwoliłby w tej sytuacji na trzymanie dodatkowych "niewykorzystanych" obciążeń sieci poza nią, dopóki nie zostaną aktywowane. Spowodowałoby to znaczne zmniejszenie obciążeń sieci, co wiąże się z jej szybszym działaniem. Aby sprawdzić czy dany element jest częścią zestawu potrzebny jest identyfikator, który połączy konkretny element z resztą drzewa merkla. Jeśli będzie on poprawny, w sieci wygenerowany zostanie dowód potwierdzający to i da wtedy pozytywną odpowiedź. Skrypty mogą być ustawione w taki sposób ,aby zwiększyć ilość sygnatur wykorzystywanych do podpisywania transakcji co zwiększy stopień prywatności użytkowników w sieci bitcoina.
Bitcoina oraz litecoina możesz kupić w naszym kantorze kantorbitcoin.pl:
- Kupno bitcoin BTC – https://kantorbitcoin.pl/kupno-sprzedaz-bitcoin/
- Kupno litecoin LTC – https://kantorbitcoin.pl/kupno-sprzedaz-litecoin-ltc/