Identiteit van Universa’s (en Ricardian) Smart Contracts

In het artikel van vorige week heb je kunnen lezen hoe eenSmart Contract van Universa is opgebouwd. Zo’n smart contract bestaat uit onderdelen die veranderlijk en onveranderlijk zijn, en dat het mogelijk is om bepaalde data toe te voegen aan een betaling (of revisie, zoals factuurnummers).

De terminologie voor deze secties zijn state, definition en transactional. In dit artikel gaan we onderzoeken wat je kunt doen met deze smart contracts. Om een smart contract beter te kunnen begrijpen, is het goed om meer te weten te komen over wat een smart contract inhoudt.

Smart documents

De Universa Blockchain is gebaseerd op verifiëren, en niet op het uitvoeren, van contracten/documenten. In de wereld van Universa is een smart contract een binair document met een machine leesbare structuur. Je zou het kunnen vergelijken met een Word (.doc) of Excel (.xls) document, en niet met een .exe bestand. Een dApp heeft meer de benadering van een .exe bestand.

Een ander ding dat je misschien herinnert, is dat Universa een smart contract soms een ‘smart document’ noemt. Dit sluit aan bij de ideologie van ‘Ricardiaanse contracten’.

Deze benadering van ‘gestructureerde documenten in een gedistribueerde omgeving’ weerspiegelt het standpunt van het grootste deel van de zakenwereld. Deze wereld beschouwt een contract als een specifieke variant of versie van een document.

Het ‘blockchainized’ document maakt deel uit van een stroom of reeks van documenten of processen. En niet als bestand dat continu wordt uitgevoerd.

In Universa is de aanpak dus om ‘een document te schrijven’ in plaats van ‘een gedistribueerde applicatie uit te voeren’. Dit brengt ons bij een andere nieuwe term: Ricardiaanse contracten.

‘Ricardian’ contracts

De ‘ricardian contracts’ is en manier om een ​​document als contractmiddels de wet vast te leggen en het veilig te koppelen aan andere systemen. Dit kunnen bijvoorbeeld boekhoudsystemen zijn.

Je kunt deze contracten herkennen aan een aantal verschillende aspecten. Ze:

  1. Zijn robuust door het gebruik van identificatie door middel van cryptografische hashfunctie;
  2. Zijn transparant door het gebruik van leesbare tekst voor de juridische procedures;
  3. Zijn efficiënt door middel van ‘markup language’ om essentiële informatie te kunnen uitlezen.
  4. Definieert elementen van een juridische overeenkomst in een formaat dat kan worden uitgedrukt en uitgevoerd in software. Dit komt overeen met de aanpak rondom ‘smart documents’ en het koppelen van deze documenten aan andere software om ze zo uit te voeren en te verwerken.

Dit is dus in het kort de achtergrond en identiteit van een smart contract in de Universa Blockchain. Maar wat kunnen we ermee doen? Laten we beginnen met een voorbeeld.

Escrow contracts

Het eerste voorbeeld is een escrow-contract, ook wel atomic contract swap genoemd. Je kunt het zien als een veilige manier om contracten uit te wisselen.

Neem bijvoorbeeld Bob. Hij heeft 0.1 uETH en hij wil 500 UTN van Alice kopen. Dit kan op een gedecentraliseerde en non-custodial manier plaatsvinden.

Ten eerste zorgt Bob ervoor dat hij een betalingscontract creëert (met het split-join-contract dat in het vorige artikel is uitgelegd) met 0,1 uETH voor Alice en de rest voor zichzelf.

Hij ondertekent deze coins nog niet, maar zet zijn ‘creator address’ erin. Vervolgens verpakt hij het ongetekend in een ‘contractbatch’ en stuurt het naar Alice. Dit contracttype wordt ook wel compound genoemd.

Ten tweede controleert Alice of de betaling van Bob in het document staat. Als dat waar is, voegt ze haar 500 UTN toe aan het compound contract. Omdat het nog steeds niet is ondertekend, kan Bob er niets mee doen zonder de sleutel van Alice.

Daarna tekent Alice het samengestelde (compound) contract. Voor haar is het volkomen veilig, want in de compound zit ook betaling van Bob, dus Bob zou de compound niet kunnen registreren zonder deze met zijn sleutel te ondertekenen.

En als Bob het goed ondertekent, dan kan hij het pas registreren; maar hij zal zich daarom ook registreren en zijn betaling aan Alice bevestigen. Beide partijen kunnen controleren of het adres van de eigenaar en de tokens correct zijn toegevoegd.

Als alles in orde is, ondertekent Bob het met zijn geheime sleutel/key en registreert het op het Universa netwerk. Zodra het netwerk de compound goedkeurt, zal het hun nieuwe bezittingen in dezelfde handeling – of ‘atomic operation’ – goedkeuren.

Nu hebben we een afgewerkte escrow-deal zonder tussenpersoon, dienst of regel code.

Het signeren van een contract

Beiden wisselen hun tokens uit zoals ze in het contract hebben ondertekend, óf er gebeurt helemaal niets.

  • noch Bob noch Alice kunnen vals spelen tijdens de uitwisseling;
  • als een van hen het ondertekenen van de compound overslaat, zal het Universa Netwerk deze weigeren;
  • als ze allebei de compound ondertekenen, zal de registratie het eigendom van beide items tegelijk in een enkele atomaire actie overdragen;
  • beiden hebben gegarandeerd een kopie van hun aankopen/ruildeal.

Lees meer over dit soort complexe contract op de Knowledge Base website.

Dit is slechts een klein voorbeeld van smart contract met de Universa Blockchain. Het laat heel duidelijk de manier van denken zien: alles wat er gebeurt is het toevoegen van tokens aan een samengesteld/compound contract, dit document van twee kanten te ondertekenen en de status van deze uitwisseling op het netwerk te registreren.

Er is geen rekenkracht nodig, het proces is transparant maar ook robuust dankzij de cryptografische hashes en het netwerk verifieert de staat van deze uitwisseling.

In onze traditionele wereld hebben we een vertrouwde partij nodig om digitale documenten uit te wisselen. Deze escrow-agent is hierbij een soort van scheidsrechter. Met een smart contract gebeurt alles digitaal en trustless. Bekijk de Contract Service voor meer informatie over het gebruik van de codebased escrow-contracten.

Ricardiaanse en dApp contracten

Laten we concluderen met de verschillen tussen Ricardian Contracts en de bekende dApps. En de een is niet per see beter dan de andere. Met dApps moet je een uitvoerbare code schrijven voor elk doel dat je wilt digitaliseren of automatiseren. Dan moet je programmeur zijn. Wil je een “multisig wallet” maken? In dat geval schrijf je daarvoor ofwel een dApp vanuit skratch, of start je een bestaande code (en gaat hier als een programmeur mee bezig).

Met Ricardian Contracts (of met de Universa Blockchain) moet je een document schrijven of bijwerken. Het is gemakkelijker. En als je een multisig wilt maken, kunt je het document bijwerken en de velden specificeren als ‘de eigenaar is een samengestelde list-role van drie handtekening A, B en C, en ze moeten dit document ALLE drie ondertekenen om iets te wijzigen ”.

In het volgende artikel gaan we dieper in op andere soorten smart contracts. Hoe werkt dit met utility-tokens; en hoe zit het met neutrino-betalingen; en hoe zit het met het registreren van meerdere revisies in één contract?

Als je wilt helpen om deze uitleg te vertalen, neem dan contact op met @starnold. Deze vertaling is gedaan door Hans. Stay tuned!

Help translating this post to Engels Duits Frans Italiaans Spaans Kroatisch Russisch. Contact @starnold to participate!

Related posts

Binnen in de Universa DAG

Arnold

Alexander ontmoet Amsterdam 2020

Arnold

The Digital Migration: Why Universa is the Rail Blazer

kobina

Leave a Comment