juz ide studiować co to za pomysł, jak, czy realne - fingers crossed
Nie spodziewałem się, że mój wpis będzie aż tak szeroko cytowany, dobrze wiedzieć. Jako ciekawostkę mogę dodać, że niewiele brakowało, żeby ten wpis nie wszedł na listę, bo był "zbyt niedopieszczony technicznie".
Natomiast do meritum: pomysł jest dość prosty: żeby utworzyć sidechain z nowymi ficzurami, wystarczy zapewnić dwustronną komunikację, to znaczy: możliwość wkładania monet do sidechaina i możliwość zgarniania ich z powrotem na Bitcoinie. Żeby przenieść monety do sidechaina, wystarczy zbudować go tak, aby dostarczenie prawidłowo podpisanych monet tworzyło automatycznie ich kopię na sidechainie. W ten sposób użytkownicy BTC mogą podpisać monety, co spowoduje, że pojawią się na sidechainie. Jednocześnie, można złożyć podpis tak, aby podpisywane dane nie stanowiły prawidłowej transakcji na głównym łańcuchu. Można to zrobić tak, jak w sieci testowej signet. Wystarczy podpisanie monet, nie trzeba niczego przesuwać, żeby je przenieść na sidechain.
Kwestię zasadniczą stanowi powrót na główny łańcuch. Bo jeśli ktoś chce spalić BTC, to w ten sposób można zrobić transfer w jedną stronę. Były dawniej monety, które tak robiły, na przykład Counterparty. Żeby jednak system działał lepiej, potrzebny jest powrót do głównego łańcucha. Tutaj rozwiązanie jest równie proste: dobrze zbudowany sidechain powinien obserwować główny łańcuch. Jeśli monety zostaną przesunięte na BTC, no to taką transakcję należy skopiować jako dowód i wrzucić na sidechain, wtedy monety stamtąd muszą zostać zniszczone.
W ten sposób można bardzo łatwo zrobić sieć testową: chcesz coś sprawdzić? Podpisz swoje monety, otrzymasz taką samą liczbę monet testowych. Następnie zrób swoje testy, korzystając z nowych reguł na sidechainie. A potem wystarczy przesunąć właściwe monety na łańcuchu głównym, wtedy monety na sidechainie są niszczone.
Sidechain może mieć dowolne reguły. Przejdzie wszystko, można ukrywać kwoty i adresy jak w Monero, można dorobić staking, jeśli ktoś lubi, można włączyć tysiące ficzurów, jakie tylko ludzie mogą wymyślić.
Ktoś mógłby zapytać: no dobrze, ale jak przesuwać transakcje wewnątrz sidechaina? Otóż wtedy odpowiedź stanowi szyfrowanie homomorficzne. Innymi słowy: pierwszy właściciel monet szyfruje swoje monety, następnie transakcje są wykonywane na sidechainie poprzez składanie transakcji tak, aby móc je podpisywać tak, aby nie trzeba było znać kluczy prywatnych (bo one będą dostępne, ale tylko w zaszyfrowanej formie), dzięki czemu ludzie będą mogli przekazywać je sobie na sidechainie, a ostatni właściciel po prostu odszyfruje całość i wypuści na głównym łańcuchu. Całość opiera się o prosty schemat: N-1 kluczy w zaszyfrowanej formie widać zawsze, a ostatni właściciel dokłada ostatnią część, co powoduje odblokowanie całości, wypuszczenie tego na główny łańcuch, a także odszyfrowanie tego na sidechainie, co oznacza zniszczenie tamtejszych monet.