Bitcoin

Łańcuchy Drzew A Łańcuchy Boczne: Wyjaśnione Kontrowersje

Bitcoin Łańcuchy Drzew A Łańcuchy Boczne: Wyjaśnione Kontrowersje

Profesor Paweł Artymowicz przedstawia rekonstrukcję trajektorii w ostatnich sekundach lotu (Listopad 2018).

Anonim

Wykres podziału łańcucha bloków.

Jeśli zwróciłeś uwagę na scenę bitcoinów w ciągu ostatnich kilku miesięcy, prawdopodobnie słyszałeś o pojęciach zwanych "łańcuchami bocznymi" lub "łańcuchami drzewiastymi", a nawet możesz się domyślić, że toczy się debata które z nich powinny zostać dodane do protokołu Bitcoin. To, czego prawdopodobnie nie słyszałeś, to zwięzłe wyjaśnienie tego, co robią, dlaczego chcemy je lub jak działają. Dzisiaj przedstawimy prosty opis, w jaki sposób obie te propozycje protokołów będą działać, a czego Ty, użytkownik, możesz oczekiwać od nich.

Dlaczego dbamy:

Największym impulsem do rozwijania łańcuchów bocznych i łańcuchów drzew jest to, że Bitcoin, tak jak obecnie istnieje, nie skaluje się zbyt dobrze. Wraz ze wzrostem liczby transakcji, przepustowość i pojemność potrzebna dla każdego z górników będzie rosnąć w niesprzyjających poziomach. Naprawdę potrzebujemy sposobu na podział łańcucha blokowego, aby zmniejszyć obciążenie poszczególnych górników.

Poza tym dobrze byłoby, gdybyśmy mogli zintegrować niektóre funkcje społeczności altcoinów (np. Szybką weryfikację transakcji), bez konieczności zajmowania się altcoinami (i kosztami przenoszenia pieniędzy między nimi za pośrednictwem giełdy) lub niekoniecznie przyjęcie kompromisów tych altcoinów w rdzenny łańcuch blokowy Bitcoin.

Łańcuchy boczne:

W schemacie łańcucha bocznego opracowalibyśmy protokół, który pozwoliłby programistom "łączyć" nowe łańcuchy boczne z Bitcoinem, umożliwiając przenoszenie pieniędzy między głównym łańcuchem bloków i różnymi łańcuchami bocznymi iz powrotem . Te łańcuchy boczne mogą mieć bardzo różne właściwości od Bitcoin, w tym anonimowość prawdziwej transakcji typu ZeroCoin lub szybką weryfikację transakcji w stylu Dogecoin. Całkowita wartość Bitcoina nie będzie miała wpływu, ale będziesz mógł przenieść ją z łańcucha bocznego do łańcucha bocznego, aby uzyskać pożądane właściwości.

Jednym ze sposobów myślenia o tym jest to, że łańcuchy boczne umożliwiają tworzenie altelloin "wspieranych" przez Bitcoin, w tym sensie, że można "zawiesić" Bitcoin, usuwając go z portfela, w zamian za równoważną ilość altcoin, a ty lub ktoś inny może później odzyskać te bitcoiny, udowadniając, że zniszczyli odpowiednią liczbę altcoinów.

Na pierwszy rzut oka wygląda to na świetny pomysł. Niestety, ma kilka poważnych praktycznych wad. Dzieląc walutę na wiele łańcuchów bocznych, każdy łańcuch boczny ma tylko ułamek mocy mieszania sieci jako całości. Jest to problematyczne, ponieważ w schemacie łańcucha bocznego osoba atakująca potrzebuje tylko skompromitować najsłabszy łańcuch boczny. Stamtąd, po ukończeniu 51% ataku, mogą użyć tej kontroli, aby utworzyć (fałszywy) najdłuższy łańcuch bloków, utworzyć pieniądze, a następnie przekazać nowe monety z powrotem do głównego łańcucha blokowego Bitcoin, zasadniczo kradnąc monety z pula zamrożonych monet, które powracają do tego łańcucha bocznego, tworząc rozbieżności między głównym łańcuchem bloków a łańcuchem bocznym, które trudno jest rozwiązać na poziomie protokołu.

Może się tak zdarzyć, ponieważ łańcuchy boczne nie mają wspólnej historii bloków, co oznacza, że ​​aby przesuwać monety z jednego do drugiego, większość propozycji łańcuchów bocznych polega jedynie na tak zwanych "dowodach SPV" (mechanizm używane przez lekkie portfele mobilne), które po prostu sprawdzają, czy wydawane pieniądze są znane z istnienia najdłuższego łańcucha i mają pewną liczbę bloków na wierzchu (bez sprawdzania, czy jego historia jest ważna aż do bloku genezy. Dowody SPV reprezentują o wiele niższy standard weryfikacji niż wewnętrzna sieć Bitcoin. 51% napastnik, w schemacie łańcucha bocznego, nie byłby w stanie po prostu podwójnie wydać transakcji, ale także byłby w stanie kradnij z "banku" Bitcoinów wspierających altcoin i zostawiaj altcoin działający na zasadzie rezerwy cząstkowej (potencjalna katastrofa w robieniu).

Jednym możliwym rozwiązaniem zwiększonego ryzyka 51% ataku jest użycie fuzji. górnictwo, aby zapewnić równoczesne wydobycie wszystkich łańcuchów bocznych chytry przy tej samej ilości mocy mieszania. W eksploracji łączącej, ponieważ wszystkie łańcuchy używają tego samego algorytmu mieszania, próbujesz wygenerować dowód pracy dla obu bloków razem. Używasz mocy mieszania tylko raz, ale masz szansę wygenerować udany dowód pracy dla obu łańcuchów. Na pierwszy rzut oka wydaje się to starannie rozwiązać oczywistą wadę łańcuchów bocznych. Niestety nie jest to takie proste. Merge Mining wymaga od użytkownika, aby uruchomił pełny węzeł każdej waluty, w której odbywa się scalanie, co jest wystarczająco kosztowne, aby radykalnie zwiększyć motywację do korzystania z puli wydobywczych w celu rozdzielenia tych kosztów stałych wśród wielu górników. Stwarza to silną zachętę do centralizacji i ogólnie jest bardzo złe. Ponadto w przypadku, gdy jakikolwiek łańcuch boczny zostanie zaatakowany w 51%, ryzyko kradzieży bitcoinów w schemacie dwukierunkowym pozostaje.

Wszystkie te ograniczenia i zagrożenia sprawiły, że wielu z głównych programistów sceptycznie podchodzi do propozycji łańcuchów bocznych, chociaż nadal trwają prace nad nimi w celu rozwiązania tych problemów.

Łańcuchy drzew:

Łańcuchy drzew są schematem podobnym do łańcuchów bocznych, ale próbują rozwiązać niektóre z tych praktycznych niedociągnięć. Schemat, opisany przez Petera Todda, rdzenia Bitcoin, jest podobny do tego:

Wyobraź sobie, że zamiast łańcucha blokowego mamy drzewo łańcuchów. Podstawowy łańcuch blokowy Bitcoin, który znamy i kochamy, pozostaje nienaruszony, ale zamiast faktycznie przechowywać transakcje, każdy blok przechowuje tylko dwa hashe. Są to skróty dwóch nowych łańcuchów blokowych, które nazwalibyśmy "lewym" i "prawym" - łańcuchy są uważane za "dzieci" głównego łańcucha blokowego Bitcoin. Przechowaliby hasze odpowiadające swoim dzieciom i tak dalej, i tak dalej, na pewną dowolną głębokość, na której docieramy do "liści" - łańcuchów bloków, w których bloki przechowują rzeczywiste transakcje.

Transakcje byłyby losowo dodawane do najniższej warstwy łańcuchów, w oparciu o identyfikatory transakcji. Górnicy będą arbitralnie wybierać z tych dolnych łańcuchów i pracować nad nimi, kilku górników na liść.W tych dolnych łańcuchach nagroda i trudność zostałyby zmniejszone wykładniczo, co umożliwiłoby górnikom szybką weryfikację transakcji (w tych łańcuchach zależnych), często otrzymując niewielkie nagrody. Zwiększyłoby to stopę nagród dla górników tak bardzo, że nie byłoby zachęty do łączenia się.

Ponieważ te łańcuchy tworzą drzewo, a każdy łańcuch jest bardzo mały, możemy robić ekscytujące rzeczy, pozwalając, aby każdy łańcuch i jego rodzic został połączony razem. Oznacza to, że przechowując łańcuch bloków, które wydobywacie, jego rodzic i dziadkowie itd., Górnik może, nie przechowując więcej niż niewielki ułamek drzewa (tylko ścieżka od korzenia do ich aktywnego liścia) , nadal scalaj - kopalnia z powrotem do korzenia i masz szansę na kopanie bloków i zdobywanie nagród na każdym poziomie. To zapewnia, że ​​sieć pozostaje tak samo bezpieczna jak zawsze: całe wydobycie wykonane przy każdym liściu drzewa przyczynia się do stabilności pnia. Mimo że transakcje na najdalszych liściach nie są szczególnie bezpieczne po ich potwierdzeniu (ze względu na zmniejszony poziom trudności), ponieważ bloki są wydrążone dalej w górę drzewa, stają się one bardziej bezpieczne, ponieważ informacje ostatecznie rozprzestrzeniają się do korzenia drzewo i staje się tak bezpieczny, jak każda normalna transakcja Bitcoin.

Schemat ten pozostawia nienaruszoną integralność łańcucha bloków, jednocześnie umożliwiając szereg korzyści. Po pierwsze, eliminuje potrzebę, aby każdy górnik przechowywał cały łańcuch bloków: muszą jedynie przechowywać ścieżkę do liścia, nad którym pracują w danej chwili, umożliwiając bezpieczne rozprowadzanie całego drzewa przez wielu górników. Po drugie, oznacza to, że portfele Bitcoin również nie muszą przechowywać całego drzewa, aby być w pełni bezpiecznym: mogą po prostu przechować ścieżki przez drzewo, które odpowiadają aktywności ich portfela: wystarczająco dużo informacji, aby udowodnić, że ich pieniądze są prawdziwe ( dowody, które można przesłać z transakcją jako rodzaj podpisu autentyczności). Oznacza to, że lekkie portfele mobilne nadal mogą istnieć, ale o wiele bezpieczniejsze niż byłoby to możliwe przy użyciu proofów SPV. Poprzez umożliwienie zmiany głębokości drzewa przy użyciu, umożliwia to również skalowanie sieci Bitcoin w nieskończoność i arbitralnie: nigdy nie będzie czasu, gdy liczba transakcji będzie zbyt duża, aby jeden górnik mógł sobie z nią poradzić - po prostu będą podziel się między więcej liści.

Ta propozycja jest w pewnym sensie mniej elastyczna niż łańcuchy boczne, ponieważ nie pozwala, aby rozwidlenia łańcucha bloków robiły zasadniczo inne rzeczy niż oryginalne: nie byłoby możliwe, aby poszczególne liście wdrożyły ZeroCoin- anonimowość stylu, chociaż weryfikacja transakcji mogłaby przebiegać znacznie szybciej bez wpływu na bezpieczeństwo sieci jako całości.

Rozwiązanie Petera Todda polega na całkowitym otwarciu Bitcoin, przez wyeliminowanie konieczności sprawdzania transakcji przez górników: górnicy po prostu sprawdzają, czy transakcja wiąże się z opłatą i pomijamy jej zawartość. Klienci przeprowadzają same weryfikacje, wykorzystując ścieżki drzewa do przechowywania odpowiednich dowodów dla posiadanych przez nich bitcoinów i emitowania tych dowodów po dokonaniu transakcji.

W ten sposób możliwe byłoby użycie drzewa bloków Bitcoin jako platformy dla altcoina: płaciłbyś swoje opłaty w Bitcoin, ale same transakcje mogły być dowolne: możesz zrobić ZeroCoin lub inteligentne transakcje aktywów na Bitcoin blokować łańcuch i korzystać z jego bezpieczeństwa. Ci, którzy używają Bitcoin, po prostu zignorowaliby jakąkolwiek inną aktywność altcoin jako zniekształcone transakcje i na odwrót. Metafora jest tu magnetofonem, który siedzi w pokoju i słucha kilku rozmów w kilku językach. Magnetofon jest głupi: po prostu zapisuje bełkot wielu głosów. Jednak ktoś mógł później posłuchać taśmy i dowiedzieć się, co mówiono po angielsku. Ktoś inny mógł następnie posłuchać tej samej taśmy i dowiedzieć się, co było powiedziane w mandaryńskim: jedna taśma przynosi korzyść obu, bez potrzeby faktycznego zrozumienia czegokolwiek.

Treecoiny są stosunkowo nowym pomysłem i nie zostały w pełni sprawdzone przez społeczność programistów: istnieją obawy dotyczące postępowania z "blokami osieroconymi", które byłyby bardziej powszechne w najniższych oddziałach. Jeśli twoja transakcja kończy się w bloku sierocym w podminowanym liściu, jaki jest twój regres? Jak upewnić się, że twoja transakcja spowoduje przejście do nowego bloku? Jest jeszcze wiele do zrobienia, aby upewnić się, że ta nowa struktura nie wprowadza niepożądanych bodźców ani nieprzewidzianych problemów. Wreszcie, zwiększenie złożoności w stosunku do tradycyjnego systemu Bitcoin (który ma do tego pewną elegancję) powinno wystarczyć, aby dać ostrożnemu deweloperowi chwilę wytchnienia. Przejście na łańcuchy drzew byłoby ogromną zmianą dla Bitcoin i jest propozycją, która musi zostać poważnie opracowana, zanim zostanie uznana za wykonalną.

To prawda, że ​​wiele właściwości łańcucha bitcoinów z drzewa jest ekscytujących i wydaje się prawdopodobne, że przyszłość Bitcoin będzie wyglądać zupełnie inaczej niż obecna architektura. Aby uzyskać polityczną chwilę, taka gęsta debata techniczna przypomina nam, dlaczego próba nałożenia przedwcześnie szerokich regulacji na Bitcoin jest tak głupia: nikt, nawet ludzie budujący protokół, nie wie, jak Bitcoin będzie wyglądał za kilka lat. czas, a nawet przyjmując hojne pojęcie ostrożnego i dobrze nastawionego regulatora, byłoby bardzo łatwo zlikwidować uciążliwe prawa, które nie mają sensu, zważywszy na przemiany, które przeszedł Bitcoin.

Literatura uzupełniająca:

Aby przeczytać więcej o łańcuchach bocznych, możesz przeczytać szczegółową propozycję dotyczącą białej księgi tutaj.

Aby przeczytać wstępną techniczną dyskusję na temat łańcuchów drzewa Petera Todda, sprawdź jego e-mail na ten temat na liście dyskusyjnej rozwijanej przez Bitcoin. Możesz też posłuchać Todda i kilku innych luminarzy Bitcoinów omawiających łańcuchy boczne i drzewa za pomocą podtytułu Let's Talk Bitcoin.

Czytniki techniczne i deweloperzy Bitcoin: Zostało to napisane zgodnie z moim obecnym zrozumieniem tych propozycji. Jeśli wydaje mi się, że zrobiłem jakieś gafy techniczne, proszę dać mi znać w komentarzach, a zrobię co w mojej mocy, aby je skorygować tak szybko, jak to możliwe.

Aktualizacja: niektóre frazowanie zostało zmienione, zgodnie z sugestią Petera Todda, aby dokładniej odzwierciedlać charakter 51% ataku na łańcuch boczny.

Popularne Wiadomości