science >> Wetenschap >  >> Elektronica

Efficiëntere cryptocurrency vermindert de gegevens die nodig zijn om lid te worden van het netwerk en transacties te verifiëren met 99 procent

MIT-onderzoekers hebben een nieuwe veilige cryptocurrency ontwikkeld die de gegevens die gebruikers nodig hebben om zich bij het netwerk aan te sluiten en transacties te verifiëren tot 99 procent vermindert, vergeleken met de populaire cryptocurrencies van vandaag, wat een meer schaalbaar netwerk zou kunnen betekenen. Krediet:Christine Daniloff

MIT-onderzoekers hebben een nieuwe cryptocurrency ontwikkeld die de gegevens die gebruikers nodig hebben om zich bij het netwerk aan te sluiten en transacties te verifiëren drastisch vermindert - tot 99 procent vergeleken met de huidige populaire cryptocurrencies. Dit betekent een veel schaalbaarder netwerk.

cryptovaluta, zoals de populaire Bitcoin, zijn netwerken gebouwd op de blockchain, een financieel grootboek opgemaakt in een reeks afzonderlijke blokken, elk met transactiegegevens. Deze netwerken zijn gedecentraliseerd, wat betekent dat er geen banken of organisaties zijn om fondsen en saldi te beheren, dus gebruikers bundelen hun krachten om de transacties op te slaan en te verifiëren.

Maar decentralisatie leidt tot een schaalbaarheidsprobleem. Om lid te worden van een cryptocurrency, nieuwe gebruikers moeten alle transactiegegevens van honderdduizenden afzonderlijke blokken downloaden en opslaan. Ze moeten deze gegevens ook opslaan om de service te gebruiken en transacties te verifiëren. Dit maakt het proces voor sommigen traag of rekenkundig onpraktisch.

In een paper die volgende maand wordt gepresenteerd op het Network and Distributed System Security Symposium, de MIT-onderzoekers introduceren Vault, een cryptocurrency waarmee gebruikers lid kunnen worden van het netwerk door slechts een fractie van de totale transactiegegevens te downloaden. Het bevat ook technieken die lege accounts verwijderen die ruimte innemen, en maakt verificaties mogelijk met alleen de meest recente transactiegegevens die zijn verdeeld en gedeeld over het netwerk, het minimaliseren van de vereisten voor gegevensopslag en verwerking van een individuele gebruiker.

Bij experimenten, Vault verminderde de bandbreedte voor aansluiting op zijn netwerk met 99 procent in vergelijking met Bitcoin en 90 procent in vergelijking met Ethereum, die wordt beschouwd als een van de meest efficiënte cryptocurrencies van vandaag. belangrijk, Vault zorgt er nog steeds voor dat alle nodes alle transacties valideren, het bieden van een strakke beveiliging die gelijk is aan zijn bestaande tegenhangers.

"Momenteel zijn er veel cryptocurrencies, maar ze stuiten op knelpunten met betrekking tot het toetreden tot het systeem als nieuwe gebruiker en met opslag. Het brede doel hier is om cryptocurrencies goed te laten schalen voor steeds meer gebruikers, " zegt co-auteur Derek Leung, een afgestudeerde student in het Computer Science and Artificial Intelligence Laboratory (CSAIL).

Naast Leung op het papier zijn CSAIL-onderzoekers Yossi Gilad en Nickolai Zeldovich, die tevens hoogleraar is bij de afdeling Elektrotechniek en Informatica (EECS); en recent alumnus Adam Suhl '18.

Springen over blokken

Elk blok in een cryptocurrency-netwerk bevat een tijdstempel, de locatie in de blockchain, en een reeks van cijfers en letters met een vaste lengte, een "hasj" genoemd, " dat is in feite de identificatie van het blok. Elk nieuw blok bevat de hash van het vorige blok in de blockchain. Blokken in Vault bevatten ook maximaal 10, 000 transacties — of 10 megabyte aan gegevens — die allemaal door gebruikers moeten worden geverifieerd. De structuur van de blockchain en, vooral, de keten van hasj, zorgt ervoor dat een tegenstander de blokken niet kan hacken zonder detectie.

Nieuwe gebruikers sluiten zich aan bij cryptocurrency-netwerken, of "bootstrap, " door alle eerdere transactiegegevens te downloaden om ervoor te zorgen dat ze veilig en up-to-date zijn. Om vorig jaar lid te worden van Bitcoin, bijvoorbeeld, een gebruiker zou 500 downloaden, 000 blokken van in totaal ongeveer 150 gigabyte. Gebruikers moeten ook alle rekeningsaldi opslaan om nieuwe gebruikers te helpen verifiëren en ervoor te zorgen dat gebruikers voldoende saldo hebben om transacties te voltooien. Opslagvereisten worden aanzienlijk, terwijl Bitcoin zich uitbreidt tot meer dan 22 miljoen accounts.

De onderzoekers bouwden hun systeem bovenop een nieuw cryptocurrency-netwerk genaamd Algorand, uitgevonden door Silvio Micali, de Ford Professor of Engineering aan het MIT - dat is veilig, gedecentraliseerd, en schaalbaarder dan andere cryptocurrencies.

Met traditionele cryptocurrencies, gebruikers concurreren om vergelijkingen op te lossen die blokken valideren, met de eerste die de vergelijkingen oplost die geld ontvangen. Naarmate het netwerk groter wordt, dit vertraagt ​​de verwerkingstijden van transacties. Algorand gebruikt een "proof-of-stake"-concept om blokken efficiënter te verifiëren en nieuwe gebruikers beter in staat te stellen lid te worden. Voor elk blok er wordt een representatieve verificatiecommissie geselecteerd. Gebruikers met meer geld of een aandeel in het netwerk hebben een grotere kans om geselecteerd te worden. Om lid te worden van het netwerk, gebruikers verifiëren elk certificaat, niet elke transactie.

Maar elk blok bevat enkele belangrijke informatie om het certificaat onmiddellijk ervoor te valideren, wat betekent dat nieuwe gebruikers moeten beginnen met het eerste blok in de keten, samen met zijn certificaat, en valideer ze achtereenvolgens in volgorde, wat tijdrovend kan zijn. Om de zaken te versnellen, de onderzoekers geven elk nieuw certificaat verificatie-informatie op basis van een blok een paar honderd of 1, 000 blokken erachter - een 'broodkruimel' genoemd. Wanneer een nieuwe gebruiker lid wordt, ze matchen het paneermeel van een vroeg blok met een paneermeel 1, 000 blokken verder. Die broodkruimel kan worden gekoppeld aan een andere broodkruimel 1, 000 blokken verder, enzovoort.

"De papieren titel is een woordspeling, " zegt Leung. "Een kluis is een plek waar je geld kunt bewaren, maar met de blockchain kun je ook over blokken 'springen' wanneer je lid wordt van een netwerk. Als ik aan het bootstrappen ben, Ik heb alleen een blok uit het verleden nodig om in de toekomst een blokkade te verifiëren. Ik kan alle tussenliggende blokken overslaan, wat ons veel bandbreedte bespaart."

Verdeel en gooi weg

Om de vereisten voor gegevensopslag te verminderen, de onderzoekers ontwierpen Vault met een nieuw "sharding" -schema. De techniek verdeelt transactiegegevens in kleinere delen - of scherven - die het via het netwerk deelt, zodat individuele gebruikers slechts kleine hoeveelheden gegevens hoeven te verwerken om transacties te verifiëren.

Om delen op een veilige manier te implementeren, Vault gebruikt een bekende gegevensstructuur die een binaire Merkle-boom wordt genoemd. In binaire bomen, een enkele topknoop vertakt zich in twee "kinder" knooppunten, en die twee knooppunten vallen elk uiteen in twee onderliggende knooppunten, enzovoort.

In Merkle-bomen, het bovenste knooppunt bevat een enkele hash, zogenaamde root-hash. Maar de boom is opgebouwd uit de bodem, omhoog. De boom combineert elk paar kinderhashes langs de onderkant om hun bovenliggende hash te vormen. Het herhaalt dat proces in de boom, het toewijzen van een bovenliggend knooppunt van elk paar onderliggende knooppunten, totdat het alles in de root-hash combineert. Bij cryptocurrencies, het bovenste knooppunt bevat een hash van een enkel blok. Elk onderste knooppunt bevat een hash die de saldo-informatie aangeeft over één rekening die betrokken is bij één transactie in het blok. De balans-hash en block-hash zijn met elkaar verbonden.

Om een ​​transactie te verifiëren, het netwerk combineert de twee onderliggende knooppunten om de hash van het bovenliggende knooppunt te krijgen. Het herhaalt dat proces dat de boom opwerkt. Als de laatste gecombineerde hash overeenkomt met de root-hash van het blok, de transactie kan worden geverifieerd. Maar met traditionele cryptocurrencies, gebruikers moeten de volledige boomstructuur opslaan.

Met kluis, de onderzoekers verdelen de Merkle-boom in afzonderlijke scherven die zijn toegewezen aan afzonderlijke groepen gebruikers. Elk gebruikersaccount slaat alleen de saldi van de accounts op in de toegewezen shard, evenals root-hashes. De truc is dat alle gebruikers één laag knooppunten opslaan die de hele Merkle-boom doorsnijdt. Wanneer een gebruiker een transactie van buiten zijn shard moet verifiëren, ze traceren een pad naar die gemeenschappelijke laag. Vanuit die gemeenschappelijke laag, ze kunnen het saldo van de rekening buiten hun scherf bepalen, en ga normaal door met valideren.

"Elke scherf van het netwerk is verantwoordelijk voor het opslaan van een kleiner deel van een grote gegevensstructuur, maar dit kleine stukje stelt gebruikers in staat om transacties van alle andere delen van het netwerk te verifiëren, ' zegt Leung.

Dit verhaal is opnieuw gepubliceerd met dank aan MIT News (web.mit.edu/newsoffice/), een populaire site met nieuws over MIT-onderzoek, innovatie en onderwijs.