Podobné články

Uzly Bitcoinu jsou nyní o krok blíže k okamžité synchronizaci

Klienti Bitcoin Light se nyní mohou téměř okamžitě synchronizovat s koncem blockchainu díky novému vývoji, který umožnil bitcoinový startup ZeroSync a jeho práce na důkazech nulové znalosti (ZK). ZeroSync se nakonec snaží umožnit totéž plným uzlům.

Důkazy ZK umožňují proverovi vygenerovat krátký matematický výrok, který ověřovateli dokazuje, že daný výpočet je správný, aniž by o něm prozradil jakékoli podrobnosti. Konstrukce tohoto důkazu může být výpočetně nákladná, ale výrok, který poskytuje, je vždy velmi kompaktní, bez ohledu na to, jak velká byla data sloužící jako vstup pro výpočet důkazu – umožňuje bleskurychlé ověření správnosti těchto dat s matematickou jistotou. V bitcoinu může být tento matematický trik pro uzly a klienty velmi užitečný.

Plné uzly bitcoinu jsou notoricky známé tím, že musí stáhnout a ověřit každý jednotlivý údaj, který tvoří blockchain, a to od jeho vzniku v lednu 2009 až do současnosti. Vzhledem k obtížím při škálování takto komplexního nastavení předpokládal Satoshi Nakamoto v bitcoinové bílé knize jiný typ klientů, kteří by byli schopni ověřovat své příchozí platby bez spuštění plného uzlu.

Klienti Bitcoin light využívají zjednodušený mechanismus ověřování plateb (SPV). Po přijetí platby se klient dotazuje uzlů sítě, aby získal hlavičky nejdelšího řetězce. Poté je schopen najít blok, do kterého byla příchozí transakce přidána – což ukazuje, že síťové uzly ji přijaly jako platnou. Čím více bloků se do řetězce přidá po tomto bloku, tím více potvrzení získá light klient, že platba byla platná a přijata sítí do bloku.

Aniž by bylo nutné měnit konsensus bitcoinu, důkazy ZK toto nastavení vylepšují tím, že komprimují hlavičky do jediného důkazu. Podobně jako každý blok bitcoinu efektivně komprimuje data svých transakcí do Merkleova stromu a do své hlavičky zahrnuje kořen tohoto stromu, práce ZeroSync bere každou hlavičku bloku bitcoinu a dávkuje je do dalšího Merkleova stromu. Tento proces umožňuje syntetizovat řetězec hlaviček do krátkého a lehkého kusu dat – důkazu

Důkaz řetězce hlaviček je schopen rychle prokázat, zda je daná hlavička bloku zahrnuta do řetězce. Záhlaví bloku pak lze využít k potvrzení, zda byla konkrétní transakce do daného bloku zahrnuta. Tento postup je velmi podobný dříve popsané metodě SPV, ale je efektivnější. Namísto toho, aby bylo nutné uchovávat úplnou kopii každé hlavičky v blockchainu pro SPV, s důkazy ZK stačí lehkému klientovi uchovávat pouze tento malý důkaz řetězce hlavičky, přičemž je schopen synchronizovat se s nejnovějším stavem řetězce během několika sekund.

V konečném důsledku je důkaz řetězce hlavičky schopen prokázat, že každý blok v řetězci splňoval požadavek na obtížnost v době, kdy byl těžen. Jinými slovy, ověření důkazu header chain umožňuje uživateli nebo klientovi mít jistotu, že každý blok bitcoinu až do dané výšky byl vytěžen správně a splňoval kritéria obtížnosti těžby v daném okamžiku.“

Vydání prvního kompletního důkazu header chain ZK bylo prvním milníkem společnosti ZeroSync. K dosažení své větší vize – poskytnout úplné ověření historického blockchainu plným uzlům, aniž by uživatelé museli stahovat a zpracovávat – musí tým zaškrtnout další dvě políčka. Druhý by posunul důkaz řetězce hlaviček o stupeň výš a umožnil uzlu synchronizaci podobně jako funkce Assume Valid v jádře Bitcoinu. Třetí a poslední z nich by zajistil předpokládanou kompletní synchronizaci bitcoinového blockchainu:

Assume Valid je volba v jádře Bitcoinu, která je ve výchozím nastavení zapnutá a která předpokládá, že všechny skripty až do dané výšky bloku jsou platné. To znamená, že nové plné uzly synchronizující blockchain s počátečním stahováním bloků (IBD) dostanou možnost přeskočit ověřování skriptů od bloku Genesis až do výšky bloku stanovené klientem Bitcoin Core při daném vydání. Tyto skripty jsou datovou částí transakcí svědků – většinou se jedná o podpisy řešící blokační skripty a odemykající prostředky k utracení, stejně jako časové zámky a další naprogramované podmínky utracení. Uživatelé mají možnost nastavit `assumevalid=0` a přinutit svého klienta, aby kromě ověření ostatního obsahu bloku provedl i úplné ověření všech skriptů. Obecným a poměrně bezpečným předpokladem, který stojí za zapnutím Assume Valid ve výchozím nastavení, však je, že do dané výšky bloku bylo prokázáno dostatečné množství důkazů práce, díky nimž je možné věřit, že skripty, které mu předcházejí, jsou platné.

Střední nabídka ZeroSync, až bude dokončena, umožní uživatelům bitcoinu synchronizovat své uzly podobně jako výchozí Bitcoin Core IBD. Uzel si stáhne všechna data od vzniku bitcoinu až do současnosti, ale ověří pouze data svědků po předpokládanéplatné výšce. Nezbytnou součástí rovnice je také sada UTXO. K jejímu řešení využívá ZeroSync projekt Utreexo, který se rovněž snaží zvýšit efektivitu synchronizace bitcoinových uzlů. Utreexo poskytuje nejnovější sadu UTXO v daném bloku a ZeroSync ji dokáže přidat do svého nastavení založeného na důkazech ZK. Výsledkem je mnohem kratší důkaz hlavičkového řetězce a kompaktnější a efektivnější sada UTXO, kterou mohou klienti využít pro uspokojení svých potřeb v oblasti ověřování plateb

Nabídka týmu nejvyšší úrovně posune věci ještě o krok dál a umožní uzlům synchronizovat se s nejnovějším stavem bitcoinu, aniž by se předpokládalo, že nějaký skript je platný. Pomocí důkazů ZK by plné uzly byly schopny dosáhnout mnohem rychlejší počáteční synchronizace s možná ještě většími bezpečnostními zárukami než při výchozím nastavení jádra bitcoinu, které používá assumevalid

Je důležité poznamenat, že i když uživatelé jádra bitcoinu vypnou assumevalid – ověří všechny skripty a dosáhnou podobných bezpečnostních předpokladů jako u nabídky nejvyšší úrovně ZeroSync – větší hodnotou této nabídky je stále podstatný nárůst efektivity a rychlosti ověření všech těchto informací. Zatímco bitcoinový blockchain v současné době obsahuje 510 GB dat, přístup společnosti ZeroSync po dokončení umožní mnohem rychlejší proces vzhledem k výrobě krátkého a lehkého důkazu o velikosti něco málo přes 1 MB – což představuje zlepšení výkonu o několik řádů oproti standardnímu IBD využívajícímu jádro Bitcoinu a zároveň zajistí, že budou dodržena naprosto stejná pravidla konsensu.

Zvýšení efektivity bude mít stále větší význam, protože bitcoinový blockchain roste blok za blokem. Nakonec by se stahování a ověřování celého řetězce mohlo stát neúnosným z hlediska šířky pásma a úložného prostoru – zejména v částech světa, kde je přístup k vysokorychlostnímu internetu a větším pevným diskům omezený nebo drahý.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Diskuze

{{ reviewsTotal }} Review
{{ reviewsTotal }} Reviews
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}