Drain the Swap: lessen over Loving the Atomic Swap

CoinMarketCap bevat momenteel meer dan 1.600 verschillende cryptocurrencies, en het aantal nieuwe munten zal naar verwachting toenemen en waarschijnlijk dramatisch toenemen.

Als een individu slechts één cryptocurrency bezit en zijn hele leven alleen in die ene cryptocurrency zal handelen, dan zijn alle transacties eenvoudige transacties op die ene blockchain. (Per slot van rekening gebruiken veel mensen over de hele wereld misschien hun hele leven alleen de fiat-valuta van hun gegeven natie.)

In de grenzeloze en dynamische wereld van cryptocurrency bezitten mensen echter vaak meer dan één type munt. Een persoon kan een portefeuille met veel munten hebben. Een persoon kan een gevarieerde portefeuille hebben die Bitcoin, Ether, Litecoin, Monero en misschien wat meer obscure munten omvat als speculatieve investeringen. Elk van deze munten bestaat op hun eigen blockchain en geen van deze blockchains praat met elkaar.

Op een gegeven moment wilt u misschien uw ether inruilen voor bitcoin, uw Monero voor Litecoin, uw Litecoin voor Ether, uw Bitcoin voor iets, of uw iets voor iets anders.. In een gecentraliseerde context kunt u dit op een beurs doen en erop vertrouwen dat de beurs de details van de transactie afhandelt.

Deze benadering is niet anders dan het verwerken van een transactie via een bank of het uitvoeren van een betaling met een creditcard. De koper en de verkoper vertrouwen er allebei op dat de gecentraliseerde bank het geld in het proces vergrendelt en ervoor zorgt dat alle partijen over de juiste activa beschikken, of dat een terugbetaling wordt verwerkt als de transactie niet naar ieders tevredenheid kan worden voltooid.

Gecentraliseerde beurzen werken op precies dezelfde manier als gecentraliseerde banken.

Maar er zijn een aantal goede redenen waarom u uw transacties niet via een gecentraliseerde autoriteit zou willen doen. Misschien vertrouwt u de gecentraliseerde autoriteit niet. De vergoedingen die de centrale autoriteit in rekening brengt, zijn mogelijk te hoog.

De website van de gecentraliseerde autoriteit kan uitvallen of andere toegankelijkheidsproblemen hebben. U kunt een zekere mate van privacy opofferen door gebruik te maken van een gecentraliseerde autoriteit.

In een betrouwbare, gedecentraliseerde omgeving zou een atomaire ruil tussen ketens alles doen wat een gecentraliseerde autoriteit zou doen. Het “cross-chain” karakter zorgt voor een brug tussen afzonderlijke blockchains. De “atomaire” aard zorgt ervoor dat de transactie (de “ruil”) met succes wordt voltooid of dat alle activa worden teruggegeven aan hun oorspronkelijke eigenaren.

Cross-Chain Atomic Swaps 101

Live action shot van een atomaire ruil.

Cross-chain atomaire swaps kunnen worden geïmplementeerd op elke blockchain die hashlocks en timelocks ondersteunt. Stel dat Alice a-munten heeft, en Bob heeft b-munten, en ze willen ruilen. Ze hebben geen enkele reden om elkaar te vertrouwen, en ze willen geen gebruik maken van een gecentraliseerde centrale. Een overzicht op hoog niveau van hoe dit zou werken in een cross-chain atomaire swap is als volgt.

1) Alice kiest een willekeurige waarde X en hasht deze om de privé-hashlock te maken om de transactie te vergrendelen. Ze houdt deze waarde voorlopig voor zichzelf en boekt transactie 1 om haar a-munten naar Bob te sturen. Deze fondsen kunnen momenteel niet worden uitgegeven omdat ze zijn vergrendeld met de hashlock.

2) Bob wacht tot transactie 1 is bevestigd, plaatst vervolgens transactie 2 en stuurt zijn b-coin naar Alice. Hij weet nog niet de waarde van X om de hashlock te ontgrendelen, dus al het geld kan op dit moment niet worden uitgegeven.

3) Alice wacht op bevestiging van transactie 2, waarna ze transactie 3 plaatst, waarin de waarde van X met Bob wordt gedeeld.

4) Bob boekt transactie 4 waarmee het geld wordt ontgrendeld. Bob heeft nu munten van Alice die hij kan uitgeven, en Alice heeft munten van Bob die ze kan uitgeven.

Alle vier de transacties moeten worden voltooid om de algehele transactie te voltooien; dit is wat er wordt bedoeld met het woord “atomair” om dit proces te beschrijven.

Een goed tijdbeheer is vereist om het bovenstaande protocol te laten werken.

Als Alice bijvoorbeeld om welke reden dan ook transactie 3 nooit plaatst, kan al het geld worden bevroren en voor altijd verloren gaan. Dit is waar een timelock handig is. Als transactie 3 niet binnen een bepaald tijdsbestek plaatsvindt, annuleert de timelock de transactie en worden alle fondsen teruggestort naar hun oorspronkelijke eigenaren.

En aangezien Alice de waarde X heeft om mee te beginnen, moet de implementatie heel voorzichtig zijn om eventuele shenanigans te voorkomen die Alice zou proberen. De tijd tussen Transactie 3 en Transactie 4 is hierbij ook belangrijk. Als het algoritme niet correct is geïmplementeerd, bestaan ​​er exploits waarbij Alice de waarde van X kan delen, maar Bob geen tijd geeft om zijn munten uit de transactie te halen.

De bovenstaande benadering beschrijft de TierNolan-algoritme (voor een bespreking van het onderwerp, zie deze thread: https://bitcointalk.org/index.php?topic=193281.msg2224949. Dit protocol kent verschillende variaties. Als Alice en Bob elkaar bijvoorbeeld vertrouwen, kan het aantal transacties worden verminderd en vereenvoudigd.

Een handige plek om dit protocol te lokaliseren, is om veel van de verwerking van de primaire blockchains te halen en de logica in een zijketen zoals het Lightning Network te implementeren. , en het zou het algehele proces versnellen. Een uitleg van het Lightning Network vind je hier: https://coincentral.com/lightning-network-beginners-guide/

Laatste gedachten

Er bestaan ​​andere algoritmen, en om goede redenen. Een geheel andere manier om cross-chain atomaire swaps los van het TierNolan-protocol te doen, zou zijn om een ​​geheel nieuwe blockchain te creëren buiten zowel de a-coin blockchain als de b-coin blockchain.

Deze nieuwe blockchain zou een tussenpersoon zijn tussen de twee afzonderlijke cryptocurrencies. Deze nieuwe blockchain zou zowel a-munten als b-munten begrijpen en transacties tussen beide kunnen verwerken. Deze aanpak vereist netwerkknooppunten voor deze nieuwe blockchain en miners die bereid zijn om de middelen te investeren om de transacties te verwerken.

Het nieuwe netwerk zou een bestuursmodel vereisen om ervoor te zorgen dat transacties eerlijk en veilig worden verwerkt en dat geen van de partijen enig voordeel heeft ten opzichte van de andere..

Ongeacht de gebruikte methode, in een gedecentraliseerde, vertrouwde wereld met een veelvoud aan cryptocurrencies in gebruik, zullen cross-chain atomaire swaps onvermijdelijk een belangrijk onderdeel worden van cryptocurrency-handel..