za
escrow

BIP112 czyli escrow w praktyce i nie tylko

2016-02-18
Techniczne
Zondacrypto gielda kryptowalut 2650

Wbrew pozorom deweloperzy Bitcoin Core nie śpią, i wprowadzają kolejne ulepszenia. Jednym z obecnie wdrażanych zmian jest BIP 112.

 

 

Wbrew pozorom deweloperzy Bitcoin Core nie śpią, i wprowadzają kolejne ulepszenia. Jednym z obecnie wdrażanych zmian jest BIP 112.

 

BIP112 wprowadza kolejny nowy „opcode” (komenda języka skryptowego) który w połączeniu z BIP68 (określa sposób zapisu daty realizacji transakcji w polu „seqeance number”) pozwala na warunkowe uruchamianie części skryptu, w zależności od wieku wydawanego wyjścia. Nowa komenda „CHECKSEQUENCEVERIFY” zmienia działanie obecnej komendy „NOP3”. Wprowadzenie BIP112 rozszerzy możliwość dołączenia do bloku transakcji których wyjścia są czasowo zablokowane (nie mogą być wydane) – rozwiązanie wprowadzone przez BIP65.

 

Rozwiązanie takie jest lepsze od istniejącego obecnie, transakcja taka nie musi „wisieć” w mempoolu (puli transakcji niezatwierdzonych) aż do czasu jej realizacji, a jest dołączana do bloku. W zależności od potrzeb możemy np. skonstruować transakcję, której wyjścia mogą być wydane dopiero po określonym czasie (ilość potwierdzeń lub znacznik czasowy) i to w kilku wersjach. W zależności od upływającego czasu realizowana być może jedna z wielu ścieżek wydania transakcji.

 

Możemy na przykład zbudować wyjścia tak, aby przez miesiąc nie mogły być wydane w ogóle, następnie przez kolejny miesiąc wyjścia mogą być wydane tylko przy użyciu 2z3 podpisów (multisig) a po upływie tego czasu przez 1 konkretny podpis.

 

Otworzy to nowe możliwości dla sprzedawców i serwisów pośredniczących, umożliwiając czasowe zabezpieczenie przed wydaniem z możliwością zwrotu środków po upływie określonego czasu. Funkcja przydatna np. przy escrow.

 

Przykładowy skrypt realizujący escrow pomiędzy Alicją, Bolkiem i serwisem Escrow:

 

   IF

       2 <pubkey Ali> <pubkey Bolka> <pubkey Escrow> 3 CHECKMULTISIGVERIFY

   ELSE

       “30d” CHECKSEQUENCEVERIFY DROP

       <pubkey Ali> CHECKSIGVERIFY

   ENDIF

 

W tym przypadku przez 30 dni wymagane są 2 podpisy z trzech zapisanych w transakcji, a po upływie tego czasu Alicja może podjąć środki samodzielnie. Daje to 30 dni na realizację transakcji pomiędzy Alicją i Bolkiem, a w przypadku sporu, Escrow decyduje komu przekazać swój klucz i umożliwić wydanie środków. Jeżeli transakcja jest realizowana bez przeszkód, Alicja przekazuje swój klucz Bolkowi i może on wydać środki. Jeżeli transakcja nie dochodzi do skutku Alicja odzyskuje środki. Czas zaczyna biec od momentu potwierdzenia transakcji w bloku.

 

BIP112 otwiera również drogę do realizacji transakcji rozbudowanych dwukierunkowych. Jeżeli np. Alicja robi coś dla Bolka przez jakiś czas, ale nie wiedzą ile w sumie pochłonie cała operacja, Bolek może wysłać transakcję zapłaty dla Alicji z czasowo zablokowanym wyjściem (transakcje wejdzie do bloku i Alicja ma pewność, że Bolek jest wypłacalny) a następnie wymieniać się kolejnymi wersjami transakcji w miarę postępu prac (nowa transakcja ta będzie dzieliła zablokowane środki w różnym stopniu pomiędzy Alicją i Bolkiem). Ponieważ pierwotna transakcja będzie zablokowana na określony czas, Bolek nie może samodzielnie wydać środków, a Alicji będzie zależało na kolejnych aktualizacjach nowej transakcji. Jeżeli jednak Alicja nie będzie realizować powierzonego zadania, to po określonym czasie środki będą możliwe do wydania samodzielnie przez Bolka.

 

W podobny do powyższego opisu, będą mogły być realizowane transakcje w łańcuchu Lighting, gdzie mikrotransakcje nie będą dołączane do łańcucha Bitcoin.

 

Po wprowadzeniu kolejnego opcode „REORGPROOFVERIFY”, będzie można realizować transakcje wymiany środków pomiędzy siecią Bitcoin a łańcuchem bocznym. Będzie można zagwarantować, że środki zasilające łańcuch boczny będą go zasilać co najmniej przez określony w transakcji czas, i dopiero po jego upływie będą mogły wrócić do sieci macierzystej. I tu również, w zależności od czasu jaki upłynął od wpłacenia środków wydać je będzie można na wiele sposobów.

 

Przygotowaniem do wprowadzenia BIP112 jest wdrażany od wersji Core 0.11.2 BIP65. Uruchomienie BIP112 przewidywane jest w marcu tego roku, po wydaniu Core w wersji 0.12.0

 

Fotografia na licencji Creative Commons: Flickr.com

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności