RGB Magic: contracten aan klantzijde ingeschakeld Bitcoin

By Bitcoin Tijdschrift - 1 jaar geleden - Leestijd: 9 minuten

RGB Magic: contracten aan klantzijde ingeschakeld Bitcoin

RGB is een methode voor eigendomsverificatie waarop is voortgebouwd Bitcoin dat de voortzetting ervan mogelijk maakt Bitcoin's eigenschappen.

Dit is een opinieartikel van Federico Tenga, die al heel lang bijdraagt ​​aan Bitcoin projecten met ervaring als start-up oprichter, consultant en opleider.

Beeldbron

De term ‘slimme contracten’ dateert van vóór de uitvinding van de blockchain Bitcoin zelf. De eerste vermelding is in a Artikel uit 1994 van Nick Szabo, die slimme contracten definieerde als een ‘gecomputeriseerd transactieprotocol dat de voorwaarden van een contract uitvoert’. Terwijl volgens deze definitie BitcoinDankzij de scripttaal die slimme contracten vanaf het allereerste blok ondersteunde, werd de term pas later gepopulariseerd door Ethereum-promotoren, die de oorspronkelijke definitie verdraaiden als "code die redundant wordt uitgevoerd door alle knooppunten in een mondiaal consensusnetwerk"

Hoewel het delegeren van de uitvoering van code aan een wereldwijd consensusnetwerk voordelen heeft (het is bijvoorbeeld gemakkelijk om contracten zonder contract te implementeren, zoals de vaak geautomatiseerde marktmakers), heeft dit ontwerp één grote tekortkoming: gebrek aan schaalbaarheid (en privacy). Als elk knooppunt in een netwerk redundant dezelfde code moet uitvoeren, blijft de hoeveelheid code die daadwerkelijk kan worden uitgevoerd zonder de exploitatiekosten van een knooppunt buitensporig te verhogen (en dus de decentralisatie te behouden) schaars, wat betekent dat slechts een klein aantal contracten kan worden uitgevoerd. uitgevoerd.

Maar wat als we een systeem zouden kunnen ontwerpen waarbij de voorwaarden van het contract alleen worden uitgevoerd en gevalideerd door de betrokken partijen, in plaats van door alle leden van het netwerk? Laten we ons het voorbeeld voorstellen van een bedrijf dat aandelen wil uitgeven. In plaats van het uitgiftecontract openbaar te publiceren op een grootboek en dat grootboek te gebruiken om alle toekomstige eigendomsoverdrachten bij te houden, zou het de aandelen eenvoudig onderhands kunnen uitgeven en aan de kopers het recht kunnen overdragen om ze verder over te dragen. Vervolgens kan het recht om het eigendom over te dragen aan elke nieuwe eigenaar worden overgedragen alsof het een wijziging van het oorspronkelijke uitgiftecontract betreft. Op deze manier kan elke eigenaar onafhankelijk verifiëren dat de aandelen die hij of zij heeft ontvangen echt zijn door het oorspronkelijke contract te lezen en te valideren dat de hele geschiedenis van wijzigingen die de aandelen hebben verplaatst, in overeenstemming is met de regels die in het oorspronkelijke contract zijn uiteengezet.

Dit is eigenlijk niets nieuws, het is inderdaad hetzelfde mechanisme dat werd gebruikt om eigendom over te dragen voordat openbare registers populair werden. In het Verenigd KoninkrijkZo was het pas in de jaren negentig verplicht om een ​​onroerend goed te registreren toen de eigendom ervan werd overgedragen. Dit betekent dat nog steeds meer dan 90% van het land in Engeland en Wales niet geregistreerd is. Als u een niet-geregistreerd onroerend goed koopt, zou u, in plaats van in een register te controleren of de verkoper de echte eigenaar is, een ononderbroken eigendomsketen moeten verifiëren die minstens 15 jaar teruggaat (een periode die lang genoeg wordt geacht om aan te nemen dat de verkoper voldoende eigendomsrecht op het onroerend goed). Hierbij moet u ervoor zorgen dat een eventuele eigendomsoverdracht correct heeft plaatsgevonden en dat eventuele hypotheken die bij eerdere transacties zijn gebruikt, volledig zijn afbetaald. Dit model heeft als voordeel dat er meer privacy is dan eigendom, en dat u niet afhankelijk bent van de beheerder van het openbare kadaster. Aan de andere kant maakt het de verificatie van het eigendom van de verkoper veel ingewikkelder voor de koper.

bron: Eigendomsakte van niet-geregistreerd onroerend goed

Hoe kan de overdracht van niet-geregistreerde eigendommen worden verbeterd? Ten eerste door er een gedigitaliseerd proces van te maken. Als er code is die door een computer kan worden uitgevoerd om te verifiëren dat de hele geschiedenis van eigendomsoverdrachten in overeenstemming is met de oorspronkelijke contractregels, wordt kopen en verkopen veel sneller en goedkoper.

Ten tweede, om het risico te vermijden dat de verkoper zijn activa dubbel uitgeeft, moet een systeem van bewijs van publicatie worden geïmplementeerd. We zouden bijvoorbeeld een regel kunnen implementeren dat elke eigendomsoverdracht moet plaatsvinden op een vooraf bepaalde plek in een bekende krant (plaats bijvoorbeeld de hasj van de eigendomsoverdracht in de rechterbovenhoek van de eerste pagina van de New York Keer). Aangezien je de hash van een overboeking niet twee keer op dezelfde plek kunt plaatsen, voorkom je dubbele bestedingspogingen. Het gebruik van een bekende krant voor dit doel heeft echter enkele nadelen:

Voor het verificatieproces moet u veel kranten kopen. Niet erg praktisch. Elk contract heeft een eigen ruimte in de krant nodig. Niet erg schaalbaar. De krantenredacteur kan dubbele uitgaven gemakkelijk censureren of, erger nog, simuleren door een willekeurige hash in uw slot te stoppen, waardoor elke potentiële koper van uw bezit denkt dat het al eerder is verkocht, en hem wordt ontmoedigd het te kopen. Niet erg betrouwbaar.

Om deze redenen moet er een betere plek worden gevonden om het bewijs van eigendomsoverdracht te posten. En wat is een betere optie dan de Bitcoin blockchain, een reeds gevestigd, vertrouwd grootboek met sterke prikkels om het censuurbestendig en gedecentraliseerd te houden?

Als we Bitcoin, moeten we geen vaste plaats in het blok specificeren waar de verplichting tot eigendomsoverdracht moet plaatsvinden (bijvoorbeeld bij de eerste transactie), omdat de mijnwerker er, net als bij de redacteur van de New York Times, mee zou kunnen rommelen. Een betere aanpak is om de inzet in een vooraf gedefinieerd kader te plaatsen Bitcoin transactie, meer specifiek in een transactie die voortkomt uit een niet-uitgegeven transactie-output (UTXO) waaraan het eigendom van het uit te geven actief is gekoppeld. De link tussen een asset en een bitcoin UTXO kan voorkomen in het contract dat het actief uitgeeft, of in een daaropvolgende eigendomsoverdracht, waarbij de beoogde UTXO telkens de beheerder van het overgedragen actief wordt. Op deze manier hebben we duidelijk gedefinieerd waar de verplichting om eigendom over te dragen zou moeten liggen (dat wil zeggen in de Bitcoin transactie afkomstig van een bepaalde UTXO). Iedereen die een Bitcoin node kan de toezeggingen onafhankelijk verifiëren en noch de mijnwerkers, noch enige andere entiteit zijn in staat de overdracht van activa op enigerlei wijze te censureren of te verstoren.

Sinds op de Bitcoin blockchain publiceren we alleen een toezegging van een eigendomsoverdracht, niet de inhoud van de eigendomsoverdracht zelf. De verkoper heeft een speciaal communicatiekanaal nodig om de koper alle bewijzen te bieden dat de eigendomsoverdracht geldig is. Dit zou op een aantal manieren kunnen worden gedaan, mogelijk zelfs door de proefdrukken af ​​te drukken en ze met een postduif te verzenden, wat, hoewel een beetje onpraktisch, nog steeds het werk zou doen. Maar de beste optie om censuur en privacyschendingen te vermijden is het opzetten van een directe peer-to-peer gecodeerde communicatie, die vergeleken met de duiven ook het voordeel heeft dat deze eenvoudig te integreren is met software om de van de tegenpartij ontvangen bewijzen te verifiëren.

Dit zojuist beschreven model voor gevalideerde contracten en eigendomsoverdrachten aan de clientzijde is precies wat is geïmplementeerd met het RGB-protocol. Met RGB is het mogelijk om een ​​contract op te stellen waarin rechten worden gedefinieerd en deze aan een of meer bestaande rechten worden toegewezen bitcoin UTXO en specificeert hoe hun eigendom kan worden overgedragen. Het contract kan worden gemaakt op basis van een sjabloon, een zogenaamde 'schema', waarin de maker van het contract alleen de parameters en eigendomsrechten aanpast, zoals bij traditionele juridische contracten gebeurt. Momenteel zijn er twee soorten schema's in RGB: één voor het uitgeven van vervangbare tokens (RGB20) en een tweede voor het uitgeven van verzamelobjecten (RGB21), maar in de toekomst kunnen meer schema's door iedereen zonder toestemming worden ontwikkeld zonder dat er wijzigingen op protocolniveau nodig zijn.

Om een ​​praktischer voorbeeld te gebruiken: een uitgever van fungibele activa (bijv. bedrijfsaandelen, stablecoins, enz.) kan de RGB20-schemasjabloon gebruiken en een contract opstellen waarin wordt gedefinieerd hoeveel tokens hij zal uitgeven, de naam van het actief en enkele aanvullende bijbehorende metagegevens. ermee. Vervolgens kan worden bepaald welke bitcoin UTXO heeft het recht om het eigendom van de gecreëerde tokens over te dragen en andere rechten aan andere UTXO's toe te wijzen, zoals het recht om een ​​secundaire uitgifte te doen of om het actief te hernomineren. Elke klant die tokens ontvangt die door dit contract zijn gemaakt, kan de inhoud van het Genesis-contract verifiëren en valideren dat elke eigendomsoverdracht in de geschiedenis van het ontvangen token heeft voldaan aan de daarin vastgelegde regels.

Wat kunnen we vandaag de dag in de praktijk met RGB doen? In de eerste plaats maakt het de uitgifte en overdracht van tokenized assets mogelijk met betere schaalbaarheid en privacy in vergelijking met elk bestaand alternatief. Aan de privacykant profiteert RGB van het feit dat alle overdrachtsgerelateerde gegevens aan de clientzijde worden bewaard, zodat een blockchain-waarnemer geen enkele informatie over de financiële activiteiten van de gebruiker kan extraheren (het is zelfs niet mogelijk om een bitcoin transactie die een RGB-toezegging van een reguliere transactie bevat), bovendien deelt de ontvanger met de afzender alleen de geblindeerde UTXO (dwz de hash van de aaneenschakeling tussen de UTXO waarin zij de activa wenst te ontvangen en een willekeurig getal) in plaats van de UTXO zelf Het is dus niet mogelijk voor de betaler om toekomstige activiteiten van de ontvanger te monitoren. Om de privacy van gebruikers verder te vergroten, gebruikt RGB ook het kogelvrije cryptografische mechanisme om de bedragen in de geschiedenis van activaoverdrachten te verbergen, zodat zelfs toekomstige eigenaren van activa een onduidelijk beeld hebben van het financiële gedrag van eerdere houders.

Qua schaalbaarheid biedt RGB ook enkele voordelen. In de eerste plaats worden de meeste gegevens buiten de keten gehouden, omdat de blockchain alleen wordt gebruikt als een verplichtingslaag, waardoor de kosten die moeten worden betaald worden verlaagd en dit betekent dat elke klant alleen de overdrachten valideert waarin hij geïnteresseerd is in plaats van alle overdrachten waarin hij geïnteresseerd is. activiteit van een mondiaal netwerk. Omdat voor een RGB-overdracht nog steeds een Bitcoin Transactiekosten lijken misschien minimaal, maar als u begint met het introduceren van transactiebatches, kunnen deze snel enorm worden. Het is inderdaad mogelijk om alle tokens (of, algemener, "rechten") die aan een UTXO zijn gekoppeld, over te dragen aan een willekeurig aantal ontvangers met één enkele verplichting in één enkele transactie. bitcoin transactie. Stel dat u een dienstverlener bent die uitbetalingen doet aan meerdere gebruikers tegelijk. Met RGB kunt u zich in één keer vastleggen Bitcoin transactie duizenden overdrachten naar duizenden gebruikers die verschillende soorten activa aanvragen, waardoor de marginale kosten van elke afzonderlijke uitbetaling absoluut verwaarloosbaar zijn.

Een ander mechanisme om kosten te besparen voor emittenten van activa met een lage waarde is dat in RGB-landen voor de uitgifte van activa geen vergoedingen hoeven te worden betaald. Dit gebeurt omdat het aanmaken van een uitgiftecontract niet op de blockchain hoeft te worden vastgelegd. Een contract definieert eenvoudigweg aan welke reeds bestaande UTXO de nieuw uitgegeven activa zullen worden toegewezen. Dus als u een kunstenaar bent die geïnteresseerd is in het maken van verzamelbare tokens, kunt u er gratis zoveel uitgeven als u wilt en dan alleen de kosten betalen. bitcoin transactiekosten wanneer een koper verschijnt en vraagt ​​om het token toe te wijzen aan zijn UTXO.

Bovendien omdat RGB er bovenop is gebouwd bitcoin transacties is het ook compatibel met het Lightning Network. Hoewel het op het moment van schrijven nog niet is geïmplementeerd, zal het mogelijk zijn om asset-specifieke Lightning-kanalen te creëren en betalingen hier doorheen te routeren, vergelijkbaar met hoe het werkt met normale Lightning-transacties.

Conclusie

RGB is een baanbrekende innovatie die zich opent voor nieuwe use-cases met behulp van een volledig nieuw paradigma, maar welke tools zijn er beschikbaar om het te gebruiken? Als je wilt experimenteren met de kern van de technologie zelf, moet je de RGB-knooppunt. Als u applicaties bovenop RGB wilt bouwen zonder diep in de complexiteit van het protocol te hoeven duiken, kunt u de rgb-lib-bibliotheek, dat een eenvoudige interface biedt voor ontwikkelaars. Als u alleen maar wilt proberen activa uit te geven en over te dragen, kunt u spelen met Iris-portemonnee voor Android, waarvan de code ook open source is op GitHub. Als je gewoon meer wilt weten over RGB, kun je uitchecken deze lijst met bronnen.

Dit is een gastpost van Federico Tenga. De geuite meningen zijn volledig die van henzelf en weerspiegelen niet noodzakelijkerwijs die van BTC Inc Bitcoin Tijdschrift.

Originele bron: Bitcoin Magazine