Részletes áttekintés a nem blokklánc-blokkláncról
Az idő múlásával a blokklánc világa két különálló részre vált szét. Egyrészt a nyilvános blokkláncok és a hozzájuk kapcsolódó kriptovaluták figyelemreméltó visszatérést élveztek a közelmúltban, és sok multimilliomost vertek. Másrészt az engedélyezett vagy vállalati blokkláncok használata csendesen, de folyamatosan növekszik, amikor először élő bevetések több iparágban 2017-ben.
Az egyik érdekes megfontolandó kérdés a hasonlóság megfelelő szintje e két lánctípus között. Mindkettő egy megosztott adatbázist valósít meg egyenrangú hálózatok, nyilvános-privát kulcsú kriptográfiák, tranzakciós szabályok és konszenzusos mechanizmusok használatával, amelyek képesek túlélni a rosszindulatú szereplőket. Ez nagyon sok közös pont. Mindazonáltal a nyilvános és a privát blokkláncok eltérő követelményeket támasztanak a titoktartás, a méretezhetőség és az irányítás tekintetében. Talán ezek a különbségek arra utalnak, hogy radikálisan eltérő tervekre van szükség.
A Corda platform által kifejlesztett R3 bankkonzorcium, világos álláspontot képvisel ebben a kérdésben. Míg néhány szempontot a nyilvános blokkláncok inspiráltak, a Corda a semmiből készült, az R3 tagjainak igényei alapján. Valóban, bár az R3 továbbra is a „blokklánc” szót használja alaposan termékeik piacra dobása érdekében a Cordának egyáltalán nincs blokklánca. Minden más „elosztott főkönyvi” platformnál jobban tudom, hogy a Corda gyökeresen eltér a hagyományos blokkláncok architektúrájától.
Ebben a darabban az a célom, hogy elmagyarázzam ezeket a különbségeket, és megvigyem jó és rossz következményeit. Valójában a jó és a rossz helytelen megfogalmazás, mert az érdekesebb kérdés: „Mire jó és rossz?” Ez a cikk korántsem rövid. De remélem, hogy a végére az olvasók megértik a Corda különbségeit és az ebből következő kompromisszumokat. A Corda azért fontos, mert tervezési döntései élesen megkönnyebbülnek a vállalati blokkláncokkal kapcsolatos dilemmák közül.
Még egy utolsó dolog, mielőtt belemerülnénk. A mögötte lévő cég vezérigazgatójaként MultiChain, egy népszerű vállalati blokklánc platform, miért írok ilyen mélyrehatóan egy állítólagosan versengő termékről? A szokásos ok az lenne, hogy a MultiChain fölénye mellett érveljek, de nem ez a motivációm. Valójában a Cordát és a MultiChaint nem tekintem versenytársnak, mert alapvetően különböznek egymástól design, építészet és közönség tekintetében. A Corda és a MultiChain ugyanúgy versenyez, mint az óceánjárók és a jet-skik – bár mindkettő szállít embereket a tengeren, szinte nincs olyan valós helyzet, amelyben mindkettőt használni lehetne.
Ami személyesebb, nagyon sokat tanultam a Corda műszaki vezetőitől az elmúlt néhány évben, akár találkozók, levelezés vagy nyilvános írásaik révén, amelyek nagy része még azelőtt történt, hogy csatlakoztak volna az R3-hoz. A Corda iránti érdeklődésem egy része a csapat iránti tiszteletemből fakad, és már csak ezért is érdemes a Cordát tanulmányozni mindenkinek, aki az elosztott főkönyvi területet szeretné megérteni.
A blokkláncok bemutatása
A Corda megértéséhez hasznos a hagyományos blokkláncokkal kezdeni. A blokklánc célja, hogy lehetővé tegye egy adatbázis vagy főkönyv közvetlen és biztonságos megosztását nem bízó felek számára. Ez ellentétben áll a központosított adatbázisokkal, amelyeket egyetlen szervezet tárol és vezérel. A blokkláncnak több „csomópontja” van, amelyek mindegyike tárolja az adatbázis másolatát, és egy másik szervezethez tartozhat. A csomópontok sűrű peer-to-peer módon kapcsolódnak egymáshoz, egy „pletykaprotokoll” segítségével, amelyben minden csomópont folyamatosan elmondja a többieknek mindazt, amit megtanul. Ennek eredményeként bármely csomópont gyorsan képes üzenetet küldeni a teljes hálózatnak számos alternatív útvonalon keresztül.
Egy adatbázis, legyen az központosított vagy blokklánc-alapú, üres állapotban kezdődik, és „tranzakciókkal” frissül. A tranzakciót úgy definiáljuk, mint adatbázis-módosítások összességét, amelyek „atomi”, vagyis összességében sikeresek vagy kudarcot vallanak. Képzeljen el egy pénzügyi főkönyvet ábrázoló adatbázist, számlánként egy sorral. Az a tranzakció, amelyben Alice 10 dollárt fizet Bobnak, három lépésből áll: (1) ellenőrizze, hogy Alice számlája tartalmaz-e legalább 10 dollárt, (2) vonjon le 10 dollárt Alice számlájából, és (3) adjon hozzá 10 dollárt Bob számlájához. Alapvető követelményként minden adatbázisplatformnak biztosítania kell, hogy egyetlen tranzakció sem zavarja a másikat. Ezt az „elkülönítést” úgy érik el, hogy mind Alice, mind Bob sorait zárolják, amíg a fizetés folyamatban van. Minden más tranzakciónak, amely ezeket a sorokat érinti, meg kell várnia, amíg ez a tranzakció befejeződik.
A blokkláncban minden csomópont függetlenül dolgoz fel minden tranzakciót az adatbázis saját példányán. A tranzakciókat a hálózat bárhol létrehozzák, és automatikusan továbbítják az összes többi csomóponthoz. Mivel a csomópontokat működtető szervezetek eltérő (vagy akár ütköző) érdekekkel rendelkezhetnek, nem bízhatnak egymásban a tisztességes tranzakciókban. A blokkláncoknak ezért olyan szabályokra van szükségük, amelyek meghatározzák, hogy egy adott tranzakció érvényes-e vagy sem. A megosztott pénzügyi főkönyvben ezek a szabályok megakadályozzák, hogy a felhasználók egymás pénzét költsék, vagy légből kapott pénzeszközöket varázsoljanak elő.
A tranzakciók érvényességét meghatározó szabályok mellett a blokkláncoknak meg kell határozniuk a tranzakciók sorrendjének módját is, mivel sok esetben ez a sorrend kritikus. Ha Alice-nek 15 dollárja van, és két külön tranzakcióban próbál 10 dollárt küldeni Bobnak és Charlie-nak, csak az egyik fizetés lehet sikeres. Bár azt mondanánk, hogy az első tranzakció élvez elsőbbséget, egy peer-to-peer hálózatnak nincs objektív meghatározása az „első”-re, mivel az üzenetek különböző csomópontokhoz, eltérő sorrendben érkezhetnek.
Tranzakciós szabályok
Általánosságban elmondható, hogy az adatbázisban lévő információk rekordokra vagy „sorokra” vannak osztva, és egy tranzakció három különböző dolgot tehet: sorokat törölhet, sorokat hozhat létre és/vagy módosíthat sorokat. Ezek tovább csökkenthetők kettőre, mivel egy sor módosítása egyenértékű a sor törlésével és egy új létrehozásával a helyére. Ha vissza akarunk térni Alice Bobnak fizetett kifizetéséhez, a 15 USD-t tartalmazó sor törlésre kerül, és két új sor jön létre – az egyikben 10 USD Bob, a másikban pedig 5 USD „változtatás” Alice számára.
A bitcoin és a Corda terminológiáját követve a tranzakció által törölt sorokat „bemenetként”, a létrehozottakat pedig „kimenetként” jelöljük. A tranzakció által törölt sorokat egy korábbi tranzakció hozta létre. Ezért minden tranzakciós bemenet felhasználja (vagy „elkölti”) egy előző tranzakció kimenetét. Az adatbázis naprakész tartalmát a „fel nem használt tranzakciós kimenetek” vagy „UTXO-k” halmaza határozza meg.
A blokkláncban a tranzakció akkor érvényes, ha teljesíti a következő három feltételt:
- helyessége. A tranzakciónak legitim átalakítást kell képviselnie a bemenetekről a kimenetekre. Például egy pénzügyi főkönyvben a bemeneti források teljes mennyiségének meg kell egyeznie a kimenetek teljes mennyiségével, hogy megakadályozzuk a pénz varázslatos megjelenését vagy eltűnését. Az egyetlen kivételt a speciális „kibocsátási” vagy „kivonási” tranzakciók jelentik, amelyekben a pénzeszközöket kifejezetten hozzáadják vagy eltávolítják.
- Meghatalmazás. A tranzakciót a bemenetei által felhasznált minden kimenet tulajdonosának engedélyeznie kell. A pénzügyi főkönyvben ez megakadályozza, hogy a résztvevők engedély nélkül elköltsék egymás pénzét. A tranzakciók engedélyezését aszimmetrikus (vagy nyilvános-privát kulcsú) kriptográfia segítségével kezelik. Minden sornak van egy nyilvános kulccsal azonosított tulajdonosa, akinek a hozzá tartozó privát kulcsát titokban tartják. Az engedélyezéshez a tranzakciót minden egyes bemenet tulajdonosának digitálisan alá kell írnia. (Ne feledje, hogy a soroknak bonyolultabb „többaláírású” tulajdonosai is lehetnek, például ahol háromból bármelyik fél engedélyezheti a használatukat.)
- egyediség. Ha egy tranzakció egy adott kimenetet fogyaszt, akkor egyetlen másik tranzakció sem tudja újra felhasználni azt a kimenetet. Így akadályozzuk meg, hogy Alice egymásnak ellentmondó kifizetéseket fizessen Bobnak és Charlie-nak. Bár mindkét fizetés tranzakciója helyes és engedélyezett lehet, az egyediségi szabály biztosítja, hogy csak az egyiket dolgozza fel az adatbázis.
A hagyományos blokkláncban minden csomópont minden tranzakciót e három szabály szerint ellenőriz. Később meglátjuk, hogyan osztja fel a Corda másként ezt a felelősséget.
Építőkockák
A blokklánc szó szerint blokkok láncolata, amelyben minden blokk egy „hash”-en keresztül kapcsolódik az előzőhöz, amely egyedileg azonosítja annak tartalmát. Minden blokk tartalmazza a tranzakciók rendezett halmazát, amelyek nem ütközhetnek egymással vagy az előző blokkokban lévőkkel, valamint egy időbélyeget és néhány egyéb információt. A tranzakciókhoz hasonlóan a blokkok is gyorsan terjednek a hálózaton, és minden csomópont függetlenül ellenőrzi őket. Ha egy tranzakció megjelenik egy blokkban, azt „megerősítik”, így a csomópontok elutasítják az ütköző tranzakciókat.
Ki a felelős e blokkok létrehozásáért, és hogyan lehetünk biztosak abban, hogy minden csomópont egyetért a mérvadó láncban? A „konszenzusos algoritmusok” kérdése önmagában is hatalmas téma, tele olyan csodálatos mozaikszókkal, mint a PoW (Proof of Work), PBFT (Practical Byzantine Fault Tolerance) és DPoS (Delegated Proof of Stake). Ebbe itt nem fogunk belemenni. Elég annyit mondanunk, hogy a vállalkozások számára engedélyezett blokkláncok valamilyen szavazási sémát használnak, ahol a szavazatokat a kollektíven felelős „ellenőrző csomópontok” kapják. A séma biztosítja, hogy mindaddig, amíg az érvényesítő csomópontok jó többsége megfelelően és becsületesen működik, a tranzakciók (közel) tisztességes sorrendben lépnek be a láncba, az időbélyegek (hozzávetőlegesen) helyesek lesznek, és a visszaigazolt tranzakciókat nem lehet utólag visszafordítani.
Mielőtt a blokkláncok kihívásairól beszélnék, három további pontot szeretnék tisztázni. Először is, míg ebben a részben pénzügyi főkönyvet használok példaként, a tranzakciók input-output modellje sokkal szélesebb körű felhasználási eseteket támogat. Minden sor tartalmazhat egy gazdag adatobjektumot (gondoljunk a JSON-ra), amely sokféle információt tartalmaz – a Corda valóban az „állapot” szót használja ezért a „sor” helyett. A gazdagabb állapotok semmit sem változtatnak alapvetően a tranzakciós szabályokon: a helyességet továbbra is a bemenetek és a kimenetek alapján határozzák meg, továbbra is minden inputhoz engedély szükséges, és az egyediség biztosítja, hogy minden kimenet csak egyszer költhető el.
Másodszor, sok blokklánc-használati eset létezik, amikor a sorok csak az adatbázisban jönnek létre, és soha nem törlődnek. Ezek az alkalmazások általános adattárolásra, időbélyegzésre és közjegyzői hitelesítésre vonatkoznak, nem pedig valamilyen változóban lévő főkönyv fenntartására. Ezekben a csak adatokat használó alkalmazásokban a tranzakciók adatokat adnak hozzá a kimeneteikhez, de nem fogyasztanak semmit a bemeneteikben, ami lehetővé teszi a helyességre, engedélyezésre és egyediségre vonatkozó szabályok egyszerűsítését. Bár a MultiChainnél egyre nagyobb hangsúlyt fektetünk a csak adathasználati esetekre, ezeket itt csak futólag említem, mivel a Cordát nyilvánvalóan nem ezekre gondolva tervezték.
Végül érdemes megjegyezni, hogy egyes blokklánc-platformok nem használnak input-output modellt. Az Ethereum egy alternatív paradigmát mutat be, amelyben a lánc egy globális állapotú virtuális számítógépet irányít, amelyet „szerződések” kezelnek, és a tranzakciók nem kapcsolódnak egymáshoz kifejezetten. Az Ethereum modell engedélyezett blokkláncokban való megvitatása itt kívül esik a hatáskörünkön, de lásd ezt a cikket részletes magyarázatért és kritikáért. Az input-output paradigma egyik legfontosabb előnye, hogy a legtöbb tranzakció párhuzamosan és egymástól függetlenül is feldolgozható. Ez a tulajdonság kulcsfontosságú a Corda számára, amint azt később látni fogjuk.
Blockchain kihívások
Képzeljük el, hogy a világ bankjai közös főkönyvet hoztak létre, amely különféle pénzügyi eszközök tulajdonjogát, átruházását és cseréjét ábrázolja. Elméletileg ez megvalósítható egy normál blokkláncon, a fent leírtak szerint. Minden sor három oszlopot tartalmazna – egy eszközazonosítót (például GOOG vagy USD), a tulajdonolt mennyiséget és a tulajdonos nyilvános kulcsát. Minden tranzakció egy vagy több eszközt helyez át a bemeneteiből a kimeneteibe, speciális esetekkel a kibocsátásra és a visszavonásra.
A hálózat minden bankja egy vagy több csomópontot futtatna, amelyek csatlakoznak a többihez, továbbítva és ellenőrizve a tranzakciókat. A vezető tagok érvényesítőként működnének, és kollektív felelősségük lenne a tranzakciók megerősítése, megrendelése és időbélyegzése. Az érvényesítő bármilyen helytelen viselkedése látható lesz a hálózat összes csomópontja számára, ami bírálathoz, kitiltáshoz és/vagy jogi eljárásokhoz vezet. Mindezek mellett bármely pénzügyi eszköz pillanatok alatt átvihető a világban, a helyesség, a jogosultság és az egyediség szabályai garantálják a főkönyv sértetlenségét.
Mi a baj ezzel a képpel? Valójában három probléma van: a méretezhetőség, a titkosság és az interoperabilitás. A méretezhetőség kérdése elég egyszerű. A javasolt bankközi blokkláncunk megkövetelné, hogy minden tag ellenőrizze, feldolgozza és tárolja a világ minden bankja által végrehajtott minden tranzakciót. Még ha ez technikailag a legnagyobb pénzintézetek számára is megvalósítható lenne, a számítási és tárolási költségek sokak számára jelentős akadályt jelentenek. Minden bizonnyal jobban szeretnénk egy olyan rendszert, amelyben a résztvevők csak azokat a tranzakciókat látják, amelyekben azonnal részt vesznek.
De tegyük félre a méretezhetőséget, hiszen ez végső soron drága számítógépekkel és okos tervezéssel megoldható. Ennél alapvetőbb kérdés a titoktartás. Noha utópisztikusan hangozhat, hogy minden tranzakció mindenhol látható legyen, a való világban az ilyen radikális átláthatóság nem kezdő lépés a verseny és a szabályozás szempontjából. Ha a JP Morgan és a HSBC kicserél egy pár eszközt, valószínűleg nem akarják, hogy a Citi és a Bank of China lássa, mit tettek. Ha a tranzakciót ezeknek a bankoknak az ügyfelei nevében bonyolították le, illegális lehet, hogy azt ilyen módon nyilvánosságra hozzák.
A titoktartás problémájának egyik javasolt megoldása a „csatornák”, amint azt a Hyperledger Fabric implementálja. Minden csatornának vannak bizonyos tagjai, akik a hálózat egészének csomópontjainak egy részhalmazát alkotják. Egy csatorna tranzakcióit csak a tagjai láthatják, így minden csatorna külön blokkláncként működik. Ez ugyan segít a titoktartásban, de aláássa a gyakorlat lényegét. Az eszközöket nem lehet egyik csatornáról a másikra áthelyezni egy megbízható közvetítő segítsége nélkül, amely mindkettőn aktív. A közelmúltban a SWIFT rávilágított ennek a megközelítésnek a nehézségére egyeztetés proof-of-concept, amely becslése szerint több mint 100,000 100,000 csatornára lenne szükség a gyártáshoz. Ez XNUMX XNUMX sziget, amelyek között az eszközöket nem lehet közvetlenül mozgatni.
Csak adathasználati esetekben, amikor a tranzakciók nem fogyasztanak adatot a bemenetekben, a bizalmassági probléma kikerülhető a kimenetekben lévő adatok titkosításával vagy kivonatolásával, valamint a visszafejtési kulcs vagy a kivonat nélküli adatok láncon kívüli szállításával. De egy olyan tranzakció esetében, amelynek bemenetei más tranzakciók kimeneteit fogyasztják, minden csomópontnak látnia kell ezeket a bemeneteket és kimeneteket a tranzakció érvényesítéséhez. Míg a fejlett kriptográfiai technikák, mint pl bizalmas eszközök és a nulla tudásbizonyítás Ennek a problémának a részleges vagy teljes megoldására lettek kifejlesztve a pénzügyi főkönyvek esetében, ezek jelentős teljesítményterhelést jelentenek és/vagy nem általánosíthatók semmilyen helyességi szabályra.
Végül beszéljünk az interoperabilitásról. Egy ideális világban minden bank azonnal csatlakozna globális blokkláncunkhoz az indulás napján. A valóságban azonban több blokkláncot alkalmaznának a bankok különböző csoportjai a földrajzi helyzet vagy a már meglévő kapcsolatok alapján. Idővel előfordulhat, hogy az egyik csoport egyik tagja szeretne tranzakciót folytatni egy másik csoport tagjával, egy eszköz láncok közötti átvitelével. Csakúgy, mint a csatornák esetében, ezt is csak megbízható közvetítő segítségével lehet elérni, legyőzve a blokklánc célját.
A Corda az elosztott főkönyvek működésének radikális újragondolásával kívánja megoldani a skálázhatóság, a titkosság és az interoperabilitás egymással összefüggő problémáit.
Corda részleges képe
A Corda alapvető különbsége könnyen megmagyarázható: minden csomópont csak néhányat lát a hálózaton feldolgozott tranzakciók közül, nem pedig az összeset. Míg ezek a tranzakciók egyetlen logikai és fogalmi főkönyvet határoznak meg, egyetlen csomópont sem látja a főkönyvet teljes egészében. Összehasonlításképpen a világ bármely pontján minden dollár bankjegy egy adott helyen van, de senki sem tudja, hol vannak.
Tehát milyen tranzakciókat lát a Corda csomópont? Mindenekelőtt azokat, amelyekben közvetlenül részt vesz, mivel az adott tranzakció bemenetei vagy kimenetei közül az övé. A pénzügyi főkönyvben ez minden olyan tranzakciót magában foglal, amelyben egy csomópont pénzt küld vagy fogad. Tegyük fel, hogy Alice létrehoz egy tranzakciót, amely felemészti a 15 USD-t egy bemenetben, és két kimenete van – az egyik 10 USD-t nekem, a másik pedig 5 USD-t ad neki. Miután Alice elküldte nekem ezt a tranzakciót, ellenőrizhetem a helyességét és az engedélyezést, ellenőrizve, hogy a bemenetek és a kimenetek egyensúlyban vannak-e, és hogy Alice aláírta-e.
Ez a tranzakció azonban önmagában nem elegendő. Azt is ellenőriznem kell, hogy Alice 15 dolláros beviteli állapota valóban létezik-e, és nem csak ő találta ki. Ez azt jelenti, hogy látnom kell azt a tranzakciót, amely ezt az állapotot hozta létre, és ellenőriznem kell a helyességét és az engedélyezést is. Ha ebben az előző tranzakcióban, amelyből Alice 15 dollárt küldött, van egy 10 dolláros bemeneti adat Denzeltől és egy másik 5 dolláros Erictől, akkor ellenőriznem kell az ezeket létrehozó tranzakciókat is. És így megy tovább, egészen az eredeti „kibocsátási” tranzakcióig, amelyben az eszköz létrejött. Az ellenőrizendő tranzakciók száma attól függ, hogy az eszközök hányszor cseréltek gazdát, és a visszafelé elágazás mértékétől függ.
Mivel a Corda csomópontok nem látnak automatikusan minden tranzakciót, hogyan szerezhetik meg a szükségeseket? A válasz minden új tranzakció feladójától származik. Mielőtt Alice létrehoz egy tranzakciót a 15 dollárjával, már ellenőriznie kell azt a tranzakciót, amelyben megkapta. És mivel Alice bizonyára a fenti rekurzív technikát alkalmazta, minden tranzakcióról lesz másolata, amely ehhez az ellenőrzéshez szükséges. Bob egyszerűen lekéri ezeket a tranzakciókat Alice-től az interakciójuk részeként. Ha Alice nem válaszol megfelelően, Bob arra a következtetésre jut, hogy Alice megpróbálja becsapni, és elutasítja a bejövő fizetést. Abban az esetben, ha Bobnak olyan új tranzakciót küldenek, amelynek bemeneteinek több tulajdonosa van, mindegyiktől megkaphatja a szükséges bizonyítékokat.
Bemutatkozik a közjegyzők
Eddig elmagyaráztuk, hogyan tudja Bob ellenőrizni egy bejövő tranzakció helyességét és engedélyezését, beleértve a bemeneti adatok eredetének rekurzív visszakeresését. De van még egy szabály, amin gondolnunk kell: az egyediség. Tegyük fel, hogy Alice rosszindulatú. Létrehozhat egy tranzakciót, amelyben 10 dollárt fizet Bobnak, és egy másikat, amelyben ugyanazt a 10 dollárt fizet Charlie-nak. Elküldheti ezeket a tranzakciókat Bobnak, illetve Charlie-nak, mindegyik helyességéről és felhatalmazásáról szóló teljes igazolással együtt. Bár mindkét tranzakció ütközik egymással, mivel ugyanazt az állapotot fogyasztják, Bob és Charlie ezt nem tudhatja.
A hagyományos blokkláncok úgy oldják meg ezt a problémát, hogy minden csomópont minden tranzakciót lát, így az ütközések könnyen észlelhetők és elutasíthatók. Tehát hogyan kezeli a Corda a tranzakciók részleges láthatóságával ugyanezt a problémát? A válasz „közjegyző” segítségével. A közjegyző egy megbízható fél (vagy együtt dolgozó felek), amely garantálja, hogy egy adott államot csak egyszer fogyasztanak el. Minden államnak külön közjegyzője van, akinek alá kell írnia minden olyan tranzakciót, amelyben az adott államot felhasználják. Ha ezt a közjegyző megtette, nem írhat alá másik ügyletet ugyanarra az államra. A közjegyzők a hálózat őrei a tranzakciók egyediségének.
Míg minden államnak más-más közjegyzője lehet, az adott ügylet által fogyasztott összes állapotot ugyanahhoz kell hozzárendelni. Ezzel elkerülhető a holtpontokkal és a szinkronizálással kapcsolatos problémák, amelyeket az elosztott adatbázisban szerzett tapasztalattal rendelkezők ismerhetnek. Tegyük fel, hogy Alice és Bob megállapodnak abban, hogy Alice 10 dollárját Bob 7 fontjára cserélik. A csereügyletet mindkét állam közjegyzőjének alá kell írnia, de melyik megy előbb? Ha Alice közjegyzője aláírja, de Bob-é valamilyen okból meghiúsul, akkor Alice-nek egy hiányos tranzakció marad, és soha többé nem használhatja fel 10 dollárját. Ha Bob először jelentkezik, akkor ő is hasonlóképpen ki van téve. Bár azt szeretnénk, ha a közjegyzők egyszerűen együtt dolgoznának, a gyakorlatban ehhez kölcsönös bizalomra és konszenzusos protokoll használatára van szükség, amely bonyodalmakat a Corda tervezői elkerülték.
Ha egy ügylethez különböző közjegyzőkkel rendelkező államok szükségesek, akkor tulajdonosaik először speciális „jegyzőváltási” tranzakciókat hajtanak végre, amelyek az államot egyik közjegyzőről a másikra helyezik át, semmi mást nem változtatva. Tehát amikor a felek több inputot tartalmazó ügyletet kötnek, először meg kell állapodniuk a használandó közjegyzőről, majd végre kell hajtaniuk a szükséges közjegyzői változtatásokat. Míg a fejlesztő bennem egy kis fájdalmat érzett, amikor erről a megoldásról olvasott, nincs ok arra, hogy miért ne működne mindaddig, amíg a közjegyzők közreműködnek.
Azt is tisztázni kell, hogy bár minden közjegyző egyetlen logikai szereplő az ügyletek aláírása szempontjából, nem kell egyetlen fél ellenőrzése alatt állnia. Szervezetek egy csoportja közösen működtethet közjegyzőt, megfelelő konszenzusos protokoll használatával, amelyben a résztvevők többsége szükséges az érvényes aláírás létrehozásához. Ez megakadályozná, hogy egyetlen rosszindulatú fél aláássák az egyediséget az ütköző tranzakciók aláírásával. Elméletileg még azt is megengedhetnénk a hálózat minden csomópontjának, hogy részt vegyen az ilyen megosztott közjegyzői hitelesítésben, bár ebben az esetben többé-kevésbé visszatérnénk a hagyományos blokklánchoz.
Pontszám felvétele
Foglaljuk össze a legfontosabb különbségeket a Corda és a hagyományos blokkláncok között. A Cordában nincs egységes blokklánc, amely az összes visszaigazolt tranzakciót tartalmazza. A csomópontok csak azokat a tranzakciókat látják, amelyekben közvetlenül részt vesznek, vagy amelyektől történelmileg függenek. A csomópontok felelősek a tranzakciók helyességének és engedélyezésének ellenőrzéséért, de megbízható közjegyzőkre támaszkodnak az egyediség ellenőrzésére.
Természetesen a Cordában sokkal több van ennél: digitális tanúsítványok használata az identitás hitelesítésére, „hálózati térképek”, amelyek segítenek a csomópontoknak megtalálni és megbízni egymásban, államonkénti „szerződések”, amelyek az egyes államok szemszögéből határozzák meg a helyességet, a Java virtuális gép determinisztikus verziója, amely végrehajtja ezeket a szerződéseket, „folyamatokat”, amelyek automatizálják a tranzakciós tárgyalásokat, „időablakokat”, amelyek idő szerint korlátozzák a tranzakciókat, „orákulumokat”, amelyek külső tényeket tanúsítanak, és „CorDapps”-okat, amelyek sok mindent összefognak az egyszerű terjesztés érdekében . Noha ezek a funkciók mindegyike érdekes, mindegyikük megfelelője megtalálható más blokklánc-platformokon. Ebben a cikkben az a célom, hogy a Cordát egyedivé tegyem.
Tehát a Corda beváltja az ígéretét? Megoldja-e a blokkláncok skálázhatósági, titkossági és interoperabilitási problémáit? És konkrét döntései során mekkora árat fizet a Corda?
Néha jobban méretezhető
Kezdjük a skálázhatósággal. Itt a Corda előnye egyértelműnek tűnik, mivel a csomópontok csak néhány tranzakciót látnak a hálózatban. Egy normál blokkláncban a maximális átviteli sebességet a tranzakciófeldolgozás leglassabb csomópontjának sebessége korlátozza. Ezzel szemben egy Corda hálózat másodpercenként millió tranzakciót tud feldolgozni, miközben minden csomópont ennek csak egy töredékét látja. A skálázhatóság a közjegyzőkre is kiterjed, hiszen a tranzakciók egyediség érdekében történő aláírásának feladata sok különböző közjegyző között oszlik meg, amelyek mindegyike a hálózat állapotainak egy kis hányadáért felelős.
Ennek ellenére van egy olyan helyzet, amelyben a Corda sokkal rosszabbul teljesít, mint egy blokklánc. Ez akkor fordul elő, amikor egy csomópont új tranzakciót kap, amely sok más tranzakciótól függ, amelyet korábban nem látott. Képzeljünk el egy rendkívül likvid eszközt, amelyet 10 évvel ezelőtt bocsátottak ki, és körülbelül ötpercenként cserél gazdát. Az új tranzakciótól az eszköz kibocsátásáig vezető út több mint egymillió tranzakció hosszú lesz. Amikor egy csomópont először kapja meg ezt az eszközt, le kell kérnie ezt a millió tranzakciót a feladótól, és mindegyiket egymás után ellenőriznie kell. A (meglehetősen optimista) 1000 tranzakció/másodperc sebesség mellett 17 perc késésbe kerülne, mielőtt a címzett továbbküldhetné az eszközt – ez egyértelműen túl hosszú egy ilyen likvid dologhoz.
Miért nem a blokkláncok szenvednek ettől a problémától? Mivel a csomópontok minden tranzakciót azonnal látnak és ellenőriznek, ezért folyamatosan frissítik a főkönyv állapotát, és pontosan tudják, hogy jelenleg kié az összes eszköz. Még akkor is, ha egy csomópont korábban soha nem birtokolt egy adott eszközt, azonnal ellenőrizheti a tranzakciót, amelyben azt megkapta, majd azonnal továbbküldheti. Másképpen fogalmazva, a blokklánc csomópontoknak ellenőrizniük kell azokat a tranzakciókat, amelyek esetleg nem relevánsak számukra, de ennek során előre kifizetik az esetleges jövőbeni tranzakciók ellenőrzésének költségét. Míg a Corda csomópontok összességében kevésbé elfoglaltak, a fennáll annak a veszélye, hogy egy pillanat alatt hatalmas mennyiségű munkát kell elvégeznie. Nincs ebben semmi méretezhető.
Valamivel bizalmasabb
Térjünk át a titoktartásra. A Cordában a csomópontok csak a hálózat tranzakcióinak egy részét látják, ami tagadhatatlanul jobb adatvédelmet jelent, mint a hagyományos blokkláncok. Ennek ellenére a Corda még messze van attól, hogy megoldja a titoktartási problémát, mert a csomópontok még mindig látnak néhány olyan tranzakciót, amelyek nem az ő dolguk. Egy egyszerű példával élve, ha Alice 10 dollárt fizet Bobnak, akkor Bob ezt a 10 dollárt továbbküldi Charlie-nak, Charlie csomópontján meg kell mutatni az Alice és Bob közötti tranzakciót, bár az nem érinti őt. Abban az időben, amikor Alice fizetett Bobnak, nem tudta, ki láthatja ezt a tranzakciót a jövőben, és bárkinek bármikor elküldheti.
Az igazság kedvéért a Corda fejlesztői tisztában vannak ezzel a problémával, és a 15. fejezetben tárgyalják. Műszaki fehér könyv. A cikk olyan egyszerű stratégiákat javasol, mint például több nyilvános kulcs használata entitásonként, vagy a nyomon követhetőség csökkentése azáltal, hogy az eszközöket visszajuttatják a kibocsátókhoz újrakibocsátás céljából (hasonlóan a kriptovaluta „érmekeverőihez”). Megemlíti a fejlettebb jövőbeli lehetőségeket is, mint például a Tor-szerű anonimizálási hálózatok használatát a résztvevők IP-címének elrejtésére, valamint a nulla tudás-bizonyítékok vagy az Intel által biztosított igazolások kihasználását. biztonságos enklávékat hogy a tranzakciókat tartalmuk felfedése nélkül érvényesítse. Noha ezek a javaslatok mind érvényesek, a szokásos blokkláncokra is alkalmazhatók az input-output modellt használva, és valóban előfordultak olyan kriptovalutákban, mint a Dash, a Zcash és a Verge. Így a Corda egyetlen egyedülálló előnye a titoktartás tekintetében továbbra is a tranzakciók csökkentett láthatósága – ez a legjobb esetben is hiányos megoldás.
Minden a tenyésztésben
Ahhoz, hogy jobban megértsük a Corda skálázhatósági és bizalmassági előnyeit, meg kell jegyeznünk, hogy ez mennyire függ a tranzakciók közötti kapcsolatok sűrűségétől és átfedésétől. Képzeljünk el egy hálózatban végrehajtott tranzakciók „családfáját”, amelyben minden tranzakció szülői az előzőek, amelyektől az azonnal függ. Pontosabban, amikor egy tranzakció kimenetét egy másik bemenete fogyasztja, egy nyilat rajzolunk, amely a szülő és a gyermek közötti kapcsolatot ábrázolja. A tranzakciókban tetszőleges számú szülő és gyermek lehet, bár a legtöbb esetben csak néhányra számítunk.
Ennek a családfának a ismeretében egy tranzakció őseiként a szüleit, nagyszüleit, dédszülőit stb. határozzuk meg. Fánk „Ádám és Éva” olyan kibocsátási tranzakciók, amelyek vagyont hoztak létre, és nincs saját szülőjük. A rendes családfákhoz hasonlóan két tranzakció nem lehet egymás őse. Formális számítástechnikai értelemben ez a irányított aciklikus gráf vagy DAG, amelyben az ősiség a szülői reláció tranzitív lezárásaként van definiálva.
Emlékezzünk vissza, hogy amikor egy Corda csomópont feldolgoz egy tranzakciót, le kell töltenie és ellenőriznie kell a tranzakció összes elődjét, kivéve azokat, amelyeket korábban látott. Tehát ha a családfa mély, az új bejövő tranzakcióknak nagyszámú elődje lehet, amelyeket ellenőrizni kell, ami kiváltja a Corda méretezhetőségi problémáját. Ezen túlmenően, ha a családfa nagyfokú keresztezést tartalmaz, egy új tranzakció elődei sok vagy a legtöbb korábbi tranzakciót tartalmazhatnak a hálózatban. Ebben az esetben a Corda kevés előnnyel jár a magánélet védelmében.
Ezzel szemben, ha a tranzakciók családfája sekély, és sok szétválasztott szigetet tartalmaz, amelyek nem lépnek kölcsönhatásba egymással, a Corda előnyei előtérbe kerülnek. A csomópontoknak soha nem kell egyszerre nagy számú tranzakciót ellenőrizniük, és a legtöbb olyan tranzakcióról, amelyek nem kapcsolódnak a sajátjukhoz, titokban tarthatók. Ha pénzügyi főkönyvként használjuk, azt mondhatjuk, hogy a Corda ideális az erősen széttagolt piacokhoz, ahol az eszközök ritkán cserélnek gazdát.
Interoperabilitás a győzelemért
Itt van egy olyan terület, ahol Corda valóban ragyog. Képzeljen el két különálló Corda-hálózatot, különböző eszközökkel és résztvevőkkel. Egyszer az egyik hálózat résztvevője el akar küldeni egy eszközt valakinek a másik hálózatban. A hagyományos blokkláncokkal ellentétben nem várható, hogy a csomópont minden korábbi tranzakciót ellenőrizni fog, így az új eszközt fogadó csomópont nem tapasztal semmi szokatlant. Amikor a tranzakció beérkezik, egyszerűen lekéri és ellenőrzi a vonatkozó előzményeket, anélkül, hogy tudatában lenne annak, hogy ez egy „külön hálózatból” származik. Egy közhelyet feszegetve azt mondhatnánk, hogy Cordában nincsenek idegenek – csak barátok, akik még nem találkoztak.
A valóságban a dolgok nem ilyen egyszerűek. Bármely Corda csomópont kifejezetten eldönti, hogy melyik közjegyzőben bízzon meg, mivel egy rosszul viselkedő közjegyző pénzügyi zűrzavart okozhat. Ezen túlmenően, a csomópontoknak szükségük van egy „ajtónálló” által kiadott „tanúsítványra”, hogy a hálózat más csomópontjaihoz kapcsolódhassanak, mivel nem engedhetjük meg, hogy a nyilvánosság véletlenszerű tagjai csatlakozzanak a csomópontokhoz, és pazarolják erőforrásaikat. Tehát mielőtt az egyik hálózat csomópontja elkezdhet tranzakciókat kérni és ellenőrizni egy másik hálózatból, fel kell vennie a megbízható közjegyzők listáját, és be kell szereznie a megfelelő tanúsítványt. Bár ez bizonyos kézi konfigurálást és adminisztrációt igényel, ez a minimum, ami egy ilyen jellegű rendszertől elvárható. Összességében jogos arra a következtetésre jutni, hogy az interoperabilitás a Corda nagy győzelme a hagyományos blokkláncokkal szemben.
Újraközvetítés
Itt az ideje, hogy beszéljünk a dezintermediációról, az elefántról Corda szobájában. A blokkláncokkal összefüggésben a deközvetítés azt jelenti, hogy minden résztvevő minden tranzakciót saját maga ellenőrizhet, anélkül, hogy függene harmadik felek jó magatartásától. Ban ben az én nézetem, a deintermediation a blokkláncok fő előnye a központosított adatbázisokkal szemben, amelyekben minden résztvevő teljes mértékben az adott adatbázis tulajdonosától függ. Ha a hálózat résztvevőinek van egy közvetítője, akire számíthatnak, és nincs üzleti vagy szabályozási indoka a közvetítés megszüntetésére, akkor van nincs értelme blokklánc használatában. A központosított adatbázisok gyorsabbak és hatékonyabbak, és elkerülik a tranzakciók bizalmas kezelését.
Tehát a Corda-hálózat résztvevői elérik-e az intermediációt? Nos, igen, igen és igen, de nem. A tranzakció kézbesítésénél a Corda bejelöli a négyzetet, mivel a tranzakcióban részt vevő csomópontok közvetlenül beszélnek egymással. Helyességét és jogosultságát tekintve is jó állapotban van, hiszen minden csomópont saját maga tudja ellenőrizni ezeket a tulajdonságokat. Amikor azonban a tranzakció egyediségének ellenőrzéséről van szó, a Corda megbukik a közvetítési teszten. A csomópontok saját maguk nem tudják megerősíteni az egyediséget, mivel nem látnak minden tranzakciót a hálózatban, és a feladatot megbízható közjegyzőkre bízzák.
A Corda résztvevői számos módon ki vannak szolgáltatva a közjegyzőknek. Először is, a közjegyző megtagadhatja a tranzakció aláírását, még akkor is, ha a bemenetei olyan kimeneteket fogyasztanak, amelyeket korábban soha nem használtak. A pénzügyi főkönyvben ez megakadályozza, hogy valaki elküldje vagy kicserélje eszközeit. Másodszor, a közjegyző aláírhat két egymásnak ellentmondó ügyletet, amelyek ugyanazt a kimenetet fogyasztják, és két fél azt hiheti, hogy ugyanazt kapták. Mivel a duplikált eszköz mindkét címzettje elküldi vagy kicseréli a további tranzakciók során, a fertőzés továbbterjed, és hamarosan a teljes főkönyv sértetlensége aláásható. Végül a közjegyző megtagadhatja a „közjegyzőváltás” ügylet aláírását, hogy egy államot átruházzon egy versenytársra, gyakorlatilag túszul ejtve az eszköz tulajdonosát. Az államok és a különböző közjegyzők közötti tranzakciók esetében messze nem mondható, hogy a Corda bevezeti több közvetítés, mint egy központi adatbázis, mert több harmadik fél irányítja.
Ennek a kockázatnak a kilátásba helyezéséhez érdemes emlékeztetni arra, hogy a Corda közjegyzőit nem kell egyetlen szervezetnek felügyelnie. Ezek egy konszenzusos algoritmust futtató csomópontok csoportjából is állhatnak, amelyek elviselik a rossz szereplőket. Ebben az esetben a közjegyző mindaddig jól működik, amíg a legtöbb tagcsomópont betartja a szabályokat. A felszínen ez inkább úgy hangzik, mint egy blokklánc, ami attól függ, hogy az érvényesítők többsége jól viselkedik-e. Cordában azonban a kockázatok lényegesen magasabbak. A legrosszabb, amit a blokklánc-ellenőrzők tehetnek, hogy megakadályozzák egyes tranzakciók megerősítését. Egy rosszindulatú Corda közjegyző is aláírhat egymásnak ellentmondó tranzakciókat, és a főkönyvet inkonzisztens szakadékba küldi.
Furcsa állat
A skálázhatóság, a titkosság, az interoperabilitás és a közvetítés hiánya együttesen nehéz egyszerű döntést hozni a Corda alternatíváról. Összességében ennek a blokklánc-platformfejlesztőnek a szemszögéből nézve, nos… lenyűgözőnek, de furcsanak tűnik. A skálázhatóság és a titoktartás kulcsproblémák megoldására tervezett Corda megoldásai hiányosak, és nagymértékben függenek a tranzakciós „családfa” alakjától. Mégis, hogy elérje ezeket a részleges győzelmeket, a Corda elveszíti a blokkláncok egyik alapvető tulajdonságát – a tranzakciós közvetítők eltávolítását. Bár a Corda kétségtelenül jeleskedik az átjárhatóság terén, ez tényleg elég?
Ha szkeptikusak akarunk lenni, azt mondhatnánk, hogy a Corda csapatát lehetetlen feladat elé állította – olyan ízű blokkláncot kell megtervezni, amely megfelel az R3-at finanszírozó bankoknak. De a blokkláncok fő előnye a központosított adatbázisokkal szemben a közvetítés hiánya, aminek az ára a csökkentett titoktartás. Hogyan lehetne értelme ennek a kompromisszumnak olyan pénzügyi intézmények számára, amelyek pénzt keresnek közvetítőként, és nagyon érzékenyek a magánéletre? Ebben a megvilágításban a Cordát hősies, de végső soron nem kielégítő kompromisszumként méltathatjuk az R3 tagjainak valami blokkláncra való törekvése és a kereskedelmi és szabályozási korlátok között, amelyek mellett léteznek.
Letétkezelő 2.0
De én inkább pozitívabb megközelítést alkalmazok. Ahelyett, hogy a blokkláncokkal való összehasonlításra összpontosítanánk, a Cordát a pénzügyi status quo jelentős technikai frissítéseként tekinthetjük. Egyszerűen cserélje ki a „jegyző” szót a „gondnoki” szóra, és minden szépen a helyére kerül. (A gondnok egy pénzintézet, amely mások nevében tart vagyont.) Igen, a közjegyzők közvetítők, akik egyszerre tudják blokkolni a tranzakciókat és lehetővé teszik a konfliktusok kialakulását, de ez igaz a mai letétkezelőkre is. A „közjegyzői váltási ügylet” a vagyon egyik letétkezelőtől a másikhoz történő átruházásaként fogható fel. A Corda-tranzakciókat pedig csak egy közjegyző írja alá ugyanazon okból, mint amiért szeretjük, ha az eszközcserék egy helyen történnek – hogy elkerüljük, hogy bármelyik fél kimenjen a zsebéből.
Ha így nézzük a Cordát, láthatjuk, hogyan javítja a hagyományos őrizetbe vételi modellt:
- Szabványos számítási paradigmát és formátumot határoz meg a pénzügyi eszközök és egyéb szerződéses kötelezettségvállalások kifejezésére.
- Nyílt forráskódú szoftvert biztosít ezen kötelezettségvállalások értelmezéséhez és végrehajtásához, garantálva, hogy a tranzakcióban részt vevő felek és letétkezelők minden tranzakció kimeneteléről megegyezzenek.
- A visszaélések ellen védelmet nyújtó összetett többpárti letétkezelők hozhatók létre (csak szoftver használatával!) hibatűrő konszenzus-algoritmusok felhasználásával.
- Szabványos eljárás („közjegyzői változás”) van meghatározva a vagyon letétkezelők közötti átruházására, és a letétkezelő nem tagadhatja meg.
- A letétkezelők nem használhatják az általuk kezelt vagyontárgyat a tulajdonos beleegyezése nélkül, mivel a tranzakciókat a bemeneteik tulajdonosainak is alá kell írniuk.
Messze vagyok attól, hogy bankár legyek, de számomra mindez elég ígéretesen hangzik. És talán a Corda hasonlóképpen alkalmazható más, összetett felügyeleti struktúrával rendelkező iparágakban is, mint például a biztosítás vagy a szállítás. Bár a Corda tervezése nem biztos, hogy biztosítja a blokklánc teljes szétválasztását, erőteljes átalakulást javasol az iparágak számára, amelyekben a közvetítők alapvető szerepet játszanak.
Ha ezt a gondolatmenetet végigjárjuk, óhatatlanul felvetődik a kérdés: Ha már a közjegyzőkre bízzuk az egyediség igazolásának életre-halálra szóló munkáját, miért ne hagyatkozhatnánk rájuk a helyesség és a felhatalmazás tekintetében is? A Corda már rendelkezik az „érvényesítő közjegyző” fogalmával, amely teljes körűen ellenőrzi a tranzakciókat, mielőtt aláírná. Ahelyett, hogy a rendszeres Corda-csomópontok letöltenék és ellenőriznék a tranzakciók őseit, miért ne kérdezhetne meg egy közjegyzőt? Ez segíthet a méretezhetőségben és a bizalmas kezelésben, mivel a legtöbb csomópont nem lát a sajátján kívül más tranzakciókat. Még azt is javasolhatjuk, hogy egy hálózat közjegyzői teljes mértékben megbízzanak egymásban, így nem kell aggódnia az ősök miatt. Valamennyi állam közjegyzője kezeskedhetett az érvényességéért, csak azt az ügyletet ellenőrizte, amely azt létrehozta, más közjegyzők segítségével.
Legyen Corda Corda
Mindez visszavezet minket oda, ahonnan indultunk: a Corda nem igazán vetélytársa a hagyományos blokkláncoknak, beleértve a MultiChaint is. A Corda a Corda – egy érdekes új típusú elosztott főkönyv, amelyet a finanszírozók igényeire optimalizáltak. Fogalmam sincs, hogy a Corda végül sikerrel jár-e vagy elbukik, mert nem ismerem a valós költségeit és előnyeit a dolgok jelenlegi módjához képest. De nem számít, mi történik a jövőben, mindenképpen érdemes filozófiai és tervezési szempontból tanulmányozni.
Ami a MultiChaint illeti, más megközelítést alkalmazunk. Ellopni tőle egy sort The West Wing, elhatároztuk, hogy „legyen a blokklánc blokklánc”. A blokkláncok olyanok, amilyenek, és nem tervezzük, hogy valami mássá alakítsuk őket. A megosztott alkalmazások adatinfrastruktúrájaként a blokklánc sajátos kompromisszumot jelent a központosított adatbázishoz képest – a közvetítés hiányában a csökkentett bizalmas kezelés árán. Keményen dolgozunk azon, hogy a MultiChain 2.0 a lehető legjobb legyen blockchain platform az alkalmazásfejlesztők számára.
Kérjük, tegye meg észrevételeit a LinkedIn.
Forrás: https://www.multichain.com/blog/2018/05/r3-corda-deep-dive-and-technical-review/
- Fiók
- Mozaikszavak
- aktív
- További
- Előny
- algoritmus
- algoritmusok
- Alkalmazás
- alkalmazások
- építészet
- TERÜLET
- cikkben
- vagyontárgy
- Eszközök
- közönség
- meghatalmazás
- Bank
- kínai bank
- Banking
- Banks
- BEST
- Számla
- blockchain
- Doboz
- Épület
- Csomag
- üzleti
- esetek
- Okoz
- vezérigazgató
- igazolás
- tanúsítványok
- változik
- csatornák
- ellenőrzése
- Ellenőrzések
- gyermek
- Gyerekek
- Kína
- citi
- bezárás
- Hozzászólások
- kereskedelmi
- Közös
- vállalat
- verseny
- versenytársak
- Computer Science
- számítógépek
- konfliktus
- megegyezés
- beleegyezés
- fogyaszt
- tartalom
- tartalom
- szerződések
- Corda
- kiadások
- létrehozása
- hajókázás
- cryptocurrencies
- cryptocurrency
- kriptográfia
- Jelenlegi
- Őrizet
- Ügyfelek
- DAG
- Gondolatjel
- dátum
- adattárolás
- adatbázis
- adatbázisok
- nap
- üzlet
- késleltetés
- átadó
- kézbesítés
- Design
- Fejlesztő
- fejlesztők
- Fejlesztés
- DID
- digitális
- Elosztott könyvtár
- Dollár
- elefánt
- Mérnöki
- Vállalkozás
- Ethereum
- csere
- Feltételek
- Gyakorol
- szövet
- igazságos
- család
- Divat
- Jellemzők
- Végül
- pénzügyi
- Pénzintézetek
- végén
- vezetéknév
- első
- Összpontosít
- formátum
- Tele
- finanszírozás
- alapok
- jövő
- általános
- Globális
- globális blokklánc
- jó
- kormányzás
- nagy
- Csoport
- Növekvő
- itt
- elrejt
- Magas
- Kiemelt
- történelem
- Hogyan
- HTTPS
- hatalmas
- ötlet
- Identitás
- Illegális
- Beleértve
- iparágak
- információ
- Infrastruktúra
- Intézmény
- intézmények
- biztosítás
- kölcsönhatás
- kamat
- Az interoperabilitás
- részt
- IP
- kiadás
- kérdések
- IT
- Jáva
- Munka
- csatlakozik
- Kulcs
- kulcsok
- tudás
- nagy
- vezet
- Vezetés
- vezető
- tanult
- Főkönyv
- Jogi
- szint
- fény
- vonal
- Folyadék
- Lista
- Hosszú
- fontos
- Többség
- Gyártás
- piacára
- piacok
- Mérkőzés
- találkozók
- Partnerek
- megemlíti
- millió
- modell
- pénz
- mozog
- többláncú
- hálózat
- hálózatba
- hálózatok
- csomópontok
- fogalom
- nyitva
- nyílt forráskódú
- érdekében
- rendelés
- Más
- Egyéb
- tulajdonos
- tulajdonosok
- Fájdalom
- Papír
- paradigma
- szülők
- Fizet
- fizetés
- kifizetések
- Emberek (People)
- teljesítmény
- perspektíva
- filozófia
- kép
- emelvény
- Platformok
- Népszerű
- be
- ár
- magánélet
- magán
- Termékek
- Termelés
- bizonyíték
- ingatlan
- védelme
- nyilvános
- R3
- olvasók
- Olvasás
- Valóság
- újrafutóz
- nyilvántartások
- Szabályozás
- Kapcsolatok
- megkönnyebbülés
- követelmények
- Tudástár
- nyugdíjazás
- Kritika
- Kockázat
- szabályok
- futás
- futás
- skálázhatóság
- Tudomány
- SEA
- lát
- értelemben
- készlet
- megosztott
- Szállítás
- rövid
- Jelek
- Egyszerű
- kicsi
- So
- szoftver
- Megoldások
- SOLVE
- sebesség
- Költési
- terjedése
- tét
- kezdet
- kezdődött
- Állami
- Államok
- Állapot
- tárolás
- tárolni
- árnyékolók
- Támogatja
- felületi
- rendszer
- Műszaki
- teszt
- A jövő
- Gondolkodás
- harmadik felek
- idő
- tolerancia
- Nyomon követhetőség
- tranzakció
- Tranzakciók
- Átalakítás
- Átláthatóság
- szállítható
- Bízzon
- Kivonat nélküli
- us
- USAdollár
- Felhasználók
- küszöbén
- Igazolás
- Megnézem
- Tényleges
- virtuális gép
- láthatóság
- Szavazás
- várjon
- Nyugati
- WHO
- Wikipedia
- nyer
- Munka
- világ
- érdemes
- írás
- év
- Zcash
- nulla