Evolution of Kadena, prvi Real Private Blockchain | SI.democraziakmzero.org

Evolution of Kadena, prvi Real Private Blockchain

Evolution of Kadena, prvi Real Private Blockchain

George Samman je blockchain in cryptocurrency svetovalec in svetovalec, ki je pred kratkim soavtor Prvinsko poročilo o blockchain arhitekture s KPMG.

Tukaj Samman pojasnjuje, kako je bilo soglasje algoritem doseči Splav dokončno določi svojo daljni sorodnik Kadena. 

Ta člen zajema Kadena je blockchain. Uporablja ScalableBFT ponuditi visoko zmogljivost (8,000-12,000 transakcij na sekundo) s popolno replikacijo in distribucijo na prej nemogoče lestvice (zmogljivosti za več kot 500 sodelujočih vozlišč).

To, skupaj z večplastno varnostnega modela in postopnega hašiš omogočajo resnično robustno blockchain. Na podlagi Splav in Juno, Kadena vdela polno pametne pogodbe jezik (Pakt) v svojem blockchain, ki jih lahko vodijo bodisi kot javno (golo besedilo) in zasebnih (šifriranih dvojno zaskočko) poslov.

To je velik korak naprej v prostoru blockchain, morda predstavlja novo generacijo blockchain tehnologije v celoti s svojo uvedbo idejo "prodorna determinizem".

Podobno Bitcoin je Kadena je blockchain tesno povezano, in razumeti, kaj je mogoče in kaj te sposobnosti pomeni, zahteva zajema precej tleh. Kot tak sem razdeljena članek na tri dele: 1) Uvod & Splav, 2) Kadena je Predhodniki - Tangaroa in Juno, in 3) Kadena je Blockchain - ScalableBFT, pakt in vseprisotno determinizem.

1. Del: Uvod in Splav Consensus algoritem

Zgodovina za Kadena je zanimiva študija primera v novem področju blockchain algoritmov soglasja in porazdeljenega računalništva.

Kadena je "daljni sorodnik" v soglasju algoritma Raft. Mehanizem Splav soglasje sledilo Tangaroa (bizantinske odporna na napake (BFT) Splav) in projekt JP Morgan Juno (razcepa Tangaroa), od katerih niti so več v aktivnem razvoju.

JP Morgan je nova blockchain Quorumis zelo razlikuje od Juno in uporablja zlitje idej iz sidechains in ethereum - javna pametne pogodbe so dovoljene na blockchain poleg zasebnih naročil, ki so zastopane kot šifriranih haše in razširja po stranskih kanalih.

Kadena je "naslednje generacije Juno". Uporablja novo, vendar s tem povezane, protokol imenovan ScalableBFT, ki je ustvaril z odprto kodo projekta Juno in je bila zgrajena s strani dveh ključnih razvijalcev, ki so zgradili Juno. Pred potopom globoko v Kadena, treba razpravljati kratka zgodovina in opis Splav in predhodniki do Kadena.

Splav soglasje

Soglasje algoritem Splav je enoten sistem, ki temelji vodja za upravljanje ponovili dnevnik. Uporablja repliciral državno strojno arhitekturo in daje enakovredne rezultate Paxos, vendar je strukturno drugačen.

Ohranjanje ponoviti dnevnik dosledno je naloga o soglasju algoritma. V tem modelu, vodja opravi večino dela, saj je izdajanje vse posodobitve dnevnika, potrjevanje transakcije, in na splošno upravljanje grozda. Splav soglasje zagotavlja strogo naročanje in replikacijo sporočil. Ne skrbi, kaj sporočila vsebujejo.

Novi vodja je izvoljen z uporabo verjetnostne časovne omejitve, ki se sprožijo, če privrženec ne prejme sporočilo od vodje pred časovno omejitev požarov. To so ti "srčni utrip".

Če spremljevalec prejme nobenega sporočila v tem časovnem obdobju, da postane kandidat in sproži volitve. Kandidat, ki prejme glasove večine celotnega grozda (vozlišč v omrežju), postane novi vodja. Voditelji ponavadi deluje, dokler jim ne uspe. Na srčni utrip se pošiljajo na prepričajte, da je voditelj je še vedno tam; če se nič prejel novo volitve poteka.

Naslednje faze so kako Splav pride do soglasja:

  1. Grozd vozliščnih strežnikov Splav je začel z vsako vozlišče začetku kot "sledilca". Sčasoma bo eno vozlišče Prekinitev, postane kandidat, pridobiti večino glasov in postal vodja.
  2. Vsako vozlišče shranjuje dnevnik, ki vsebuje ukaze. To je naloga voditelja, da sprejme nove ukaze, strogo naročite ukaze v svojem dnevniku, ponovitev svoj dnevnik, da svojih privržencev, in končno obvesti privržencev, ko se zavežejo dnevnike, ki so jih ponoviti. Soglasje algoritem tako zagotavlja, da so dnevniki vsak strežnik, ki je isti vrstni red.
  3. Dnevniki so "zavezani", ko so bili ti repliciral na večino vozlišč. Vodja zbira štetje replikacije in, ko večina bi videl, zavezuje svoje nove vnose v dnevnik in o tem obvesti svoje privržence, naj storijo enako.
  4. Po "zavezati" je ukaz pri vsakem vnosu dnevnik ocenil, da država stroji. Ker Splav je vseeno za telo ukaza, lahko vsaka država strojno obdelavo zavzetih vnose. Poleg tega je soglasje zagotavlja, da bi izvršitev ukaza vedno poteka v istem vrstnem redu, kot so ukazi prihajajo iz Dnevnika, ki je strogo naročeno.
  5. Avtomati bo ostala dosledna tako dolgo, kot so ukaz usmrtitve deterministična.
  6. Ko stranka pošlje ukaz za enega od strežnikov, bo ta strežnik bodisi posreduje ukaz vodje ali je vodja. Vodja zbira nov ukaz, da dodeli indeks Log, jo povzema v Logu vstopa, in dodaja ukaz neporabljenih del njegovega dnevnika.
  7. Kadarkoli ima vodja nerazporejenih vnose, se ponavlja ta del dnevnika njegovih privržencev. Ko je vodja obveščen o uspešnem replikacije z večino grozda, stori nove vnose in odreja svoje privržence, naj storijo enako.
  8. Kadarkoli nov vnos v dnevnik je bil dosežen predani soglasje o tem vnosu. Nato je ocenil državni stroj na vsakem strežniku.
  9. Od tega trenutka dalje, je Splav končana in izvajalci se lahko odločijo, kako ravnati odgovorov; odgovor za stranko, ali čakajo na stranko, da se pozanima za rezultat.

Odzivi na stranko, so na splošno asinhrono.

Splav soglasje protokol je prav to - soglasje algoritem. To nima pojma in je privzeto, popolnoma odprti za vse ukaze strank izdajo. Edina omejitev udeležba to naredi, je o tem, kaj obstaja vozlišč v določenem času.

Poleg tega je vodja ima absolutno oblast nad grozda in odreja privržencev posnemati in se zavezati. To ne prevzema bizantinske napadov, ki jih potrebuje za ravnanje samo napake trčenja, saj so vozlišča predpostavlja altruistično.

2. Del: Kadena je Predhodniki - Tangaroa in Juno

Tangaroa: Prvi korak k BFT splavom

Tangaroa je bizantinski odporna na napake (BFT) varianta soglasja algoritma Raft zgleduje po prvotni Raft algoritma in bizantinski Toleranca napak (PBFT) algoritem Praktična.

Bizantinski toleranco se nanaša na napake razreda zlonamernih vozlišč napadajo omrežje povzročajo. Če nekaj vozlišč iti dol, da je nujno, da omrežje še naprej teče brez ustavljanja.

V standardni Splav, boste morali ponoviti vnos dnevnika za večino vozlišč v gruči, preden ga stori. Za BFT soglasja algoritmov, vključno Tangaroa, zahtevana velikost gruče je vsaj 2f + 1, kjer je f število napak želite prenašati (vključno s tako strmoglavilo vozlišč in ogrožena vozlišč). Konsenz je dosežena z večino glasov grozda; če f <= 3 nato velikosti grozda = 7 in ne-bizantinsko vozlišč = 4. Lahko nekateri BFT protokoli celo zahtevajo 3f + 1.

Bizantinsko Leader lahko odločijo, da bodo samovoljno povečanje zavežejo indeks drugih vozlišč, preden so bili vnosi v dnevniku dovolj ponoviti, kar je povzročilo varnostne kršitve, ko vozlišča ne kasneje. Tangaroa premakne zavezati odgovornost proč od voditelja, in vsako vozlišče lahko preveri zase, da je bil vnos v dnevnik varno ponovili za sklepčnost vozlišč, in da je ta sklepčnost strinja na naročanje.

Tangaroa omogoča strankam, da prekinejo sedanje vodstvo, če ne bo napredka, na enak način kot druge BFT Consensus algoritmi omogočajo stranki, da se obnašajo kot zaupanja vrednega orakelj, da odstaviti določenih vozlišč. To omogoča Tangaroa preprečiti bizantinske voditelji iz stradajo sistem, vendar je zelo zaupanja v stranko.

Vodja volitve in faze

Tangaroa uporablja Splav kot temelj za soglasje; Tako je en sam voditelj. V Tangaroa, kot v splav, vsako vozlišče je v eni od treh držav: voditelj, sledilec, ali kandidat.

Podobno kot splav, vsako vozlišče začne kot sledilec, od katerih bo sčasoma Timeout, in klic na volitvah. Zmagovalec volitev služi kot vodja za preostanek mandata; Pogoji konča, ko je izvoljen novi vodja. Včasih, bodo volitve za posledico, glasovanje po delih, in izraz se bo končala brez voditelja. V tem primeru se bo Partizan ponovno časovne omejitve (časovne omejitve so ponastavitev, ko je glas odda ali volitev se imenuje) in znova začeti postopek glasovanja.

Za začetek volitev, privrženec korakih svoj trenutni mandat in pošlje RequestVote (RV) Remote Procedure Call (RPC), vzporedno z vsako od drugih vozlišč v gruči prosi za njihovo glasovanje. V RPC Tangaroa Uporablja se za podobne RPC-jev splav je, z izjemo, da je vsak RPC podpisanih in potrjenih preko PPK podpisov.

RPC omogočajo izmenjavo podatkov med različnimi računalniki prebivajo v omrežju in podpisi omogočajo prejemanje vozlišča za preverjanje, ki vozlišče poslal RPC poleg omogoča katerokoli vozlišče naj RPC katera koli druga vozlišča v vsakem trenutku.

Ko Tangaroa vozlišče prejme RV RPC z veljavnim podpisom, da podeli glas takoj, samo če ne trenutno nima vodje (pojavi le ob zagonu). V nasprotnem primeru, se začne proces, ki Tangaroa pokliče "LazyVote."

Namen je LazyVote je zaščititi ne bizantinske sledečih od izvolili novega vodjo, ko je voditelj ni v okvari; brez leni glasovanja, lahko bizantinske vozlišče sproži ponavljanja volitev v vsakem trenutku in stradati sistem. Ko je nova RV prejel sledilec, se shrani RV in čaka na vse od naslednjih pogojev, ki jih morajo izpolnjevati:

A) Volitve timeout Spremljevalec se sproži požare, preden je obdelal srčnega utripa od trenutnega voditelja. Če je srčni utrip je prejela, je LazyVote izbil.

B) RV nov mandat, je večja od njenega sedanjega mandata.

C) Zahteva pošiljatelja je primerna kandidatka (velja PPK podpis in stranka ni prepovedala vozlišče).

D) vozlišče prejme avtodom ni glasoval za drugega voditelja za predlagano obdobje.

E) Kandidat deli dnevniško predpono z vozlišče, ki vsebuje vse zavzetih vnose. Vozlišče vedno zavrne zahtevo, če je še vedno prejema srčnega sporočil iz trenutnega voditelja, in ne upošteva RequestVote RPC, če je predlagani rok že začelo.

Če je RequestVote veljavna in za nov mandat, in kandidat ima dnevnik dovolj up-to-dan, vendar je prejemnik še vedno prejema bitja srca od trenutnega voditelja, bo posneti svoj glas na lokalni ravni, in nato pošlje odgovor glasovanja, če vozlišče sam podvržen zakasnitev volitev ali sliši od stranke, ki je sedanji vodja odziva.

Pod leni glasovanja, vozlišče ne daje glas za kandidata, če se meni, da je sedanji vodja je v okvari. To preprečuje vozlišč, ki se začnejo nepotrebne volitve pri pridobivanju potrebnih glasov, da postane vodja in stradati sistem.

Vozlišča počakajte menijo volitve potrebuje, da pride do kdaj oddajo glasu. Ko je glasovanje pošlje, bo vozlišče posodobi svoj izraz številko. To ne prevzame, da je vozlišče je glasoval za zmagal na volitvah pa je in bo še vedno zavrne AppendEntries (AE) RPC od kandidata, če nobeden od njih vsebuje nabor glasov dokazujejo kandidat zmagal na volitvah. AE je služil dvojni namen bitja srca in nosilci novih vnosov dnevnik, ki potrebujejo replikacijo. Kandidat se nadaljuje v države kandidatke, dokler ena od treh stvari se dogaja:

A) je zmagal na volitvah, ki jih prejme večino glasov iz grozda. Kandidat mora rešiti te glasov - RequestVoteResponse (RVR) RPC - za nadaljnjo distribucijo.

B) Druga vozlišče se vzpostavlja kot vodja

C) čas, ki ga gre brez zmagovalca (tj: to doživlja še eno zakasnitev volitev)

Kandidat, ki zmaga na volitvah, potem se spodbuja k stanju vodja in pošlje AE srčnega utripa sporočila, ki vsebuje glasove, ki jo je in posodobljeno izraz število izvoljenih, da vzpostavi svojo oblast in preprečiti nove volitve. Podpisani glasov učinkovito preprečuje bizantinsko vozlišča se samovoljno promocijo kot vodja višjega izraza. Še več, vsak privrženec izvede ponovnega štetja na večino glasov omenjenega, preverjanje in štetje vsak glasoval za novega vodjo prenese na neodvisno preveriti veljavnost volitev.

Upravljanje

Kot Splav, Tangaroa uporablja verjetnostne časovne omejitve za sprožitev voditeljske volitve. Vodja vsakega mandata občasno pošlje srčnega sporočila (prazno AE RPC), da ohrani svojo avtoriteto. Če privrženec ne prejme sporočila od voditelja nad naključno izbranem časovnem obdobju, timeout volitve, potem pa postane kandidat in sproži nove volitve.

Poleg spontanih-sledilkah sproži volitve, Tangaroa omogoča tudi posredovanje strank: ko stranka navaja nobenega napredka z vodjo za določen čas, ki se imenuje časovna omejitev napredek, se razširja UpdateLeader RPC na vseh vozliščih, jim povedal, da prezreti prihodnjih bitja srca iz kaj stranka meni, da je sedanji vodja v tekočem mandatu. Ti privrženci bodo prezreti srčnega sporočila v tekočem mandatu in časa, kot če bi sedanji voditelj ni, se začne nov volitve.

Podatki, prejeti

Podatki (novi ukazi) prihajajo iz strank v Raft grozd, ki pošiljajo prošnje za vodjo. Vodja ponovitev te vloge v skupini, in se odziva na stranko, ko je kvorum dosežen v gruči na to zahtevo.

Kaj pomeni "zahtevo" je sistemsko-odvisna. Kako Podatki se shranjujejo je sistemsko-odvisna. To je pomembno za države, da vztrajajo na disk, tako da lahko vozlišča opomore in ne pozabite, informacije, ki so se zavezala, da bo (kar vozlišča so glasovali za, kar dnevnik vpisi so se zavezali, itd). Brez tega protokola ne bo delovala.

Tangaroa dodaja BFT za splav razvoj

Juno

Projekt JP Morgan Juno je razcepa Tangoroa in je bil dokaz koncepta, ki je lahko obsega Tangaroa vključujejo do 50 vozlov in povečati hitrost transakcij do 5000 transakcij na sekundo.

JPM ekipa za Juno videl potencial, da Tangaroa podoben pristop predstavlja - visoke zmogljivosti zasebno blockchain. So poudarjen na idejo za eno leto in odprta koda projekt v februarju 2016. Ti dodano pametno pogodbo jezik, določen nekatere oblikovne napake in uspeli doseči povečanje za 10-kratno zmogljivost, ki dovoljuje za število vozlišč, da glasujejo za spremembo, medtem ko sistem je bilo tekmovanje v teku. Juno dovoljena za dodajanje in odstranjevanje vozlišč, in je permissioned porazdeljen sistem, v katerem so znani vsi vozlišč v omrežju.

Faze mehanizma in volilnega procesa voditelja so enaki kot Tangaroa (glej zgoraj). Prav tako, se transakcija šteje v živo, ko je v celoti ponoviti in se zavezali k dnevniku.

Vodja odloči vrstni red ukazov in vsakih vozlišč potrjuje. Vsako vozlišče samostojno odloča, kdaj bo storila vnos v dnevnik, ki temelji na dokazih, ki jih prejme od drugih vozlišč. Vsak vnos v dnevnik je posebej angažirana in postopoma zgoščen v primerjavi s predhodnim vnosom. To traja približno 5 ms za en zapis v dnevnik, da gredo od voditelja prejema vstop na polno soglasje, ki je dosegel in omrežja latence.

3. Del: Kadena je Blockchain - ScalableBFT, pakt, in vseprisotno determinizem

Kriptografija

Za razliko od splav, vsaka replika v sistemu BFT Raft (družina algoritmov, ki vključujejo Tangaroa, Juno in Kadean je ScalableBFT) izračuna kriptografski hash vsakič, ko se doda nov vnos v svoj dnevnik. Hash se izračuna glede na prejšnje hash in novo priloženega začetku dnevnika.

Vozlišče lahko prijavite svoje zadnje hash dokazati, da je repliciral celoto dnevnika, in drugih strežnikov lahko preveri to hitro uporabo podpis in hašiš. BFT Raft vozlišča in stranke vedno podpisala pred pošiljanjem sporočil in prejemati sporočil, ki ne vsebujejo veljaven podpis.

BFT splavi uporabo Primarni razprševanje omogoča vozlišč biti prepričani, da tako vsebino in urejanje dnevnikov vozlišče ujemajo svoje. Z uporabo tega znanja, lahko vozlišča neodvisno zavezati vnose v dnevnik varno, ker sta vsebina in naročanje hlodov vozlišče je potrjeno, da preko ujemanje primarne hash.

BFT splavi uporabi digitalnih podpisov v veliki meri za preverjanje pristnosti sporočil ter preveri njihovo integriteto. To preprečuje bizantinsko voditelja zaradi spreminjanja vsebine sporočil ali kovanje sporočila in ščiti gručo običajno iz velikega števila bizantinskih napadov.

Consensus

V splav, je vodja izvoljen s pomočjo naključno časovne omejitve, ki sprožijo člana, da se predlaga kot kandidatke in zahtevo glasov. ScalableBFT tudi to počne, ampak na kriptografsko varen način. Na primer, če je vodja postane nedosegljiv, bi timeout sproži nove volitve, vendar je postopek volitev je robusten proti bizantinskih vozlišč izjavljajo volitve. ScalableBFT določa vprašanja, ki se pojavljajo Juno in Tangaroa o leni glasovanja.

Samo edinstvene sposobnosti voditelja so: 1) naročanje novih poslov pred replikacijo in 2) posnemajo nove posle za privrženca vozlišč. Od tega trenutka dalje, vsa vozlišča neodvisno dokazujejo veljavnost soglasja in integriteto posameznega posla.

Odstranitev anonimnega sodelovanja je zahteva oblikovanje za zasebne blockchains, in to dovoljeno za visoko zmogljivost BFT soglasje mehanizma za zamenjavo rudarstvo. ScalableBFT primarni dodatek k družini BFT splave je sposobnost, da obsega v 1000-ih vozlišč ne zmanjšuje pretočnost sistema.

Vsaka transakcija je repliciral, da vsako vozlišče. Ko je večina vozlišč ponovili transakcijo, je transakcija zavezana. Vozlišča zbere in razdeli informacije (primarni hash) o tem, kaj so ponovili, in te podatke uporabijo za neodvisno odloči, kdaj se zavežejo (> 50% drugih vozlišč pošljete primarne hash za katera niso transakcije, ki se strinjajo s).

To v bistvu deluje s tem večinski glas o tem, kaj bi storila. Stori transakcijo, ne pomeni, da se bo izvajal, samo, da je bilo trajno ponovili z večino grozda. Bad transakcije, tisti, ki o napakah ali imajo slabe podpise, so ponovili tudi soglasje "naloga je, da zagotovi popolno urejen replikacijo.

Stori transakcijo omogoča vsako vozlišče potem neodvisno ovrednotenje (razčleniti / dešifriranje / potrditev Crypto / izvršiti / itd.) Vsako transakcijo na enak način. Vsak posel dobi seznanjene z močjo, to lahko segajo od "slabe CRYPTO" na izhodu pametne naročila plast (ki je lahko tudi napaka).

Končno, poleg vodja posnemajo nove posle za vsako vozlišče vozlišča so bolj ali manj samostojno. Namesto "sinhronizacijo" se oddaja "sem ponovili do log indeks N in ima mejno hash H" v skupini in te podatke zbrati od drugih vozlišč - na podlagi rezultatov iz drugih vozlišč vsako vozlišče lahko samostojno odločili, če grozd je repliciral mimo vrat je potrebno, da se zavežejo (večinski replikacije za nekatere od še neporabljenih indeksa log N).

Tukaj je subtilna del: mejna hash pomeni replikacijo vse, ki so prišli pred njim. Če vodja posnema 8.000 novih poslov (kar trenutno počne), je potrebno vsako vozlišče le distribucijo in zbiranje dokazov za zadnje transakcije te serije, saj pomeni pravilno replikacijo tiste, ki so prišli pred njim. Namesto pošiljanja 8.000 sporočil (po eden za vsako transakcijo), ki dokazujejo, da pravilno replikacijo vozlišč le razpravljali zadnje transakcije.

To je razlog, zakaj Kadena potrebno toliko cevovodov, saj je ekipa pogruntal, kako se zavežejo 8.000 transakcij z enako hitrostjo, kot je storila enotno transakcijo.

ScalableBFT predstavlja preboj na področju BFT soglasja, saj je prvi in ​​edini deterministična BFT soglasje mehanizem, ki lahko obsega mimo sto vozlišč s popolno replikacijo in šifriranja. ScalableBFT ponuja tudi edinstveno varnostni model, znan kot prodorno determinizma, ki zagotavlja varnost, ne le na ravni transakcij, ampak na ravni soglasja, kot tudi, medtem ko šifriranje vsako transakcijo z uporabo protokola hrupa (glej spodaj).

Kadena uporablja deterministično soglasje

Mehanizem soglasje je deterministična, če se postopek soglasje v celoti v skladu s protokolom, in ta proces ne zaposluje naključnosti. Kot je bilo navedeno zgoraj, Splav, na primer, uporablja verjetnostne časovne omejitve za sprožitev volitve, ko je voditelj gre dol (saj vodja ne more komunicirati "Jaz sem na tem, da se sesuje", da je časovna omejitev, ki je bil ob spodbudilo vozlišče, da preveri, če vodja je navzdol), vendar volitev ni del konsenza na ravni transakcij, je namesto sredstvo za iskanje vozlišče za orkester soglasje.

ScalableBFT je deterministična in utrjena, tako da:

  1. Vozlišča bodo storile šele, ko je večina grozda se strinja z njimi
  2. Dokazi o soglasju morajo biti v celoti preverljivi kadarkoli
  3. Ko primanjkuje dokazov o sporazumu, ni.

Kadena je posebej zasnovan za permissioned omrežij, in kot taka predpostavlja, da so nekateri napadi (kot je DOS) je malo verjetno in so izven njenega nadzora. Če bi se zgodilo, bi sistem bodisi zaklepanje (vsa vozlišča Prekinitev sčasoma z temveč volitev nikoli ne bi uspelo) ali nedejavnosti.

Ko tak dogodek konča, bodo vozlišča vrnili v soglasju in stvari, ki se bo vrnil v normalno stanje. Vendar pa je v permissioned omrežju, bi administratorji imajo popoln nadzor in ubiti povezavo povzroča težavo.

Vodja volitev

Vodja volitev je zelo podoben splav, da katerokoli vozlišče je lahko izvoljen voditelj, vsako vozlišče dobi en glas na rok, in volitve so ti, ko je naključno prekinitve enega od vozlišč požarov (časovnik resetira vsakič vozlišče sliši od vodje ).

Največja razlika je, da v Splav vozlišče, ki dobi dovolj glasov, prevzame vodstvo, medtem ko je v ScalableBFT vozlišče, ki dobi večino glasov, distribuira te glasove za vsako drugo vozlišče za dokaz (na BFT način), ki je bil izvoljen za vodjo, ki ga grozd.

Mehanizem ScalableBFT se odpravlja težave vidimo na Juno in Tangaroa, kot je "runaway kandidata", kjer je ne-bizantinsko vozlišče potekla časovna omejitev, zaradi particijo omrežja, vendar, ker je bil njen mandat poveča, ne more priti nazaj v soglasju in namesto tega se nadaljuje timeout potem korakih svoj izraz ( "Runaway".)

Splav soglasje zagotavlja strogo naročanje in replikacijo sporočil; ni važno, kaj je v vsakem sporočilu, in lahko segajo od naključnih števil do šifropisom do golega besedila pametnih pogodb. Kadena dopolnjuje dnevnika plast kot storitev sporočanja, ko teče v šifrirani kontekstu; podobno kot Signal lahko vodijo Hrup protokol šifriranja prek sporočil SMS. ScalableBFT teče hrupa nad blockchain.

ScalableBFT dodaja soglasja robustnost, ki ga je plast, ki se ukvarja z razlago sporočila prevzame kot jamstvo, temveč tudi primarni hash, ki zagotavljajo popolno replikacijo sporočil. Reže med konsenzom in pametno naročila izvedbo, šifriranje / dešifriranje sporočil, kot je potrebno hrup protokola; ker so sporočila šifropisom le, da so potrebni nekateri od običajnih trikov za izogibanje kartezijanski Blowup živih testov teči na sporočilo ne pušča informacije.

Varnostni model / prodorna determinizem

Kadena uporablja izraz "prodorna determinizem" za opis "zamisel o blockchain ki uporablja PPK-Sig kriptografije, ki temelji na avtorskih jamstva (kot Bitcoin) in je sestavljen iz popolnoma deterministično soglasja plasti poleg Turing-nepopolnih enkratno nalogo pametna pogodba plast.

Posledice za "pervasively deterministično" blockchain so bolj poglobljena, saj omogoča Bitcoin-glavne knjige razredu možnosti revizije, ki se globoko podaljšati v soglasju plast zaporedje skupaj več plasti kriptografske zaupanja.

Vzemite kot primer transakcije, ki se naloži nove pametne pogodbe modul z imenom "posojila". Reci "posojila" uvozne drugega modula imenujejo "plačila", ki je že prisoten v verigi. Uspešen uvoz "plačila" samo pomeni naslednje (pri čemer je vsak popolnoma preverljiv s kriptografskimi sredstvi):

  • Kdo je podpisal transakcijo, ki je naložen "plačila"
  • Kaj soglasje vozlišča so bili v skupini v času nakladanja
  • Kaj soglasje vozlišča se strinjali, da je bila transakcija veljavna
  • Kaj vozlišča glasovali za trenutnega voditelja v času nakladanja
  • Kdo je vodja je bil
  • Kdo je prejšnji vodja je bil
  • Itd

Pervasively deterministični sistem omogoča novi posli s finančnim vzvodom, ne le na kriptografsko zaupanje, ki seveda pojavi, kot so transakcije priklenjen skupaj v blockchain, ampak tudi zaupanje, kako so te transakcije vstopil v polico na prvem mestu. Pri tem se lahko ustvari sistem bolj varen kot Bitcoin, saj postane proces soglasje kot šifrirano zaupati, preverljiv in zaplete, kot tudi, z usmrtitve posameznih transakcijah, ki pomenijo, da je prišlo do posebne ravni soglasje dogodkov in s seboj posledice pa kriptografsko preverljivi.

To zagotavlja BFT ne samo za doseganje soglasja plasti, ampak za transakcije plasti (Bitcoin to že počne), kot tudi. To se razlikuje od, recimo, PBFT ki predpostavlja, da so transakcije, poslane iz strežnika stranke veljaven, ki jih pušča s sposobnostjo, da bo ogrožena. Poleg tega, ne-Raft BFTs splošno zaupa stranki možnost, da odstaviti / prepovedi vozlišč. Prodorna determinizem je drugačen pogled: zaupanje nič, preverjajo vse.

Dopuščanje ScalableBFT vključiti prodorne determinizem ustvarja povsem paranoičen sistem, ki je močna na vsakega sloja prek stalne varnosti (tj: oblika kriptografske varnosti, ki jih lahko shranite na disk). To je Bitcoin je varnostni model za transakcije, razširja ta model na ravni soglasja, in dodaja pametnih pogodbe brez potrebe za rudarstvo ali kompromise, ki so najbolj v industriji postanejo navajeni. To je pravi blockchain, ki je hitro in prilagodljivo.

Sem vprašal Will Martino (soustanovitelj Kadena) za posebnosti, kako je to delal za vsako plast:

Kakšen je vaš varnostni model ravni konsenza?

Za replikacijo, Kadena uporablja postopoma zgoščen dnevnik transakcij, ki je enako repliciral, ki ga vsako vozlišče. Ti dogovori o vsebini dnevniku preko porazdeljenih podpisanih sporočil, ki vsebujejo presežnih hash določenega indeksa log, ki se nato zbirajo v drugih vozlišč in se uporabljajo za posamezno razmišljati o tem, ko se zavežejo je upravičena. Ni dvojniki so dovoljeni v sporočilih log in replikacijo od voditelja, ki vsebuje vse podvojene takoj zavrnil.

Uporabljamo blake2 hash in Term število opredeliti edinstvenost, ki omogoča strankam sistema, da ne skrbi za pošiljanje dvojnike po naključju ali pa zlonamerno vozlišče / man-in-the-srednji (MITM) ponovno oddajo ukazov. Zaposlujemo trajno varnost, pristop k preverjanju avtorja (ali kakršno koli vrsto pristopa, ki jih lahko shranili na disk), ki temelji na PPK-SIG, ki je zelo podobna, kako Bitcoin preverja transakcij, temveč na ravni soglasja (poleg ravni transakcij).

To je v nasprotju s kratkotrajnimi varnosti, ki uporablja zavarovane poti (TLS) za avtorstvo potrditvi - v močno podrejenem pristopom, kjer se vprašanje, "kdo je poslal transakcije X?" je odgovor ne preko PPK kriptografije, ampak preko poizvedbe na ravni konsenza, saj vsak posameznik vozlišča ni sposobna zagotavljati BFT odgovor.

Kakšen je vaš varnostni model na ravni transakcij?

Ideje kratkotrajne in stalne varnostne dobe tako raven soglasja in transakcij, saj je soglasje, da se preda pametne pogodbe izvedba plasti posamezne transakcije. Na ravni pametni pogodbe / transakcij, ki jih uporabljamo tudi trajno varnost, kot tudi, ki podpirajo javno pooblastilo ključno ravni vrstic izvorno v paktu.

To je pomembno zato, ker kratkotrajnega pomeni, da je napadalec en strežnik od lažno predstavlja kot subjekt; zavarovane poti delo od točke do točke distribucijo novih poslov s strani naročnika / predlagatelja do vozlišča grozda preko TLS in soglasje zagotavlja, da je treba dati transakcija zavezana in ponovili. Vendar, če napadalec protestira strežnik odjemalca drži drugi konec povezave TLS, se lahko posel, kot če bi bila stranka brez grozda čemer pametneje.

Trajna varnost, na drugi strani pa ima veliko tipk za posamezne vloge v določenem podjetju tako zahtevajo napadalec za dostop do posameznih tipk; nadalje, s stalnim varnosti so posli predsednika uprave je podpisan z drugim ključem, kot transakcije pošti referent za vs minljivega, kjer je ", ki se pošilja ta posel", določi za "od: X" polje.

Če se ista TLS povezave uporablja, da predloži tako transakcije Uradnica je CEO je, in nato avtorstvo in dovoljenje logika je model ", ker sem jaz tako rekel / verjemite mi" vs pristopom PPK-sig, kjer se preveri pred ustreznim ključem pred izvedbo. Kadena je blockchain je zasnovan tako, da zaupajo čim manj; če bi poznal bolj paranoičnega ali drobnozrnatega pristop kot na ravni vrstica PPK podpisov sva uporabili to.

Kakšno je vaše zaupne transakcijski model?

Uporabljamo Dvakrat Ratchet protokol (kar signalov, WhatsApp, itd uporabiti za šifrirane komunikacije), vgrajeni v blockchain (šifriranih transakcijskih organov) v zasebnosti večstrankarske konzerviranje primerov uporabe. Delamo s pojmom Disjunktan zbirk podatkov prek "pakt" primitivne v paktu - opisujejo večfaznega zavezati potek dela preko Disjunktan zbirk podatkov prek šifriranih sporočil.

Smart pogodbe

Pakt je poln pametnih pogodba jezik, za katerega tolmač je zgrajena v Haskell. V Kadena, vsaka transakcija je pametno pogodba in Pakt pametna pogodba jezik je odprta koda. Pakt je baze podatkov usmerjena, transakcijska, Turing, nepopolna, z eno nalogo (spremenljivke ni mogoče spremeniti v svojem življenju), in tako zelo podvrženi statično preverjanje.

Pakt je razlagati tudi - koda, ki jo napisati, kaj se izvede na verigi - ker je Trdnost zbrani, zaradi česar je težko preveriti kodo, in prav tako ni mogoče odpraviti varnostnih vprašanj v starih jezikovnih različicah, in sicer po zbranih. Pakta ladje z lastno tolmača, ampak lahko deluje v vsakem deterministično-vhodni blockchain, in lahko podpira različne vmesnike, vključno s komercialno RDBMS. V ScalableBFT blockchain, teče s hitro plastjo shranjevanje SQLite.

Značilnosti Kadena Blockchain

Kadena blockchain vsebuje vse te funkcije:

Na koncu je Kadena razvil v celoti posnemajo, prilagodljivo in deterministično soglasja algoritem za zasebne blockchains z visoko zmogljivostjo. To blockchain rešitev je lahko velik korak naprej za finančne storitve podjetja, ki želijo zaposliti prave zasebno rešitev, ki ostaja zvest veliko ključa Bitcoin blockchain funkcije brez rudarstvu (dokazilo o delu), anonimnost in odpornost cenzura pa skrbi za ključne oblikovne značilnosti da so finančne storitve hrepenenje predvsem razširljivost in zaupnost.

Ta članek je bil že objavljen na Sammantics blogand je povzet z dovoljenjem. Nekateri popravki so bili narejeni za slog in kratko.

Zasebno BlockchainsKadena

Sorodne novice


Post Blockchain

2018 v naslovnicah: letošnje največje zgodbe o blokchainu

Post Blockchain

8 Bankirnih velikanov, ki prevzemajo Bitcoin in Blockchain Tech

Post Blockchain

Blockchain prenaša 2 milijona Bitcoin denarnic

Post Blockchain

IoT izpolnjuje NFC V Zeradovem novem prototipu blokov

Post Blockchain

Znotraj tovarne Blockchain: kako je delo IBM Distributed Ledger postalo globalno

Post Blockchain

IBM napoveduje rešitve za sledenje tovornjakov

Post Blockchain

Bitcoin v naslovih: Blockchain Drumbeat raste manj

Post Blockchain

Bitcoins Killer Apps

Post Blockchain

Bitcoin API Developer Chain financira 9,5 milijona dolarjev

Post Blockchain

API-ji Bitcoin-a Naslov Pomanjkljivosti, ki naj ne bi obstajale

Post Blockchain

Mogoče je identificirati uporabnike SharedCoin Blockchain, pravi strokovnjak za varnost

Post Blockchain

D H: 2018 bo Glej Blockchain Solutions Reach Banking Consumers