2key Smart Links als Multi-Party State Networks

Door: Dr. Yoram Kornatzky, eiTan LaVi

Eerste implementatie - Meerstapsverwijzingen

2key Network is een blockchain-gebaseerd verwijzingsnetwerk dat bedoeld is om verwijzers te belonen via slimme contracten. Doorverwijzingen verlopen via het netwerk dankzij mensen die links naar elkaar doorsturen. Het 2key Protocol, dat het netwerk voedt, genereert off-chain, cryptografisch ondertekende links, die zich onder gebruikers verspreiden zonder de blockchain te bereiken. Bij conversie, of bij het voltooien van het contract in het algemeen, kan een gebruiker een of alle ondertekende koppelingen indienen bij het 2key smart-contract van de hoofdketen, dat vervolgens de verwijzingsketen beloont zoals weergegeven in de ondertekende link (en). Het smartkey-contract met 2 toetsen wordt per verwijzingscampagne geïmplementeerd door de campagne-initiator (de 'Contractor'), waarbij 2 KEY-tokens worden gestort om te zorgen voor een gevestigd belang bij het handhaven van het contract.

een Multi Party?

Staatskanalen

Een statuskanaal (ook wel een betaalkanaal genoemd) is een off-chain-mechanisme waarbij de twee zijden van het kanaal, voortaan de zender en ontvanger genoemd, een slim contract inzetten waarop een partij, de verzender, een hoeveelheid cryptocurrency deponeert. Bij vooraf overeengekomen off-chain-gebeurtenissen verzendt de afzender cryptografisch ondertekende berichten naar de ontvanger, waarbij elk bericht het vorige overschrijft. Elk bericht verbindt de afzender om een ​​hoeveelheid cryptocurrency aan de ontvanger te betalen. Deze verplichting kan worden omgezet in een daadwerkelijke betaling door de ontvanger die een transactie bij het slimme contract indient.

Staatskanalen kunnen worden veralgemeend naar meerkanaals staatskanalen, waarbij meer dan twee partijen betrokken zijn, waarbij wederom een ​​eerste storting van cryptocurrency in het staatskanaal is dat dient als een garantie voor het afdwingen van toekomstige verplichtingen.

Opgemerkt moet worden dat bestaande state channel-oplossingen a priori kennis vereisen van de partijen die deelnemen aan het kanaal.

Constructies zoals het Raiden-netwerk kunnen tussenpersonen gebruiken die van tevoren onbekend zijn om een ​​tweekanaals staatskanaal te bouwen, maar de twee partijen die daadwerkelijk bij het staatskanaal betrokken zijn, moeten van tevoren bekend zijn om het kanaal te initiëren.

2key Campaign als een meerkanaals staatskanaal

In essentie bouwt het slimme contract van de campagne met de door 2key ondertekende koppeling een staatskanaal met meerdere partijen dat voortkomt uit de initiatiefnemer van de campagne naar de verwijzers. Deze DAG-structuur (Directed Acyclic Graph) wordt dynamisch opgebouwd naarmate de verwijzingen door de campagne vorderen. De verwijzers zijn gegarandeerd van hun beloning in afwachting van conversies die stroomafwaarts van hen worden gegenereerd in de verwijzingsgrafiek.

In groot voordeel ten opzichte van andere state channel-oplossingen, is er met het 2key Protocol geen vereiste voorkennis van de betrokken partijen. In feite heeft de maker geen voorkennis over wie de uiteindelijke verwijzers of converters zullen zijn. Dit komt overeen met het feit dat het 2key Protocol is ingebed in HTTP, op een manier die etherisch is voor web2.0, en deze staatskanalen met meerdere partijen in staat stelt om webbreed te distribueren, over de grenzen van landen, applicaties en platforms heen.

De unieke noviteit van 2key is het bouwen van het staatskanaal via de cryptografisch ondertekende links - de 2key "Smart Links". Er is dus geen behoefte aan uitwisseling van verplichtingen, omdat de ondertekende link dient als een verplichting. Bovendien zijn bij deze verbintenis meerdere partijen betrokken.

counterfactual

Counterfactual is een protocol voor off-chain blockchain, bestaande uit een bibliotheek voor off-chain applicaties, een intuïtief gegeneraliseerd protocol voor staatskanalen en een set slimme Ethereum-contracten. Vervalsing generaliseert staatskanalen door cryptografisch ondertekende transacties uit te wisselen tussen de partijen bij het kanaal. Deze transacties kunnen de inzet van contracten en oproepen tot functies van slimme contracten omvatten.

Namaak betekent iets dat waar zou kunnen zijn maar dat niet is. Dit is een uiterst nuttig concept bij het bespreken van staatskanalen, waar we veel tijd besteden aan het redeneren over dingen die aan de ketting kunnen gebeuren maar dat niet zijn. In staatskanalen zeggen we contrafeitelijke X om een ​​geval te beschrijven waarin: X zou kunnen gebeuren in de keten maar dat niet. Elke deelnemer kan X eenzijdig aan de ketting laten gebeuren. Deelnemers kunnen daarom doen alsof X aan de ketting is gebeurd ”

Counterfactual is gebaseerd op een reeks slimme contracten die op de blockchain zijn geïnstalleerd, waarbij elke Dapp-ontwikkelaar een staatskanaal wil bouwen met behulp van zijn bibliotheek, en een multisig-portefeuille installeert met een aanbetaling om het staatskanaal te starten.

Het is duidelijk dat door berichten uit te wisselen die de inzet van slimme contracten vertegenwoordigen en methoden voor slimme contracten oproepen, Counterfactual krachtigere staatskanalen mogelijk maakt in de zin dat complexere interacties off-chain worden uitgevoerd.

In tegenstelling tot 2key vereist Counterfactual echter dat de partijen bij een staatskanaal vooraf bekend zijn bij het opzetten van het staatskanaal, en dat een centrale entiteit verder een multisig-portemonnee met een cryptocurrency-storting moet bouwen en beheren om een ​​staatskanaal te initiëren . Daarom moeten niet alleen de partijen in het staatskanaal van tevoren bekend zijn, maar is de Counterfactual-oplossing in de eerste plaats geschikt om te worden gebruikt binnen silese, gecentraliseerde contexten van specifieke apps, en niet als een gedecentraliseerde, dynamische, webbrede oplossing.

2key Signed Link als een gegeneraliseerd staatskanaalprotocol

Een 2key Smart Link draagt ​​een verplichting voor een betaling voor een pad van verwijzingen. Een door 2key ondertekende link is dus een off-chain state channel met meerdere partijen. Bij contrafeitelijk denken vertegenwoordigt een ondertekende link iets dat op de blockchain zal voorkomen als het wordt ingediend. Maar deze verwijzingsbeloning voor alle verwijzende partijen zal alleen plaatsvinden na conversie, dus deze initiële implementatie kan worden gezien als een dynamische, voorwaardelijk definitieve staatskanaaloplossing.

Tot nu toe hebben we onze eerste constructie van de door 2key ondertekende koppeling beschreven als een reeks verwijzingen die cryptografisch zijn ondertekend. Dit was het eerste concept voor het 2key-netwerk dat we bovenop het 2key-protocol hebben geïmplementeerd.

We werken nu aan het uitbreiden van het 2key-protocol om een ​​algemene multi-party state channel-oplossing mogelijk te maken:

Eerst hebben we de ondertekende link gegeneraliseerd voor het bevatten van het pad van verwijzers als een reeks adressen van verwijzers om kleine stukjes staat te bevatten. Voor een stemcontract is het stuk staat bijvoorbeeld de stem, of, voor een token acquisitiecampagne, het kleine stuk staat de door de verwijzer gevraagde korting op de beloning.

Omdat we de beperking van het opslaan van alle informatie in een link realiseerden, hebben we de uitgebreide slimme link verplaatst om te worden opgeslagen op gedecentraliseerde opslag, die momenteel IPFS gebruikt. Daarom bevat de slimme koppeling met 2 toetsen nu slechts een enkele hash die de hele status op het moment van interactie vertegenwoordigt, en het verzoek tot wijziging van interactie / transactie / status zelf.

Later zullen we een implementatie vrijgeven waarin browsers zelf kunnen fungeren als bulletinboards voor het opslaan en bedienen van deze slimme contracten voor andere deelnemers in het kanaal om dynamisch te synchroniseren met de zich ontwikkelende status, wat we 2key nodes noemen.

Nu we het namaakmechanisme onderzoeken om het staatskanaal te gebruiken, is het duidelijk dat het afhangt van de Dapp die hun bibliotheek gebruikt. 2key wilde daarentegen dat de ondertekende link zou worden gebouwd door een gewone browser met behulp van JavaScript.

Er zijn twee manieren om de browser van een verwijzer deel te laten nemen aan de constructie van een ondertekende link. De gecentraliseerde aanpak vereist dat de gebruiker naar een 2key-website gaat, waar de verwijzer een verwijzingslink krijgt. We transformeren nu naar de gedecentraliseerde aanpak, waarbij de code die wordt gebruikt om de gebruikersinterface te genereren en de cryptografie die nodig is om de 2key Smart Links zowel te valideren als te bouwen, zich ook in gedecentraliseerde opslag bevindt.

Dit betekent dat de slimme koppeling met 2 sleutels uiteindelijk slechts een klein stukje JavaScript zal zijn dat de browser opdracht geeft een grote JavaScript-code (de gebruikersinterface en de cryptografie) te laden met een specifieke hash van IPFS, evenals de staatshash.

De 2key-link heeft dus deze symbolische structuur:

js: // {knooppunt-code-hash} en {state-hash}

Waar node-code-hash de hash is van de JavaScript-code om de link te construeren, en de state-hash een hash voor het gecombineerde status- en verwijzingsadres, die cryptografisch zijn ondertekend.

De Dapp die de 2key-link gebruikt, wordt zelf bediend vanuit gedecentraliseerde opslag. Daardoor werkt het 2key multi-party statuskanaal op een volledig gedecentraliseerde manier via standaardbrowsers.

conclusies

Wij geloven dat 2key veel van de attributen van Counterfactual bezit, zoals multi-party state channels. Bovendien is 2key superieur op het gebied van decentralisatie omdat het geen voorkennis vereist van de deelnemers aan het staatskanaal, en het werkt via standaard browsers via HTTP, volledig open voor het wereldwijde web.