Articol semnat de Maxim Macovei, Partener JURIDICE MOLDOVA. J-Blog.
Dacă n-am reușit să vă terorizez cu blockchain-ul și smart contracts până în prezent, fiți pregătiți. În acest articol vă propun să mergem dincolo de predicțiile profeților care spun că noile tehnologii vor schimba lumea, inclusiv lumea juriștilor (cu siguranță că juriștii trăiesc în lumea lor) și să vă arăt un caz de implementare practică a blockchain-ului și smart contracts (combinate împreună).
Problema mea este că juriștii (majoritatea cu un dispreț de luddit), când le povestesc despre LegalTech (adică despre fuziunea dreptului cu tehnologia și impactul acestei fuziuni) cred că eu sunt un nihilist sau chiar terorist care speră să dispară juriștii și sistemul de drept așa cum îl știm de milenii. Pe de altă parte, IT-știi (care deseori sunt o colecție eclectică de entuziaști) idolatrizează tehnologia și au o tendință să desconsidere limitările și riscurile intrinsece, de aceea ei mă văd ca un reprezentant al unui sistem care nu poate face față provocărilor tehnologice și care puțin ce înțelege în toate mașinăriile lor.
Dimpotrivă, eu nu spun că juriștii vor dispărea în curând, în același timp sunt ferm convins că tehnologiile vor schimba modus operandi, vor transforma profesiile juridice dar nu vor schimba esența și nu vor schimba dreptul în sine. Pentru a afirma asta însă, este imuabil ca noi, juriștii, să înțelegem cum lucrează și care este esența acestor tehnologii (Internet of Things, blockchain, smart contracts, inteligență artificială și alte cuvinte care fac hype).
Cât despre blockchain și smart contracts, propun următorul algoritm: inițial am să vă arăt printr-un exemplu concret ce am făcut eu (cu poze, scheme), după care la sfârșit, voi da și teorie despre blockchain și smart contracts. Eu cred că anume așa se învață – de la practică la teorie, nu invers.
Proprietatea intelectuală prin blockchain – cum?
Am fost printre norocoșii care au primit acces la aplicația Ethercam (dezvoltată de Mattereum, momentat în regim de testare). În regim de testare am văzut cu ochii mei cum lucrează live o tranzacție pe blockchain.
Pasul 1.
Accesez aplicația.
Pasul 2.
Mai mulți autori au postat poze proprii (în photo stream), fiind gata să acorde licențe neexclusive altor utilizatori ai aplicației pentru o anumită plată. Am ales o poză la întâmplare.
Pasul 3.
Selectez poza. Apare Contractul de licență neexclusivă (license agreement), costul pentru a primi licența (license fee, în aplicație este utilizată “criptovalută” pentru testări -Rinkeby testnet Ether- ETR).
Pasul 4.
Deschid draft-ul License Agreement și îl citesc (despre acest acord vom vorbi mai detaliat când vom analiza rolul smart contract). Vedeți în special p. 4 din Contract.
Pasul 5.
Apăs butonul send payment (achit costul pentru licență). ETR (criptovaluta pentru testări) se duce pe un account escrow (adresa smart contract-ului care ulterior automat transmite plățile la wallet-ul autorilor), până eu nu voi confirma încă o dată tranzacția. Dezvoltatorii aplicației îți lasă în așa mod 24 ore la dispoziție ca să contactezi la direct autorul indicat în License Agreement, pentru a cere probe suplimentare că anume el este autor.
Pasul 6.
Dacă confirmi totuși tranzacția, începe procesarea plății.
Pasul 7.
De pe wallet-ul tău se transmite 0,01 ETR în wallet-ul smart contract. În mai puțin de 2 minute (în cazul meu), tranzacția a fost confirmată de utilizatorii independenți ai rețelei (miners). La sfârșit primesc și ID-ul tranzacției, care este imortalizată în blockchain.
Pas 8.
Peste 11 minute primesc notificare că licența mi-a fost acordată cu succes.
Pasul 9.
Intru în rețea (în cazul dat este o rețea blockchain pentru testări – Etherscan, care lucrează după aceleași principii) să verific dacă tranzacția mea este în baza de date, în ce bloc a fost validată etc. Pozele de mai jos le-am făcut peste 83 de zile după tranzacția nemijlocită.
Aici sunt toate 163 de tranzacții care s-au făcut în aplicație.
Am găsit tranzacția mea.
Am accesat și am găsit toate detaliile despre ea.
I. Explicații – ce, cum, pentru ce?
Atât aplicația cât și blockchain-ul pe care îl utilizează sunt pentru testări. Blockchain-ul Etherscan, e folosit de developeri pentru a testa anumite idei fără a suporta consecințe economice reale, adică în rețea nu va circula criptovaluta Ethereum ci o criptovalută pentru teste, poți emite câte vrei. În rest, principiile tehnologice sunt aceleași.
- Rolul smart contract în exemplul de mai sus.
Când vorbim de smart contract, este esențial să ținem minte un singur lucru: smart contract este un program, un cod, un algoritm scris într-un limbaj de programare. Acest program pentru calculator execută anumite comenzi, de regulă automat, atunci când primește informația sau trigger-ul setat.
În cazul nostru:
- dacă: este transferată o sumă X la adresa smart contractului;
- dacă: acest transfer este validat de rețea;
- atunci: smart contractul transmite în aplicație notificare privind acordarea licenței către wallet-ul de la care a primit plata.
Observați că aceste operațiuni se efectuează independent, după ce au fost setate prin cod. Părțile License Agreement nu mai pot interveni după ce autorul a înaintat oferta irevocabilă (postarea pozei în aplicație) iar eu am acceptat-o (am apăsat butonul send payment).
- Ricardian contract
Nu în zădar am ales anume exemplul Ethercam. Echipa Mattereum care testează și dezvoltă aplicația, au o viziune care-mi pare una dintre cele mai viabile la moment pe piață. Ei fac legătura între sistemul de drept existent la moment și tehnologie ca instrument.
Există conceptul de Ricardian contract – adică contractul care există atât pe foaie (în cazul nostru – pe ecran) cât și smart contractul care automatizează executarea unei clauze din contract.
Dacă faceți scroll mai sus și citiți mai atent Licence agreement, veți găsi o clauză interesantă:
“Immediately upon signing this agreement, the Licensee shall pay to the Licensor the Fee (which amount includes any Value Added Tax payable but excludes any withholding or similar tax, which shall be the liability of the Licensee). The Fee shall comprise an amount of Rinkeby testnet Ether (ETR). The obligation set out in this clause 4 shall be performed automatically by execution of the software at Rinkeby testnet Ethereum address b3d2f360fc690ecdde7d7a5f0158e59cd38875bd, the source code for which is displayed at
https://github.com/mattereum/photo-licensing-ethereum/blob/d06f4afa5bc0ca2838a25a6b404d2801528483ef/contracts/MediaLicensing.sol (the Smart Contract). In the event of any inconsistency between the performance defined in the Smart Contract and the terms of this agreement, the terms of this agreement shall prevail.”
- Rolul blockchain-ului în cazul analizat
Propun să ne înțelegem din start. Eu nu sunt adeptul entuziaștilor care spun că blockchain-ul revoluționează lumea, este al doilea internet, exclude intermediarii {‘adăugați aici alte povești pe care le-ați auzit’;}. Oportunitatea implementării blockchain-ului variază de la caz la caz, în dependență de modelul de afaceri, scopul urmărit, costuri, eficiență etc.
Mai bine să vedeți o dată decât să vă povestesc eu de 5 ori:
Acum vorbim concret. Luați imaginea nr. 3 (distributed systems). Toate punctele roșii sunt calculatoare. Informația despre toate tranzacțiile efectuate prin EtherCam se conțin, concomitent, în toate calculatoarele. Dacă faceți scroll mai sus, la poza când v-am arătat că am accesat peste 83 de zile informația despre tranzacția mea, păi iată acea listă cu cifre și litere se conține în calculatoarele tuturor care sunt conectați la rețeaua blockchain pe care operează EtherCam.
Pentru ce?
Asta e întrebarea cheie. Prin blockchain se soluționează problema generalului bizantin. Nu vreau acum să mă aprofundez în detalii matematice și de programare (dacă aveți acum chef, vedeți acest link).
Ideea de bază este cum să rezolvi problema unui sistem, în care actorii din sistem nu au încredere reciprocă, cum pot nozii (calculatoarele roșii din imaginea de mai sus) să proceseze informația, să confirme tranzacții, să mențină în același timp aceeași informație, fără a se cunoaște, fără a interacționa nemijlocit (decât prin funcții, coduri și programe), ținând cont de riscul că vreun nod sau mai mulți ar putea fi de rea-credință? Plus la asta, toate aceste interacțiuni nu sunt supravegheate de o autoritate centrală (dacă vorbim de public blockchain, pentru că este și consortium/private blockchain), la care adăugăm că în mod ideal toată informația trebuie să fie transparentă, imutabilă (aici sunt excepții dar discutăm cu altă ocazie), verificabilă.
În cazul EtherCam, nu avem o singură autoritate care menține toate înregistrările despre remunerarea transmisă pentru licență și tranzacțiile efectuate. Avem participanții la sistem, în calculatoarele cărora, concomitent, se conține informația despre înregistrări și tranzacții. Pentru a adăuga o nouă înregistrare, tranzacție în sistem, pentru a modifica datele din el, majoritatea nozilor trebuie să ajungă la consens. Acest consens, dacă vorbim concret de rețeaua utilizată de EtherCam, este posibil utilizând mecanismul Proof of Work (cuvântul mecanism este utilizat chiar de Buterin, fondatorul Ethereum, așa că eu nu vreau să utilizez alt termen), adică o serie de algoritmi matematici, la care se adaugă o motivație economică. Nozii care confirmă tranzacția au un interes economic să mențină un sistem viabil, pentru că ei primesc o remunerare (în esență este un comision, dacă vreți) pentru puterea computațională utilizată la dezlegarea problemei matematice (și implicit validarea unui bloc).
Credeți-mă, am încercat să descriu cât de simplu posibil, știu că tehnicienii vor blama încercarea mea de a explica, fără a utiliza termeni ca: funcțiile hash, merkle tree, state, timestamp. Însă voi face asta cu altă ocazie, acum urmăresc alt scop.
- Ce avem într-un final?
Unele operațiuni ca transmiterea remunerației, confirmarea primirii licenței neexclusive asupra pozei, sunt efectuate automat de un program (smart contract). Datele despre remunerația transmisă, licența obținută, tranzacțiile efectuate sunt înregistrate într-un sistem, care nu este gestionat de o singură autoritate ci de o rețea întreagă concomitent, cu scopul de a acorda credibilitate, transparență, a scădea riscurile coruperii, încredere (blockchain-ul public).
II. Întrebări pentru juriști
Întrebări pentru juriști: reieșind din descrierea generică a operațiunilor și tehnologiilor de mai sus, vredeți vreo potențială problemă juridică? Spre exemplu, cu privire la natura juridică, calificare, efecte?
Dacă nu, atunci merci că ați citit până aici articolul și voi reveni curând cu alte articole.
Dacă da, atunci eu am să concretizez unele întrebări la care probabil v-ați gândit:
- Ce natură juridică are blockchain-ul public? Se aplică regimul juridic privind bazele de date (dacă aplicăm prin analogie definiția bazelor de date din legislație) sau nu? Dacă presupunem că în sistem sunt date personale, atunci cine este operator de date cu caracter personal – toții nozii (calculatoarele) din sistem sau nu (dacă avem vreun operator în genere)? Cine răspunde pentru o eventuală defecțiune a sistemului, codului (dacă va fi în vreun mod alterată, ștearsă, modificată informația)?
- Ce natură juridică are smart contract-ul? Se aplică regimul juridic al programului pentru calculator (dacă aplicăm prin analogie definiția programului pentru calculator din legislație) sau nu? Ar putea în anumite ipoteze smart contract-ul să fie considerat un contract în sensul dreptului civil sau nu (aici nu vă grăbiți cu răspunsul, doar pare simplu, puneți-vă imaginația în mișcare)?
Răspunsurile eu am să le dau când public cartea (spoiler), dar după mine cel mai important este să poți pune întrebările corect. Eu cred că v-am oferit întrebările corecte, v-a rămas partea cea mai ușoară 😊
Pentru orice întrebări mă puteți contacta:
e-mail – maxim.macovei@gmail.com
Facebook – https://www.facebook.com/profile.php?id=100003720964960