RGB Magic: Contracte la nivelul clientului pe Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

RGB Magic: Contracte la nivelul clientului pe Bitcoin

Acesta este un editorial de opinie al lui Federico Tenga, un colaborator de lungă durată la proiecte Bitcoin cu experiență ca fondator, consultant și educator de start-up-uri.

Termenul „contracte inteligente” precede inventarea blockchain-ului și a Bitcoin în sine. Prima sa mențiune este în a articol din 1994 de Nick Szabo, care a definit contractele inteligente ca un „protocol de tranzacție computerizat care execută termenii unui contract”. În timp ce, prin această definiție, Bitcoin, datorită limbajului său de scripting, a acceptat contractele inteligente încă de la primul bloc, termenul a fost popularizat abia mai târziu de către promotorii Ethereum, care au răsucit definiția originală ca „cod care este executat redundant de toate nodurile într-un consens global. reţea"

În timp ce delegarea execuției codului către o rețea de consens global are avantaje (de exemplu, este ușor să implementați contracte neautorizate, cum ar fi creatorii de piață automatizați), acest design are un defect major: lipsa de scalabilitate (și confidențialitate). Dacă fiecare nod dintr-o rețea trebuie să ruleze în mod redundant același cod, cantitatea de cod care poate fi executată de fapt fără a crește excesiv costul de rulare a unui nod (și astfel păstrând descentralizarea) rămâne limitată, ceea ce înseamnă că doar un număr mic de contracte poate fi executat. executat.

Dar dacă am putea proiecta un sistem în care termenii contractului să fie executați și validați doar de părțile implicate, mai degrabă decât de toți membrii rețelei? Să ne imaginăm exemplul unei companii care dorește să emită acțiuni. În loc să publice contractul de emisiune în mod public într-un registru global și să utilizeze acel registru pentru a urmări toate transferurile viitoare de proprietate, ar putea pur și simplu să emită acțiunile în mod privat și să transmită cumpărătorilor dreptul de a le transfera în continuare. Apoi, dreptul de a transfera proprietatea poate fi transmis fiecărui nou proprietar ca și cum ar fi o modificare a contractului inițial de emitere. În acest fel, fiecare proprietar poate verifica în mod independent dacă acțiunile pe care le-a primit sunt autentice, citind contractul inițial și validând că întregul istoric al modificărilor care au mutat acțiunile se conformează regulilor stabilite în contractul original.

Acesta nu este de fapt nimic nou, este într-adevăr același mecanism care a fost folosit pentru a transfera proprietatea înainte ca registrele publice să devină populare. În Regatul Unit, de exemplu, nu era obligatorie înregistrarea unei proprietăți atunci când proprietatea sa a fost transferată până în anii '90. Aceasta înseamnă că și astăzi peste 15% din terenurile din Anglia și Țara Galilor sunt neînregistrate. Dacă cumpărați o proprietate neînregistrată, în loc să verificați într-un registru dacă vânzătorul este adevăratul proprietar, va trebui să verificați un lanț neîntrerupt de proprietate care are cel puțin 15 ani înapoi (o perioadă considerată suficient de lungă pentru a presupune că vânzătorul a titlu de proprietate suficient). Procedând astfel, trebuie să vă asigurați că orice transfer de proprietate a fost efectuat corect și că orice credit ipotecar utilizat pentru tranzacțiile anterioare a fost achitat integral. Acest model are avantajul unei confidențialitate îmbunătățită față de proprietate și nu trebuie să vă bazați pe întreținătorul registrului funciar public. Pe de altă parte, face verificarea dreptului de proprietate a vânzătorului mult mai complicată pentru cumpărător.

Act de proprietate imobiliar neînregistrat

Sursă: Act de proprietate imobiliar neînregistrat

Cum poate fi îmbunătățit transferul proprietăților neînregistrate? În primul rând, făcându-l un proces digitalizat. Dacă există un cod care poate fi rulat de un computer pentru a verifica dacă tot istoricul transferurilor de proprietate este în conformitate cu regulile contractului inițial, cumpărarea și vânzarea devin mult mai rapide și mai ieftine.

În al doilea rând, pentru a evita riscul ca vânzătorul să-și cheltuiască dublu bunul, trebuie implementat un sistem de dovadă a publicării. De exemplu, am putea implementa o regulă conform căreia fiecare transfer de proprietate trebuie să fie efectuat într-un loc predefinit al unui ziar binecunoscut (de exemplu, puneți hașul transferului de proprietate în colțul din dreapta sus al primei pagini din New York). Times). Deoarece nu puteți plasa hash-ul unui transfer în același loc de două ori, acest lucru previne încercările de cheltuire dublă. Cu toate acestea, folosirea unui ziar celebru în acest scop are câteva dezavantaje:

  1. Trebuie să cumpărați o mulțime de ziare pentru procesul de verificare. Nu foarte practic.
  2. Fiecare contract are nevoie de un spațiu propriu în ziar. Nu foarte scalabil.
  3. Editorul ziarului poate cenzura cu ușurință sau, chiar mai rău, poate simula dubla cheltuială punând un hash aleatoriu în slotul dvs., făcându-i pe orice potențial cumpărător al activului dvs. să creadă că a fost vândut înainte și descurajându-l să-l cumpere. Nu foarte lipsit de încredere.

Din aceste motive, trebuie găsit un loc mai bun pentru a posta dovada transferului de proprietate. Și ce opțiune mai bună decât blockchain-ul Bitcoin, un registru public de încredere deja stabilit, cu stimulente puternice pentru a-l menține rezistent la cenzură și descentralizat?

Dacă folosim Bitcoin, nu ar trebui să specificăm un loc fix în bloc în care trebuie să apară angajamentul de a transfera proprietatea (ex. la prima tranzacție) pentru că, la fel ca în cazul editorului New York Times, minerul s-ar putea încurca. O abordare mai bună este plasarea angajamentului într-o tranzacție Bitcoin predefinită, mai precis într-o tranzacție care provine dintr-o ieșire a tranzacției necheltuite (UTXO) de care este legată proprietatea asupra activului care urmează să fie emis. Legătura dintre un activ și un bitcoin UTXO poate apărea fie în contractul care emite activul, fie într-un transfer ulterior de proprietate, de fiecare dată făcând UTXO țintă controlorul activului transferat. În acest fel, am definit clar unde ar trebui să fie obligația de a transfera proprietatea (adică în tranzacția Bitcoin care provine dintr-un anumit UTXO). Oricine care rulează un nod Bitcoin poate verifica în mod independent angajamentele și nici minerii, nici nicio altă entitate nu poate cenzura sau interfera cu transferul de active în vreun fel.

transferul dreptului de proprietate asupra utxo

Deoarece pe blockchain-ul Bitcoin publicăm doar un angajament de transfer de proprietate, nu și conținutul transferului în sine, vânzătorul are nevoie de un canal de comunicare dedicat pentru a oferi cumpărătorului toate dovezile că transferul de proprietate este valabil. Acest lucru s-ar putea face în mai multe moduri, eventual chiar prin tipărirea dovezilor și expedierea lor cu un porumbel călător, care, deși este puțin practic, ar face totuși treaba. Dar cea mai bună opțiune pentru a evita cenzura și încălcarea confidențialității este stabilirea unei comunicări criptate peer-to-peer direct, care, în comparație cu porumbeii, are și avantajul de a fi ușor de integrat cu un software pentru verificarea dovezilor primite de la contraparte.

Acest model tocmai descris pentru contractele validate de client și transferurile de proprietate este exact ceea ce a fost implementat cu protocolul RGB. Cu RGB, este posibil să creezi un contract care definește drepturile, le atribuie unuia sau mai multor bitcoin UTXO existente și specifică modul în care poate fi transferată proprietatea acestora. Contractul poate fi creat pornind de la un șablon, numit „schemă”, în care creatorul contractului ajustează doar parametrii și drepturile de proprietate, așa cum se face în cazul contractelor legale tradiționale. În prezent, există două tipuri de scheme în RGB: una pentru emiterea de jetoane fungibile (RGB20) și un al doilea pentru eliberarea obiectelor de colecție (RGB21), dar în viitor, mai multe scheme pot fi dezvoltate de oricine fără permisiune, fără a necesita modificări la nivel de protocol.

Pentru a folosi un exemplu mai practic, un emitent de active fungibile (de exemplu, acțiuni ale companiei, monede stabile etc.) poate folosi șablonul de schemă RGB20 și poate crea un contract care definește câte jetoane va emite, numele activului și câteva metadate suplimentare asociate Cu acesta. Apoi poate defini care bitcoin UTXO are dreptul de a transfera proprietatea asupra token-urilor create și de a atribui alte drepturi altor UTXO, cum ar fi dreptul de a face o emisiune secundară sau de a renomina activul. Fiecare client care primește jetoane create prin acest contract va putea să verifice conținutul contractului Genesis și să valideze că orice transfer de proprietate din istoricul jetoanelor primite a respectat regulile stabilite în acesta.

Deci, ce putem face cu RGB în practică astăzi? În primul rând, permite emiterea și transferul de active tokenizate cu o scalabilitate și confidențialitate mai bune în comparație cu orice alternativă existentă. În ceea ce privește confidențialitatea, RGB beneficiază de faptul că toate datele legate de transfer sunt păstrate la nivelul clientului, astfel încât un observator blockchain nu poate extrage nicio informație despre activitățile financiare ale utilizatorului (nu este nici măcar posibil să distingem o tranzacție bitcoin care conține un angajament RGB de la unul obișnuit), în plus, destinatarul împărtășește cu expeditorul doar UTXO orb (adică hash-ul concatenării dintre UTXO în care dorește să primească activele și un număr aleatoriu) în loc de UTXO în sine, deci nu este posibil ca plătitorul să monitorizeze activitățile viitoare ale beneficiarului. Pentru a crește și mai mult confidențialitatea utilizatorilor, RGB adoptă și mecanismul criptografic antiglonț pentru a ascunde sumele din istoricul transferurilor de active, astfel încât chiar și viitorii proprietari de active să aibă o viziune obscurată asupra comportamentului financiar al deținătorilor anteriori.

În ceea ce privește scalabilitatea, RGB oferă și câteva avantaje. În primul rând, majoritatea datelor sunt păstrate în afara lanțului, deoarece blockchain-ul este folosit doar ca strat de angajament, reducând taxele care trebuie plătite și însemnând că fiecare client validează doar transferurile de care este interesat în loc de toate activitatea unei rețele globale. Deoarece un transfer RGB necesită încă o tranzacție Bitcoin, economisirea taxelor poate părea minimă, dar atunci când începeți să introduceți lotul de tranzacții, acestea pot deveni rapid masive. Într-adevăr, este posibil să transferăm toate jetoanele (sau, mai general, „drepturile”) asociate unui UTXO către o cantitate arbitrară de destinatari cu un singur angajament într-o singură tranzacție bitcoin. Să presupunem că sunteți un furnizor de servicii care face plăți pentru mai mulți utilizatori simultan. Cu RGB, puteți efectua într-o singură tranzacție Bitcoin mii de transferuri către mii de utilizatori care solicită diferite tipuri de active, ceea ce face ca costul marginal al fiecărei plăți unice să fie absolut neglijabil.

Un alt mecanism de economisire a comisioanelor pentru emitenții de active de valoare mică este că în RGB emiterea unui activ nu necesită plata unor comisioane. Acest lucru se întâmplă deoarece crearea unui contract de emisiune nu trebuie să fie angajată pe blockchain. Un contract definește pur și simplu căreia UTXO deja existentă vor fi alocate activele nou emise. Deci, dacă sunteți un artist interesat să creeze jetoane de colecție, puteți emite gratuit câte doriți și apoi să plătiți taxa de tranzacție cu bitcoin numai atunci când apare un cumpărător și solicită ca tokenul să fie alocat UTXO-ului său.

În plus, deoarece RGB este construit pe deasupra tranzacțiilor bitcoin, este și compatibil cu Lightning Network. Deși nu este încă implementat la momentul scrierii, va fi posibil să se creeze canale Lightning specifice activelor și să direcționeze plățile prin acestea, similar modului în care funcționează cu tranzacțiile Lightning normale.

Concluzie

RGB este o inovație revoluționară care se deschide către noi cazuri de utilizare folosind o paradigmă complet nouă, dar ce instrumente sunt disponibile pentru a-l folosi? Dacă doriți să experimentați cu nucleul tehnologiei în sine, ar trebui să încercați direct nod RGB. Dacă doriți să construiți aplicații pe partea de sus a RGB fără a fi nevoie să vă aprofundați în complexitatea protocolului, puteți utiliza biblioteca rgb-lib, care oferă o interfață simplă pentru dezvoltatori. Dacă vrei doar să încerci să emiti și să transferi active, te poți juca cu Iris Wallet pentru Android, al cărui cod este și open source GitHub. Dacă doriți doar să aflați mai multe despre RGB, puteți verifica această listă de resurse.

Aceasta este o postare invitată de Federico Tenga. Opiniile exprimate sunt în întregime proprii și nu reflectă neapărat cele ale BTC Inc sau Bitcoin Magazine.

Timestamp-ul:

Mai mult de la Revista Bitcoin