Cum să descoperiți un blockchain pe jumătate pregătit PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Cum să localizați un blockchain pe jumătate coapte

Când lanțurile și blocurile nu servesc niciunui scop util

Au trecut aproximativ 18 luni de când sectorul financiar s-a trezit, în masă, la posibilitățile blockchain-urilor permise sau la utilizarea termenului mai general, „registre mari”. Perioada de atunci a cunoscut un tsunami de activitate, inclusiv rapoarte de cercetare, investiții strategice, proiecte pilot și formarea multor consorții. Nimeni nu poate acuza lumea bancară că nu ia în serios potențialul acestei tehnologii.

Bineînțeles, creșterea explozivă a proiectelor blockchain a condus la dezvoltarea platformelor blockchain permise, pe care sunt construite acele proiecte. De exemplu, produsul nostru multicatenari utilizarea sa triplat în ultimul an, indiferent dacă măsurăm traficul web, descărcările lunare sau anchetele comerciale. Și, desigur, există multe alte platforme, cum ar fi BigChainDB, Lanţ, Corda, credite, Elemente de, Eris, Țesături, Ethereum (desfășurat într-o rețea închisă), HydraChain și Lanț deschis. Ca să nu mai vorbim de mai multe startup-uri care au dezvoltat un fel de platformă blockchain, dar nu au pus-o la dispoziția publicului.

Pentru companiile care doresc să exploreze și să înțeleagă o nouă tehnologie, o mulțime de alegeri este în general un lucru bun. Cu toate acestea, în cazul blockchain-urilor, care rămân încă puțin definite și slab înțelese, această cornucopie are un dezavantaj semnificativ: multe dintre platformele „blockchain” disponibile nu abordează de fapt problema de bază pe care sunt menite să o rezolve. Și care este această problemă? Permiteți-mi să citesc succintul definire video de Richard Gendal Brown, CTO al R3, în întregime:

Un registru distribuit este un sistem care permite părților care nu au încredere deplină reciprocă să ajungă la un consens cu privire la existența, natura și evoluția unui set de fapte comune, fără a fi nevoie să se bazeze pe un terț centralizat pe deplin de încredere.

Pentru a lua un exemplu extrem, luați în considerare o grămadă de cărămizi Lego legate împreună cu șiruri. Dacă folosim termenul „lanț de bloc” pentru a descrie acest articol de modă, cine va spune că nu îl descriem cu acuratețe? Și totuși, acel lanț special de blocuri nu va ajuta mai multe părți să partajeze în siguranță și direct o bază de date fără un intermediar central. În mod similar, multe platforme „blockchain” fac ceva legat de lanțuri de blocuri, dar nu au nici proprietățile necesare pentru a servi drept bază pentru o bază de date peer-to-peer.

Cum să descoperiți un blockchain pe jumătate pregătit PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
Un alt lanț de blocuri care nu ajută la partajarea bazelor de date - sursă.

Blockchain minim viabil

Pentru a înțelege cerințele de bază ale unui registru distribuit, ajută la clarificarea modului în care aceste sisteme diferă de bazele de date obișnuite, care sunt controlate de o singură entitate. De exemplu, să luăm în considerare un sistem simplu de urmărire a persoanelor care dețin acțiunile unei anumite companii. Registrul, așa cum este implementat într-o bază de date, are un rând pentru fiecare proprietar care conține două coloane: identificatorul proprietarului, cum ar fi numele lor, și cantitatea corespunzătoare de acțiuni.

Iată șase moduri esențiale în care acest sistem ar putea eșua utilizatorii săi:

  • Fals: Transferul acțiunilor de la o persoană la alta fără permisiunea expeditorului.
  • Cenzură: Refuzul de a îndeplini cererea cuiva de a transfera unele acțiuni în altă parte.
  • Inversare: Anularea unui transfer care a avut loc la un moment dat în trecut.
  • Ilegitimitate: Modificarea cantității totale de acțiuni din sistem fără o acțiune corespunzătoare din partea emitentului.
  • Inconsistenta: Oferirea de răspunsuri diferite la întrebările de la utilizatori diferiți.
  • Downtime: Nu răspunde deloc la solicitările de informații primite.

Datorită tuturor acestor posibilități, acționarii trebuie să mențină un nivel ridicat de încredere în oricine gestionează acest registru în numele lor. Construirea și conducerea unei organizații demne de această încredere vine cu probleme și costuri substanțiale.

Blockchain-urile sau registrele distribuite elimină necesitatea acestui tip de operator central de baze de date, permițând utilizatorilor unei baze de date să interacționeze direct între ei, peer-to-peer. În exemplul nostru, acționarii ar putea deține în siguranță acțiunile lor pe un blockchain pe care îl gestionează în mod colectiv și să-și facă transferuri reciproc instantaneu pe acel lanț. (Dezavantajul este o pierdere semnificativă a confidențialității între utilizatorii lanțului, pe care nu o vom aborda aici, dar am avut-o anterior discutată pe larg.)

Toate acestea ne readuc la problema platformelor blockchain. Pentru a servi ca bază viabilă pentru partajarea bazelor de date peer-to-peer, un blockchain trebuie să își protejeze participanții împotriva tuturor celor șase tipuri de eșecuri ale bazei de date - falsificare, cenzură, inversare, tranzacții nelegitime, inconsecvență și perioade de nefuncționare. În timp ce multe produse de pe piață îndeplinesc aceste cerințe, destul de multe dintre ele vin pe scurt. Eu numesc aceste blockchain-uri „pe jumătate”, deoarece se pot adresa unele dintre aceste riscuri, dar nu toate. În anumite privințe, cel puțin utilizatorii bazei de date rămân dependenți de comportamentul bun al unui singur participant, care este tocmai scenariul pe care dorim să îl evităm.

Aceste blockchain-uri pe jumătate sunt disponibile în orice număr de soiuri, dar trei arhetipuri se remarcă ca fiind cele mai comune sau evidente. Nu voi numi produse individuale pentru că nu vreau să jignesc. Comunitatea de pornire blockchain este suficient de mică încât majoritatea dintre noi ne cunoaștem prin conferințe și alte întâlniri, iar interacțiunile tind să fie pozitive. Cu toate acestea, dacă blockchain-urile (în sensul bazelor de date utile peer-to-peer) vor apărea vreodată ca o categorie de produse coerentă, este important să facem distincția între soluțiile pe jumătate și cele reale.

Unul blockchain validator

Un model pe care l-am văzut de câteva ori este un blockchain în care doar un participant poate genera blocurile în care tranzacțiile sunt confirmate. Tranzacțiile sunt trimise către acest nod în loc să fie difuzate către rețea în ansamblu, astfel încât acceptarea lor este supusă capriciilor acestui partid, mai degrabă decât un fel de consens majoritar. Totuși, odată ce un bloc a fost construit de această parte centrală, acesta este transmis către celelalte noduri din rețea, care pot confirma în mod independent validitatea tranzacțiilor din interior și pot înregistra noul bloc local și permanent.

Pentru a reveni la cele șase forme de defecțiuni ale bazei noastre de date, acest tip de blockchain este departe de a fi inutil. Tranzacțiile trebuie să fie semnate digital de entitatea ale cărei fonduri le mută, astfel încât să nu poată fi falsificate de partea centrală. Nu pot fi inversate, deoarece fiecare nod își păstrează propria copie a lanțului. Și tranzacțiile nu pot efectua operațiuni ilegale, cum ar fi crearea de active din aer, deoarece fiecare nod validează în mod independent fiecare tranzacție pentru corectitudine. În cele din urmă, fiecare nod își păstrează propria copie a bazei de date, astfel încât conținutul său este întotdeauna disponibil pentru citire.

Din păcate, patru din șase nu sunt suficiente. Nodul de validare poate cenzura cu ușurință tranzacțiile individuale, refuzând să le includă în blocurile pe care le creează. Chiar dacă operatorii acestui nod sunt sinceri, un eșec al sistemului sau al comunicațiilor îl poate face indisponibil, determinând întreruperea procesării tuturor tranzacțiilor. În plus, în funcție de configurare, nodul de validare poate transmite diferite versiuni ale blockchain-ului către diferiți participanți. În ceea ce privește cenzura și consistența, baza de date conține încă un singur punct de eșec, pe care se bazează toate celelalte noduri.

O platformă oferă o răsucire a acestei scheme, în care blocurile sunt generate central de un singur nod, dar un cvorum al altor noduri desemnate le semnează pentru a indica consensul. În ceea ce privește riscul de inconsecvență, acest lucru ajută cu siguranță. Nodurile din cvorum își vor împrumuta semnăturile doar unei singure versiuni a blockchain-ului, care poate fi, prin urmare, considerat ca fiind autoritar. Cu toate acestea, nodurile cvorumului nu pot ajuta dacă generatorul de blocuri cenzurează tranzacțiile sau își pierde conexiunea la Internet. În cele din urmă, acest tip de blockchain folosește încă o arhitectură hub-and-speak, mai degrabă decât o rețea peer-to-peer.

Blockchain-ul de stat partajat

Din punct de vedere tehnic, există multe asemănări între blockchain-uri și baze de date distribuite mai tradiționale, cum ar fi Cassandra și MongoDB. În ambele cazuri, tranzacțiile pot fi inițiate de orice nod din rețea și trebuie să ajungă la toate celelalte noduri ca parte a unui consens cu privire la starea de dezvoltare a bazei de date. Atât blockchain-urile, cât și bazele de date distribuite trebuie să facă față latenței (întârzierile de comunicare care provin de la distanța dintre noduri) și posibilitatea ca unele noduri și / sau legături de comunicare să cedeze intermitent.

Bazele de date distribuite există de ceva vreme, astfel încât orice dezvoltator de platformă blockchain ar face bine să-și înțeleagă algoritmii de consens și strategiile pe care le folosesc pentru a comanda tranzacții la nivel global și a rezolva conflictele. Cu toate acestea, este important să nu luați comparația prea departe, deoarece blockchain-urile trebuie să se confrunte cu o provocare suplimentară crucială - absența încredere între nodurile bazei de date. În timp ce bazele de date distribuite se concentrează pe asigurarea scalabilității, robusteții și performanței ridicate în limitele unei singure organizații, blockchain-urile trebuie reproiectate pentru a putea traversa acele limite.

Pentru a reveni la cele șase tipuri de riscuri ale bazei noastre de date, un nod dintr-o bază de date distribuită trebuie doar să-și facă griji cu privire la timpul de nefuncționare, adică posibilitatea ca alte noduri să devină indisponibile. Nodurile pot presupune în siguranță că fiecare tranzacție și mesaj din rețea este valabil și nu sunt preocupați de falsificare, cenzură, inversare, nelegitimitate sau inconsecvență. Cea mai gravă problemă a lor este tratarea a două tranzacții simultane, dar valabile, inițiate pe noduri diferite, care afectează aceeași bucată de date. Rezolvarea acestor conflicte nu este deloc banală, dar este totuși mult mai ușor decât să vă faceți griji cu privire la „Defecte bizantine„, În care unele noduri acționează în mod deliberat pentru a perturba funcționarea altora.

O bază de date poate fi partajată numai în siguranță peste aveți încredere în limitele dacă nodurile tratează întreaga activitate din rețea cu un anumit grad de suspiciune. De exemplu, fiecare tranzacție care modifică baza de date trebuie să fie semnată digital individual, întrucât, într-o arhitectură peer-to-peer, nu există o altă modalitate de a-i cunoaște adevăratul punct de origine. În mod similar, fiecare mesaj primit, cum ar fi anunțarea unui nou bloc, trebuie evaluat critic pentru conținutul și contextul său. Spre deosebire de bazele de date distribuite, nodurile nu trebuie să poată modifica imediat și direct starea altui nod.

Unele platforme „blockchain” au fost dezvoltate începând cu o bază de date distribuită și stropind unele caracteristici deasupra pentru a le face mai blockchainy. De exemplu, grupând tranzacțiile în blocuri și stocând hash-uri (amprente digitale) ale acelor blocuri în baza de date, acestea își propun să adauge o formă de imuabilitate. Dar, cu excepția cazului în care fiecare nod poate fi sigur că lista sa de hashuri nu poate fi modificată de un alt nod, acest tip de imuabilitate este ușor de jucat. Răspunsul standard la aceste critici este că fiecare problemă de securitate poate fi rezolvată cu suficient timp și codare. Dar aceasta este mai degrabă ca și cum ai ține unii prizonieri într-un câmp deschis și ai încerca să-i oprești să scape cu fire și șanțuri. Este mult mai sigur să utilizați o structură de beton special construită, ale cărei uși sunt blocate și ale căror ferestre sunt blocate.

Unul blockchain cloud

De departe, cel mai ciudat fenomen pe care l-am văzut sunt platformele blockchain, care pot fi accesate doar prin platforma cloud-based-as-a-service a dezvoltatorului lor. Pentru a fi clar, nu vorbim despre unii dintre participanții la blockchain alegere pentru a-și găzdui nodurile pe furnizorul lor de cloud ales, cum ar fi Microsoft Azure or Amazon Web Services. Mai degrabă, acesta este un blockchain care poate afară să fie accesat prin API-uri expuse de serverele unei companii care „le găzduiește”.

Să acceptăm, de dragul argumentelor, că un furnizor centralizat de blockchain are într-adevăr un grup de noduri care rulează sub controlul său. Ce diferență are acest lucru pentru utilizatorii sistemului care trimit cereri API și primesc răspunsuri? Participanții nu au nicio modalitate de a evalua dacă tranzacțiile tuturor au fost procesate fără omisiune sau eroare. Poate că serviciul central funcționează defectuos sau poate cenzurează sau inversează în mod deliberat unele tranzacții. Și dacă credeți că furnizorul blockchain nu are niciun motiv să facă acest lucru, de ce nu le folosiți pentru a găzdui o bază de date centralizată regulată? Veți obține un produs mai matur cu performanțe mai bune și nu veți suferi niciunul dintre riscurile de a lucra cu noile tehnologii. Pe scurt, blockchain-urile centralizate sunt la fel de utile ca Lego pe un șir.

Rezolvarea misterului

Am văzut acum trei tipuri de platforme care se comercializează ca „blockchains” și utilizează într-adevăr un lanț de blocuri, dar care nu rezolvă problema fundamentală pentru care sunt proiectate aceste sisteme. Pentru a recapitula, aceasta este pentru a permite unei singure baze de date să fie partajată în siguranță și direct peste granițe de încredere, fără un intermediar central.

În afară de a indica acest fenomen ciudat, cred că este instructiv să luăm în considerare ce ar putea sta la baza acestuia. De ce atât de multe start-up-uri blockchain construiesc produse care nu îndeplinesc promisiunile acestei tehnologii, realizând adesea nu mai mult decât baze de date tradiționale centralizate sau distribuite? De ce își pierd atât de mulți oameni talentați atât de mult din timpul lor?

Văd două clase principale de explicații - tehnice și comerciale. Pentru a începe cu tehnica, este destul de dificil să creăm sisteme distribuite de consens care să poată tolera unul sau mai multe noduri care se comportă rău în moduri imprevizibile. În cazul MultiChain, am înșelat oarecum, folosind implementarea de referință întărită de luptă a Bitcoin ca punct de plecare și apoi înlocuind dovada muncii cu un algoritm de consens similar structural numit „diversitate minieră”. Echipele care dezvoltă un nod blockchain de la zero trebuie să se gândească profund la procesele asincrone și contradictorii - o combinație pe care puțini programatori au experiență. Pot înțelege cu siguranță tentația de a lua o comandă rapidă, cum ar fi utilizarea unui singur nod pentru a genera blocuri sau salvarea unei baze de date distribuite existente sau executarea nodurilor doar într-un mediu de încredere. Alegerea oricăruia dintre acestea face, fără îndoială, viața mai ușoară pentru dezvoltatori, chiar dacă acest lucru subminează întregul punct.

Din motive comerciale, fiecare pornire pare să se apropie de oportunitatea blockchain dintr-un unghi diferit. Aici, la Coin Sciences, ne concentrăm să devenim un furnizor de software (bază de date), așa că distribuim gratuit MultiChain în timp ce dezvoltăm un nod premium cu funcții suplimentare. Alte startup-uri doresc să vândă servicii de abonament, așa că vor construi în mod natural o platformă pe care clienții nu o pot găzdui singuri. Unii speră să controleze central un blockchain sau să-și ajute partenerii să facă acest lucru (o ambiție ciudată pentru o tehnologie de dezintermediere!) Și sunt atrași în mod natural de algoritmi de consens care se bazează pe un singur nod. Și, în cele din urmă, există companii al căror obiectiv principal este să vândă servicii de consultanță, caz în care platforma lor nu trebuie să funcționeze deloc, atât timp cât site-ul său web atrage clienți mari.

Poate că o altă problemă este că unele companii blockchain sunt conduse de oameni care, fără îndoială, sunt plini de talent, dar nu au o înțelegere profundă a tehnologiei în sine. La startup-urile care realizează un nou domeniu, este probabil vital ca deciziile strategice să fie luate de oameni care înțeleg natura domeniului respectiv și modul în care acesta diferă de ceea ce a venit înainte. Nu puține start-up-uri blockchain par să se fi pictat într-un colț urmărind o viziune a produsului care este atractivă pentru clienții lor, dar care nu poate fi de fapt construită.

Ca utilizator al blockchain-urilor, cum poți evita să fii prins de aceste erori? Atunci când evaluați o anumită platformă blockchain, asigurați-vă că întrebați dacă îndeplinește cele șase cerințe de partajare sigură a bazelor de date peer-to-peer: prevenirea timpilor de nefuncționare și a inconsecvenței, precum și falsificarea tranzacțiilor, cenzura, inversarea și nelegitimitatea. Și ferește-te de explicațiile care constau în prea multe mormăituri sau fluturări ale mâinii - probabil înseamnă că răspunsul este nu.

Vă rugăm să postați comentarii pe LinkedIn.

Sursă: https://www.multichain.com/blog/2016/12/spot-half-baked-blockchain/

Timestamp-ul:

Mai mult de la multicatenari