Co je to dvojité utrácení (double waste) v blockchainu

Pokud se ponoříte do historie vytváření krypto-měn, možná zjistíte, že i před příchodem Bitcoinu se mnoho nadšenců pokusilo vytvořit decentralizované platební prostředky, ale všichni se opírali o neschopnost zabránit dvojím výdajům v rámci systému. Řešení tohoto problému bylo zjištěno až o několik let později.

Co je dvojí odpad a jak k němu dochází

Hlavním problémem při vytváření stabilního systému decentralizovaných plateb byla možnost kopírovat platební transakce, což způsobuje riziko opětovného vynakládání prostředků. Centralizované platební systémy zabraňují opětovnému převodu prostředků přítomností kontrolního serveru, který kontroluje všechny transakce pomocí specifického mechanismu.

Dvojí výdaje nebo dvojí výdaje- přečerpání výdajů. Dvojité výdaje v decentralizovaných systémech často nastávají v okamžiku, kdy jeden odesílatel odešle stejnou částku finančnímu prostředku několika příjemcům v časovém období před zařazením první transakce do bloku.

Předpokládejme, že v reálném životě se člověk rozhodl koupit si kávu za 1 dolar v jedné z kaváren. Při platbě peněz je převedena na pokladní instituce a re-utrácet je nemožné. Digitální měny se také liší v tom, že nejsou fyzicky převedeny, takže před kontrolou a provedením transakce zůstávají finanční prostředky v peněžence, což znamená, že v intervalu mezi odesláním transakce a skutečností jejího dokončení je po kontrole možná opakovaná platba.

Inskutečný život může být také dvojitý odpad. Například, bezohledný realitních kanceláří mohou opakovaně prodávat jeden majetek a tato příležitost je vytvořena vzhledem k tomu, že reissuing novému majiteli může trvat poměrně hodně času, ale zatím není vlastnictví vydáno kupujícímu nemovitosti zůstává v držení předchozího vlastníka.

Jak nebezpečný dvojitý odpad je

Dvojí plýtvání penězi způsobuje věcnou škodu prodávajícímu, který zboží odeslal a finanční prostředky nedostal. Diskredituje krypto-měnu jako platební prostředek a zabraňuje všudypřítomné distribuci. Problém dvojitých výdajů také vede ke snížení hodnoty digitálního aktiva, neboť investoři ztrácejí důvěru v bezpečnost systému.

Druhy útoků

Závod

Pokud prodávající spolupracuje na platbách, které mají nulovou konfirmaci, pak se může stát obětí útoku v době, kdy jsou pro stejnou částku vytvořeny dvě transakce a odeslány do různých obchodů. Finanční prostředky tak skutečně obdrží pouze jeden z příjemců. Mince budou převedeny první transakcí, která bude přidána doblockchainu .

Finneyův útok

Riziková zóna pro tento útok také obsahuje služby, které přijímají platby s nulovým potvrzením, pouze s takovým útokem bude rovněž nutné, aby spoluvlastník nerostu poslal kopii transakce do bloku.

Útok Finnyho je falešným dvojitým odpadem, jehož podstatou je, že horník odešle opakovanou operaciPrvní platba se odešle na síťovou kontrolu, v tomto případě se vytvoří vidlice, při které kolektivní rozhodnutí horníků přijme pouze jednu transakci. V tomto případě prodávající, čekající na první transakci, již zboží prodal.

Útok Vector76

Jedná se o kombinovaný útok sestávající ze dvou výše popsaných útoků. Vector76 je založen na úmyslném rozvětvení bloků transakcí a umožňuje vám utrácet peníze dvakrát s jedním potvrzením. Zde používáme skutečnost, že s postupným zařazením různých transakcí do bloků bude část sítě vidět transakce platné a druhá část neplatná. Útok trvá pouze 10 minut a během této doby může útočník získat služby nebo vybrat peníze ze dvou transakcí.

Útok hrubou silou

\ t

Tento útok je uskutečnitelný, i když prodávající zasílá zboží pouze po obdržení několika potvrzení, ale jeho provedení vyžaduje vysokou moc útočícího zařízení. Její podstata spočívá v tom, že útočník odešle transakci k úhradě za zboží, přičemž bude pokračovat v kontrole bloků transakcí, do kterých bude zahrnut.

Poté, co obchod obdrží požadovaný počet potvrzení, dopraví zboží a útočník v tomto okamžiku prodá řetěz, pokud nalezne více potvrzení a dostane zpět finanční prostředky. Pokud se vám nepodaří shromáždit více potvrzení pro jinou transakci, útok se neuskuteční a prostředky budou převedeny na účet příjemce.

Úspěch tohoto útoku je přímo závislý napravomoci podvodníka a počtu požadovaných potvrzení. Pokud je například útočník 10% celkového výkonu sítě a příjemce čeká na 6 potvrzení, je úspěšnost útoku 0,01%.

51% napadení

Pokud útočníkdrží většinu moci sítě , pak je možné podle výše popsaného schématu dvojí výdaje mincí, a to pouze s absolutní zárukou úspěchu. Útočník získá schopnost generovat bloky rychleji než zbytek sítě a vytvářet jejich blokové řetězce pro nečestné transakce, které jsou delší než ty správné.

Jak vyrábět dvojitý odpad

\ t

Informace v registru blockchainu jsou přístupné všem. Každý může kopírovat digitální mince a pokusit se je zaplatit dvakrát. Horníci mohou kontrolovat dostupnost peněžních prostředků na účtu odesílatele pouze v určitém časovém období, takže pokud využijete tento okamžik, mohou být stejné mince zaslány dvakrát, dokud nebudou prostředky odečteny z předchozí transakce.

V nechráněných systémech se dvojitý odpad omezuje na opakované transakce v časovém intervalu do doby, než dosud nebyla potvrzena předchozí transakce. V tomto případě příjemce obdrží minci, jejíž transakce byla poprvé zařazena do bloku.

U bezpečnějších systémů musí mít útočník také dostatečnou kapacitu, aby našel více důkazů pro nesprávnou transakci a vrátil své prostředky zpět po zamítnutí první transakce.

Jak zabránit zdvojenívýdaje

V současné době mají platební systémy fungující na úrovni bloků dva systémy pro zamezení dvojího vynakládání peněz:

  • registr otevřených transakcí;
  • zvláštní ověřovací mechanismus.

Blockchain uchovává chronologický záznam o všech registracích plateb a každý nový blok obsahuje informace o všech předchozích transakcích od okamžiku založení. Všechny transakce jsou přiřazeny času transakce a pomáhají zjistit, která transakce je primární a která je zkopírována.

Například odesílatel si přeje dvojnásobné plýtvání penězi na účet 1 BTC. Tuto minci zašle prvnímu prodávajícímu a s využitím skutečnosti, že finanční prostředky ještě nebyly odepsány, chce druhého prodávajícího oklamat a znovu mu zaslat stejnou minci.

Obě transakce jsou převedeny do souboru nepotvrzených transakcí a jsou předloženy k přezkoumání, bude provedena pouze první transakce a druhá transakce bude uznána za falešnou, protože nebude shromažďovat požadovaný počet potvrzení.

Proto, aby nedošlo k podvodu, musí prodávající posílat zboží pouze po obdržení potvrzení ze sítě, a nikoliv skutečnosti zaslání platby od kupujícího. Transakce se 6 potvrzeními jsou považovány za bezpečné před dvojitým odpadem.

Závěry

Dvojí odpad z digitálních mincí je možný z toho důvodu, že až do potvrzení transakce zůstávají finanční prostředky na účtu odesílatele. V tomto případě je možné vytvořit decentralizované platební systémyvzhledem k tomu, že v blocích jsou zaznamenány pouze transakce s více potvrzeními a druhá větev s opakovaným odpadem je považována za neplatnou a je zamítnuta.

V blockchainu je však stále možné vytvořit dvojitý odpad, který však vyžaduje dostatek energie. Bez nich může být prodávající podveden pouze tehdy, pokud zboží zasílá na platby s 0 potvrzeními.