Vývoj Kadeny, první Real Private Blockchain | CZ.Democraziakmzero.org

Vývoj Kadeny, první Real Private Blockchain

Vývoj Kadeny, první Real Private Blockchain

George Samman je blockchain a kryptoměna konzultanta a poradce, který v poslední době spoluautorem klíčovou zprávu o blockchain architektury s KPMG.

Odtud Samman vysvětluje, jak shoda algoritmus dosaženo Raft byl nakonec stanoven jeho vzdáleného příbuzného, ​​Kadena. 

Tento článek popisuje Kadena je blockchain. Využívá ScalableBFT nabídnout vysoký výkon (8,000-12,000 transakcí za sekundu) s plnou replikací a rozvod na dříve nemožných měřítek (kapacitu pro více než 500 zúčastněných uzlů).

To, spolu s bezpečnostním modelem vícevrstvé a kumulativní zatřiďování umožňují skutečně robustní blockchain. Na raftu a Juno bázi Kadena vloží plný inteligentního smlouvy jazyk (pakt) do jeho blockchain, které lze spustit buď jako veřejné (prostý text) nebo soukromých (double-západkových šifrovaných) transakce.

Je to obrovský krok vpřed v blockchain prostoru, možná reprezentovat novou generaci technologie blockchain úplně jeho zavedení myšlenky „všudypřítomné determinismu“.

Podobně jako Bitcoin, Kadena je blockchain je úzce integrován, a pochopení toho, co je schopen, a to, co tyto schopnosti naznačují, vyžaduje pokrývá značné množství půdy. Jako takový, jsem porušil článek do tří částí: 1) Úvod a raftů, 2) Kadena předchůdců - Tangaroa a Juno, a 3) Kadena je Blockchain - ScalableBFT Pakt a Pervasive determinismus.

Část 1: Úvod a Raft konsensus Algorithm

Historie za Kadena je zajímavá případová studie v nové oblasti blockchain konsensuálních algoritmů a distribuovaných výpočtů.

Kadena je ‚vzdálený příbuzný‘ algoritmu Raft konsenzu. Konsensus mechanismus Raft byl následován Tangaroa (byzantský odolné proti poruchám (BFT) Raft) a projekt JP Morgan Juno (vidlička Tangaroa), z nichž ani jedna jsou už pod aktivním vývojem.

JP Morgan Nová blockchain Quorumis velmi odlišný od Juno a používá splynutí myšlenek z postranních řetězců a ethereum - veřejné chytrý kontrakt jsou povoleny na blockchain kromě soukromých zakázek, které jsou reprezentovány jako šifrované hashe a replikovaných pomocí postranních kanálů.

Kadena je „další generace Juno“. Využívá nové, ale příbuzný, protokol nazvaný ScalableBFT který byl zplodil z open-source kódu projektu Juno a byl postaven na dvou hlavních vývojářů, kteří postavili Juno. Před potápění hluboko do Kadena, stručná historie a popis Raft a předchůdci Kadena třeba projednat.

Raft konsenzus

Algoritmus Raft konsensus je jediný vedoucí systém založený na správu replikovaný protokol. Používá replikované stavový stroj architekturu a produkuje výsledky ekvivalentní Paxos, ale strukturně odlišné.

Udržování replikovány log konzistentní je úkolem algoritmu konsenzu. V tomto modelu, vůdce dělá většinu práce, protože se vydává všechny aktualizace protokolu, ověřování transakcí, a obecně správu clusteru. Raft konsensus zaručuje striktní uspořádání a replikaci zpráv. To není jedno, co se zprávy obsahují.

Nový vůdce je volen pomocí randomizované časové limity, které se spouštějí v případě, že následovník obdrží žádné sdělení od vůdce před vypršením časového limitu požárů. Ty se nazývají „srdeční tep“.

V případě, že následovník obdrží žádná komunikace v tomto časovém období, stává se kandidátem a iniciuje volby. Kandidát, který získá hlasy většiny úplného clusteru (uzly v síti) se stane novým vůdcem. Lídři jsou obvykle v provozu, dokud se jim nepodaří. Tyto tepy jsou rozeslány, aby se ujistil vůdce je stále existuje; pokud je přijata nic nová volba se koná.

Následující etapy jsou jak Raft přijde na konsensu:

  1. Shluk uzlových serverů Raft se spustí při každém spuštění uzlu jako „Follower“. Nakonec, jeden uzel bude časový limit, stane kandidát, získat většinu hlasů a stát se lídrem.
  2. Každý uzel uchovává záznam obsahující příkazy. Je lídrem úkolem přijmout nové příkazy striktně objednat příkazy ve svém deníku, replikovat svůj záznam pro své následovníky, a konečně uvědomí stoupence, když se dopustí protokoly, které byly replikovány. Algoritmus konsensus tak zajišťuje, že každý server protokoly jsou stejné pořadí.
  3. Protokoly jsou „veškeré úsilí“, když byly replikovány na většině uzlů. Vůdce shromažďuje počet replikace a po většinu být viděn, se dopustí vlastní nové položky protokolu a informuje své následovníky, aby učinily totéž.
  4. Po „commit“ příkaz v každé položce protokolu se vyhodnotí státem strojů. Vzhledem k tomu, Raft je lhostejná k tělu příkaz, každý stát stroj dokáže zpracovat potvrzených záznamů. Navíc, shoda ujišťuje, že vykonání příkazu probíhá vždy ve stejném pořadí jako příkazy pocházejí z deníku, který je přísně nařízené.
  5. Státní stroje zůstanou konzistentní, pokud příkaz popravy jsou deterministické.
  6. Když klient odešle příkaz do jednoho ze serverů, které server bude buď postoupí příkaz vůdce nebo je vůdce. Vůdce shromažďuje nový příkaz, přiřadí jej Log Index, zapouzdřuje jej do protokolu Vstup a přidá příkaz do nepřidělené části svého deníku.
  7. Kdykoliv vůdce má nepotvrzené záznamů, replikuje tuto část protokolu k jeho následovníků. Je-li vůdce informován o úspěšné replikace většinou klastru, zavazuje nové položky a objednává jeho stoupence, aby učinily totéž.
  8. Kdykoliv nová položka protokolu je bylo dosaženo spáchal konsensus o této položce. To je pak hodnocena státní stroj na každém serveru.
  9. Od tohoto bodu na, Raft je dokončen a realizátoři může rozhodnout, jak zacházet s odpovědí; odpověď na klientovi nebo čekání na klienta pro dotazy na výsledek.

Odpovědi na straně klienta jsou obecně asynchronní.

Konsensus protokol Raft je právě to - algoritmus shoda. To nemá ponětí a je ve výchozím nastavení plně otevřen na žádné příkazy klienta vydávání. Jediným omezením Účast to dělá, je o tom, co uzly existují v daném okamžiku.

Kromě toho, vůdce má absolutní pravomoc nad clusteru a nařizuje stoupence k replikaci a zavázat. To nepředpokládá byzantské útoky, je třeba, aby zpracovával pouze pád chyby, protože uzly jsou považovány za altruistické.

Část 2: Kadena předchůdců - Tangaroa a Juno

Tangaroa: První krok k BFT Raft

Tangaroa je byzantský odolné proti poruchám (BFT) varianta algoritmu Raft konsensu inspirovaný původním algoritmem Raft a praktické byzantské Fault Tolerance (PBFT) algoritmu.

Byzantský odolnost proti chybám se vztahuje k selhání třídy způsobené škodlivými uzly útočí na síti. Pokud jsou některé z uzlů jít dolů, že je nezbytné, aby síť pokračovat v práci bez přerušení.

Ve standardním Raft je třeba replikovat záznam protokolu na většině uzlů v clusteru před spácháním to. Pro BFT konsensu algoritmů, včetně Tangaroa, požadovaná velikost clusteru je alespoň 2f + 1, kde f je počet poruch chcete tolerovat (zahrnující jak havaroval uzly a narušených uzly). Konsensus je dosaženo většinou hlasů klastru; v případě, f <= 3, pak velikosti clusteru = 7 a non-byzantské uzly = 4. Některé BFT protokoly mohou ještě potřebovat 3f + 1.

Byzantská Leader může rozhodnout libovolně zvyšovat dopustit index ostatních uzlů před záznamy protokolu byly dostatečně replikovány, což způsobuje bezpečnostní porušení když uzly selhání později. Tangaroa přesouvá odpovědnost zavázat od vůdce a každý uzel může ověřit pro sebe, že položka protokolu byl bezpečně replikována do kvora uzlů a že tento počet se zavazuje na objednání.

Tangaroa umožňuje klientům, které přeruší stávající vedení, pokud se nepodaří dosáhnout pokroku, a to stejným způsobem, že ostatní algoritmy BFT Konsensuální umožňují klientovi, aby se chovají jako důvěryhodného orákulum sesadit některé uzly. To umožňuje, aby se zabránilo Tangaroa byzantské vůdce před hladověním systému, ale je velmi důvěřivý klienta.

Vedoucí volební a etapy

Tangaroa používá vor jako základ pro konsensus; tak tam je jediný vůdce. V Tangaroa, stejně jako v Raft, každý uzel je v jednom ze tří stavů: vůdce, následovník, nebo kandidátovi.

Podobně jako Raft, každý uzel začíná jako následovník, z nichž jeden bude nakonec časový limit a vyhlásit volby. Vítězem voleb slouží jako vůdce pro zbytek funkčního období; Výrazy končí, když je nový vůdce zvolen. Někdy volby povede k dílčímu hlasování, a termín skončí bez vůdce. V tomto případě bude následovníkem opět časový limit (časové limity jsou nastaveny, když se hlas odevzdaný nebo volby se nazývá) a spusťte proces hlasování znovu.

Za prvé volby, stoupenec zvýší svůj současný termín a odešle RequestVote (RV) Remote Procedure Call (RPC), paralelně ke každému z ostatních uzlů v clusteru s žádostí o jejich hlas. K použití RPC Tangaroa jsou podobné voru je RPC s tou výjimkou, že každý RPC je podepsaných a ověřených přes PPK podpisů.

RPC umožňují pro výměnu dat mezi různými počítači s bydlištěm v síti a podpisy umožňují příjem uzlů za účelem ověření, který uzel poslal RPC navíc umožnit jakýkoliv uzel, aby předal RPC kteréhokoli jiného uzlu kdykoliv.

Když uzel Tangaroa obdrží RV RPC s platným podpisem uděluje hlasování okamžitě pouze v případě, že v současné době nemá vůdce (dochází pouze při spuštění). V opačném případě se začne proces, který Tangaroa volá „LazyVote.“

Účelem LazyVote je chránit non-byzantské odebírané z volby nového vůdce, pokud vůdce není vadný; bez líné hlasování, byzantská uzel může vyvolat opakované volby kdykoliv a hladovět systému. Je-li nový RV obdržel následovníka, šetří RV a čeká na všechny níže uvedené podmínky musí být splněny:

A) timeout volby Následovník se spouští ohně před tím, než zvládá prezenční signál z aktuálního lídra. Je-li přijat tep se LazyVote je zrušeno.

B) RV Nový termín je větší než jeho funkčního období.

C) Žádost odesílatele je způsobilý kandidát (platný podpis PPK a klient nebyl zakázán uzel).

D) přijímacího uzlu RV nebyl zvolen pro další vedoucí pro navrhované období.

E) Kandidát sdílí log předponu s uzlem, který obsahuje všechny potvrzené záznamy. Uzel vždy žádost zamítne, pokud je stále příjem prezenčních zpráv z aktuálního lídra, a to ignoruje RequestVote RPC, pokud je navrhovaným termín již začala.

Je-li RequestVote platí i pro nové funkční období, a kandidát má protokol dostatečně up-to-date, ale příjemce je stále dostává srdeční tep ze současného vůdce, bude to nahrávat svůj hlas na místě, a potom odeslat odpověď hlasování, pokud uzel sám podstoupí timeout volby, nebo slyší od klienta, že současný vůdce je necitlivý.

Pod líné hlasování uzel neposkytuje hlasování pro kandidáta, pokud se domnívá, že současný vůdce je vadný. Tím se zabrání uzly, které začínají zbytečné volby od získání potřebných hlasů, aby se stal vůdcem a hladovět systému.

Uzly počkat, dokud se domnívají, že volby musí dojít dříve, než vůbec hlasujících členů. Po hlasování poslal, bude uzel aktualizovat svůj termín číslo. Není předpokládají, že uzel, že hlasoval pro vyhrál volby nicméně, a to bude ještě odmítne AppendEntries (AE) RPC od kandidáta, pokud žádný z nich obsahovat sadu hlasů prokazujících kandidát vyhrál volby. AE sloužit dvojí účel srdečních tepů a nosičů nové položky protokolu, které potřebují replikaci. Kandidát pokračuje v kandidátského státu, dokud jedna ze tří věcí se stane:

A) Je vyhraje volby tím, že obdrží většinu hlasů z clusteru. Kandidát musí uložit tyto hlasy - RequestVoteResponse (RVR) RPC - pro budoucí distribuci.

B) Další svorka vytváří se jako vedoucí

C) Doba, projde bez vítěze (tj zažívá další timeout volby)

Kandidát, který vyhraje volby a pak sám prosazuje, aby stát vedoucí a pošle zprávy AE tep, který obsahuje hlasy, které ji a aktualizovaný termín číslo volené založit svoji autoritu a zabránit nové volby. Podepsané hlasů účinně brání byzantského uzel ze svévolně podporovat sebe jako vůdce vyššího horizontu. Kromě toho, každá kladička provádí počítání na výše uvedenou většinou, ověřování a počítání každý volit nový vůdce přenášené nezávisle ověřit platnost voleb.

Vláda

Stejně jako Raft, Tangaroa používá randomizované časových limitů pro spuštění volby vůdce. Vůdce každého semestru pravidelně vysílá prezenčních zpráv (prázdný AE RPC) udržet svou autoritu. Je-li následovník obdrží žádné sdělení od vedoucího přes náhodně zvolené časové období, časový limit volby, pak se to stane kandidátem a iniciuje nové volby.

Kromě voleb spontánních sledovacích spouštěné, Tangaroa také umožňuje zásah klienta: když klient dodržuje žádný pokrok vedoucí po dobu volal timeout pokrok, vysílá UpdateLeader RPC do všech uzlů, říkat jim, aby ignorovat budoucí srdeční tep od co klient věří, že současný leader v aktuálním období. Tyto následovníci budou ignorovat prezenčních zpráv v aktuálním termínu a čase tak, jak by současný leader selhal, začíná nové volby.

Data obdržena

Údaje (další příkazy) pocházejí z klientů clusteru Raft, které vysílají požadavky na vůdce. Vůdce replikuje tyto požadavky na clusteru a reaguje na klientovi, když je dosaženo kvora v clusteru o této žádosti.

Co představuje „žádost“ je závislé na systému. Jak jsou data uložena, je závislé na systému. Je to důležité pro stav přetrvávat na disk, takže uzly mohou zotavit se a zapamatovat si informace, které se zavázaly, že (což uzly oni hlasovali pro to, co log entries páchali, atd.) Bez toho bude protokol nebude fungovat.

Tangaroa přidává BFT na voru evoluci

Juno

Projekt JP Morgan Juno je vidlice Tangoroa a byl důkazem konceptu, který byl schopen škálovat Tangaroa obsahovat až 50 uzlů a zvýšit rychlost transakce až 5000 transakcí za sekundu.

JPM tým za Juno viděl potenciál, že Tangaroa podobný přístup reprezentovaný - vysoce výkonného soukromou blockchain. Oni iterated na myšlence, po dobu jednoho roku a open source projekt v únoru 2016 oni přidali inteligentní zadávací jazyk, opraveny některé konstrukční chyby a podařilo se mu dosáhnout zvýšení výkonu 10x, který povolenou počtu uzlů, aby hlasovali pro změnu, zatímco v systému běžel. Juno povolena pro přidávání a odebírání uzlů, a to oprávnění jsou distribuovaný systém, ve kterém všechny uzly v síti byly známy.

Fáze mechanismu a volebního procesu vedoucího jsou stejné jako Tangaroa (viz výše). Podobně transakce se považuje za živě jakmile je plně replikována a zavázala do protokolu.

Vůdce rozhoduje pořadí příkazů a každý uzel ověřuje. Každý uzel nezávisle rozhodne, kdy ke spáchání položka protokolu založené na důkazech, které obdrží od ostatních uzlů. Každý záznam protokolu je individuálně vázány a postupně hash oproti předchozímu záznamu. To trvá přibližně 5ms na jeden vstup log přejít od vedoucího obdrží vstup do plného konsensu byla vyčerpána, a čekací doby v síti.

Část 3: Kadena je Blockchain - ScalableBFT, pakt, a Pervasive Determinizmus

Cryptography

Odlišné raftů, každá replika v systému BFT Raft (rodina algoritmů, které zahrnují Tangaroa, Juno a Kadean je ScalableBFT) vypočte kryptografický hash pokaždé, když se připojí nový vstup do svého deníku. Hash je počítán přes předchozí hash a nově připojeným vstupem protokolu.

Uzel může podepsat jeho poslední hash prokázat, že byla replikována celistvost protokolu a další servery lze ověřit rychle pomocí podpisu a hash. BFT Raft uzly a klienti vždy se před odesláním zprávy a přijímat zprávy, které neobsahují platný podpis.

BFT vory používat inkrementální Hešování umožňující uzlů, aby se ujistil, že jak obsah a uspořádání klád jiný uzel odpovídala jejich vlastní. Za použití těchto poznatků lze uzly nezávisle dopustit položky protokolu bezpečně, protože obě obsah a uspořádání klád jiný uzel je doložena prostřednictvím odpovídající přírůstkové hodnoty hash.

BFT vory používá digitální podpisy ve velké míře k ověření zprávy a ověřit jejich integritu. Tím se zabrání byzantského vůdce z modifikací obsah zprávy nebo pozměňování zprávy a chrání shluk obvykle z velkého množství byzantských útoků.

Souhlas

V Raft, Leader je volen pomocí náhodných časových limitů, které vedou následovník navrhnout sebe za kandidáta a požádat o hlasování. ScalableBFT také dělá, ale v kryptograficky zabezpečeným způsobem. Například, pokud Leader stane nedosažitelný, časový limit by vyvolat nové volby, ale volební proces je robustní proti byzantské uzlů deklarovat volby. ScalableBFT řeší problémy, které Juno a Tangaroa zaznamenané v souvislosti s líné hlasování.

Pouze jedinečné schopnosti vůdce jsou: 1) uspořádání nových obchodů před replikací a 2) replikace nové transakce Následovník uzly. Od té chvíle, všechny uzly nezávisle prokázat i konsenzuální platnost a individuální integritu transakcí.

Odstranění anonymní účast je požadavek design pro soukromé blockchains, a to umožnilo vysoce výkonné BFT konsensuální mechanismus nahradit těžbu. ScalableBFT primární přírůstkem do rodiny BFT Vory je možnost škálování na 1000 let uzlů bez snížení propustnosti systému.

Každá transakce je replikována na každém uzlu. Když většina uzlů byly replikovány transakce, transakce je potvrzena. Uzly shromažďují a distribuci informací (inkrementální hash) o tom, co byly replikovány a použít tyto informace nezávisle rozhodnout, kdy ke spáchání (> 50% ostatních uzlů posílat přírůstkové hodnoty hash pro nesvěřené transakce, které souhlasí s).

To funguje v podstatě tím, že dělá většinu hlasů na to, co se dopustit. Spáchání transakce neznamená, že bude proveden, jen to, že byl trvale replikovány většinou clusteru. Bad transakce, ty, které chyba nebo mají špatné podpisů, jsou replikovány stejně jako konsensus úkolem je zajistit dokonalou objednané replikace.

Spáchání transakce umožňuje každý uzel se potom nezávisle vyhodnotit (analyzovat / dešifrování / ověření crypto / spuštění / atd.) Každé transakce stejným způsobem. Každá transakce dostane spárován s výkonem, to může pohybovat v rozmezí od „špatného“ crypto k výstupu inteligentního zakázky vrstvy (což může být také chyba).

A konečně, kromě vůdce replikovat nové transakce každému uzlu uzly jsou více či méně nezávislé. Místo „synchronizace“ vysílají „I byly replikovány do log indexu n, a má přírůstkové hash H“ do clusteru a shromažďování těchto informací z jiných uzlů, - na základě výsledků z jiných uzlů, každý uzel může nezávisle rozhodnuto v případě, že klastr byla replikována kolem baru potřebné provést (většinové replikace pro některé jak přesto nepřidělené indexu log N).

Zde je jemná část: inkrementální hash implikuje replikaci každého, kdo se před ním. V případě, že vedoucí replikuje 8,000 nové transakce (což je to, co v současné době dělá), každý uzel stačí pouze distribuovat a shromažďovat důkazy o poslední transakci této dávky, jak to předpokládá správnou replikaci z těch, kteří přišli před ním. Namísto odeslání zprávy 8000 (jeden pro každou transakci), které dosvědčují řádných uzlů replikace jen diskutovat o poslední transakci.

To je důvod, proč Kadena potřeba tolik proudové, protože tým na to, jak spáchat 8000 transakcí stejnou rychlostí jako spáchání jediné transakce.

ScalableBFT představuje průlom v oblasti BFT konsensu, protože je prvním a jediným deterministický BFT shoda mechanismus, který lze škálovat past stovky uzlů s úplnou replikaci a šifrování. ScalableBFT také poskytuje jedinečný bezpečnostní model známý jako všudypřítomná determinismu, který zajišťuje bezpečnost nejen na úrovni transakce, ale na úrovni konsenzu i když šifrování každé transakci pomocí Noise Protocol (viz níže).

Kadena využívá deterministické konsensu

Mechanismus shoda je deterministický, pokud je proces konsensus plně uvedeno v protokolu a tento proces nepoužívá náhodnost. Jak již bylo uvedeno výše, Raft, například používá randomizované časové limity pro spuštění volby, když vůdce klesá (protože leader nemůže komunikovat „Chystám se zhroutí“, je tu časový limit, který výlety na výzvu uzlu zkontrolovat, zda je vedoucí dolů), ale volba není součástí konsensu na úrovni transakce, to je místo prostředkem k nalezení uzlu zorganizovat konsensu.

ScalableBFT je deterministický a tvrzené taková, že:

  1. Uzly se dopustí pouze tehdy, když většina klastru s nimi souhlasí
  2. Důkaz o souhlasu musí být plně kontrolovatelné kdykoliv
  3. Když chybí důkazy o dohodě nic dělat.

Kadena je speciálně navržen pro oprávněním sítě, a jako takové se předpokládá, že některé útoky (jako DoS), je nepravděpodobné, a jsou mimo jeho kontroly. Pokud bychom chtěli dojít, systém by buď zámek (všechny uzly timeout nakonec se ale volby by nepodaří), nebo nečinně sedět.

Jakmile se taková událost skončí, budou uzly vrátit do konsensu a vše se vrátí do normálu. Nicméně, v oprávněním sítě, správci by mít plnou kontrolu a zabít spojení příčinou problému.

Vedoucí volební

Leader volby je velmi podobný voru v tom, že některý uzel může být zvolen vůdce, každý uzel dostane jeden hlas za období, a volby jsou volána, když náhodně timeout jeden z uzlů požárů (časovač je vynulován při každém uzel slyší od vedoucího ).

Největší rozdíl je, že v Raft uzel, který dostane dostatečný počet hlasů převezme vedení, zatímco v ScalableBFT uzel, který získá většinu hlasů distribuuje ty hlasy ke každému jinému uzlu k prokázání (v BFT způsobem), že byl zvolen vůdce by clusteru.

ScalableBFT je mechanismus řeší problémy vidět v Juno a Tangaroa, jako „uprchlý kandidáta“, kde má non-byzantský uzel časovanou z důvodu rozdělení sítě, ale proto, že jeho termín byl zvýšen, to nemůže vrátit do konsensu a místo toho pokračuje Časový limit pak zvýší jeho termín ( „Runaway“).

Raft konsensus zaručuje striktní uspořádání a replikaci zpráv; nezáleží na tom, co je v každé zprávy a může být v rozmezí od náhodných čísel k ciphertext do plain-text inteligentními smluv. Kadena využívá vrstvu protokolu jako služba zpráv, když běží v šifrované kontextu; stejně jako signál může spustit šifrování protokolu Noise přes SMS. ScalableBFT běží Noise přes blockchain.

ScalableBFT dodává konsensuální robustnost, což je vrstva, která se zabývá interpretaci zprávy předpokládá jako záruku, ale také přírůstkové hodnoty hash, které zajistí dokonalou replikaci zpráv. Protokol hluk štěrbiny mezi konsensu a inteligentní realizace zakázky, šifrování / dešifrování zpráv podle potřeby; protože zprávy jsou ciphertext jsou potřebné pro běh za zprávu, aniž by únik informací jen některé z obvyklých triků pro zamezení kartézský zvětšeninu živých testů.

Model zabezpečení / všudypřítomná determinismus

Kadena používá termín „všudypřítomná determinismus“ popisovat „myšlenku blockchain který používá PPK-Sig šifrování založené na autorských záruk (jako Bitcoin) a je složena z plně deterministické konsensuální vrstvu navíc k Turing-neúplnou, single-úkol smart smlouva vrstva.

Důsledky za ‚pervasively deterministický‘ blockchain jsou poměrně hluboké, neboť umožňuje třídu Bitcoin-knihy o auditovatelnosti být rozšířen hluboko do konvenční vrstvy řetězení dohromady více vrstev kryptografického důvěry.

Vezměte jako příklad transakce, která načte nový chytrý kontrakt modul s názvem „úvěry“. Řekněme, že „úvěry“ dovozem jiný modul s názvem „platby“, který je již přítomen v řetězci. Úspěšný import „platby“ sám naznačuje následující (z nichž každý je plně kontrolovatelné šifrovacími prostředky):

  • Kdo podepsal transakci, která naložený „platby“
  • Co konsensus uzliny byly v clusteru v době nakládky
  • Co shoda uzly se dohodli, že transakce byla platná
  • Co uzly hlasoval pro současného lídra v době nakládky
  • Kdo je vůdce byl
  • Kdo předchozí vůdce byl
  • Atd.

Pervasively deterministický systém umožňuje nové obchody využít nejen kryptografický důvěru, která se přirozeně vyskytuje jako transakce se zřetězeno v blockchain, ale také důvěru, jak tyto transakce vstoupila na římsu na prvním místě. Přitom si můžete vytvořit systém bezpečnější než Bitcoin, protože proces konsensus stane jako kryptograficky důvěryhodné, kontrolovatelné a zapletený i s exekucí na úrovni transakce z čehož vyplývá, že specifické události na úrovni konsenzu došlo, a s každým bytí implikace kryptograficky ověřitelné.

To poskytuje BFT nejen pro konsenzuální vrstvy, ale pro vrstvu transakcí (Bitcoin už to dělá), jakož. Toto je odlišné od, řekněme, PBFT který předpokládá, že transakce odeslané ze serveru na klienta, platí tato povinnost jim nedává se schopností být ohrožen. Navíc, non-Raft BFTs obecně svěřit klienta se schopností sesadit / zákazu uzlů. Všudypřítomná Determinizmus bere alternativní hledisko: trust nic, audit všechno.

Umožnění ScalableBFT začlenit všudypřítomné determinismus vytváří zcela paranoidní systém, který je silný na sebe a každé vrstvě přes trvalou bezpečnost (tj forma kryptografického zabezpečení, které lze uložit na disk). Model zabezpečení To Bitcoin je pro transakce, rozšiřuje tento model na úrovni konsenzu, a dodává inteligentní smlouvy aniž by bylo nutné pro těžbu nebo kompromisy, že většina v tomto odvětví si zvykli. Je to skutečný blockchain to rychlé a škálovatelné.

Zeptal se budu Martino (spoluzakladatel Kadena) na specifika, jak to fungovalo pro každou vrstvu:

Jaký je váš model zabezpečení konsensus na úrovni?

Pro replikaci, Kadena používá přírůstkově hash protokol transakcí, který je shodně replikovány každým uzlem. Jedná se dohodly na obsahu protokolu prostřednictvím distribuovaných podepsaných zpráv obsahujících přírůstkové hash daného indexu log, které jsou pak shromažďovány jinými uzly a používají individuálně uvažovat o tom, kdy commitu je zaručeno. Žádné duplikáty jsou povoleny ve zprávách protokolu a replikace od vůdce, který obsahuje nějaké duplikáty jsou odmítnuty okamžitě.

Používáme blake2 hashe a počet Term definovat jedinečnost, což umožňuje klientům systému, který má se starat o posílání duplicitních náhodou nebo o škodlivou node / man-in-the-middle (MITM) resubmitting příkazů. Zaměstnáváme trvalé zabezpečení, PPK-sig-založený přístup k ověření autorství (nebo jakýkoli typ přístupu, který lze uložit na disk), na který je velmi podobný tomu, jak Bitcoin ověřuje transakce, ale na úrovni konsensu (navíc k úrovni transakce) ,

To je na rozdíl od pomíjivé bezpečnosti, který používá zabezpečené kanály (TLS) pro ověření autorství - nesmírně horší přístup, kde na otázku „kdo poslal transakce X?“ Je neodpověděl přes PPK kryptografie, ale prostřednictvím dotazu na konsensuální úrovni, protože každý jednotlivec uzel není schopen poskytnout BFT odpověď.

Jaký je váš model zabezpečení na úrovni transakce?

Ideje pomíjivé a stálé bezpečnostní rozpětí obou konsensuální a transakční úrovni, jako je shoda, že předá inteligentní smlouvy provedení vrstev jednotlivých transakcí. Na čipové úrovni smlouvy / transakce také používáme trvalé zabezpečení stejně, podporující úroveň řádek veřejného povolení klíčovou nativně v paktu.

To je důležité proto, že pomíjivá znamená, že útočník je jeden server od zosobnění entity; zabezpečených kanálů dílo bodu do bodu rozdělení nových transakcí ze strany klienta / předkladatele na uzly clusteru přes TLS a shoda zajišťuje, že daná transakce by měla být spáchán a replikovat. Nicméně, pokud útočník rozsekává klienta serveru drží druhý konec připojení TLS, mohou obchodovat jako kdyby byly klient bez clusteru bytím moudřejší.

Trvalá bezpečnost, na druhé straně, má mnoho klíčů pro jednotlivé role v daném subjektu a tím by vyžadovaly útočníkovi získat přístup k jednotlivým klíče; Dále, s trvalou bezpečnost transakce generálního ředitele jsou podepsány s jiným klíčem než transakcí poštovního úředník VS pomíjivá, kde je „který vysílá tato transakce“ se určuje podle „z: X“ pole.

Je-li stejné připojení TLS používá k předložení jak generálního ředitele a transakce Úředník, pak autorství a povolení logika je „protože jsem to řekl / věř mi“ Model vs přístupu PPK-sig, kde si ověřit před příslušnou klávesu před provedením , Kadena je blockchain je navržen tak, aby důvěřovat tak málo, jak je to možné; kdybychom věděli o více paranoidní nebo jemnozrnného přístup než row-level PPK podpisů bychom ji využít místo.

Jaká je vaše důvěrné modelu transakce?

Používáme Double-Ratchet protokol (co Signal, WhatsApp, atd. Použít pro šifrovanou komunikaci) vložený do blockchain (šifrované transakce orgánů) pro ochranu soukromí pluralitní konzervační případy použití. Pracujeme s představou disjunktních databází přes dále jen ‚pakt‘ primitivní paktu - popisují vícefázové zavázat workflow nad disjunktními databází přes šifrované zprávy.

Chytrý kontrakt

Pakt je plně smart-smlouva jazyk, interpret, který je postaven v Haskell. V Kadena, každá transakce je chytrý smlouva a Pakt smart smlouva jazyk je otevřený source. Pakt je databáze zaměřená na transakční, Turing-neúplné, single-obsazení (proměnné nemůže být změněna během svého života), a tudíž velmi přístupný statické ověření.

Pakt je také interpretován - kód píšete je to, co provádí na řetězu - vzhledem k tomu, Pevnost je sestavován, což ztěžuje ověření kódu, a také není možné opravit bezpečnostní problémy ve starých jazykových verzích, které byly předtím sestavených. Pakt je dodávána s vlastním tlumočníkem, ale může běžet v jakémkoli deterministický vstupním blockchain a mohou podporovat různé backends, včetně komerčního RDBMS. V ScalableBFT blockchain, běží s rychlým zásobní SQLite vrstvy.

Charakteristika Kadena Blockchain

Kadena blockchain obsahuje všechny tyto vlastnosti:

Závěrem lze říci, Kadena vyvinula plně replikační, škálovatelnou a deterministický konsensuální algoritmus pro soukromé blockchains s vysokým výkonem. To blockchain řešení může být obrovský skok vpřed pro společnosti v oblasti finančních služeb, kteří chtějí zaměstnat skutečné vlastní řešení, které zůstává věrný mnoho klíče Bitcoin blockchain funkcí bez těžby (doklad o práci), anonymita a odpor cenzury a zároveň catering na klíčových vlastností konstrukčních že finanční služby jsou touha zejména škálovatelnost a důvěrnosti.

Tento článek byl dříve publikován na Sammantics blogand zde bylo reprodukováno se souhlasem. Některé úpravy byly provedeny na styl a stručnost.

Private BlockchainsKadena

Související zprávy


Post Blockchain

Uživatelé Blockchain SharedCoin mohou být identifikováni, říká Security Expert

Post Blockchain

Database Glitch způsobuje výpadek Blockchain.info

Post Blockchain

Blockchain.info vydává peníze na oběti krádeže

Post Blockchain

Apple schvaluje aplikaci iOS bitWallet s blokovanou funkcí odesílání BTC

Post Blockchain

Bitcoins Killer Apps

Post Blockchain

Vývojáři společnosti Bitcoin Core zvažují návrh postranního řetězce

Post Blockchain

S Blockchain, kde je kouř, je obvykle větší kouř

Post Blockchain

Řetězový generální ředitel: Nasdaq Partnerství není PR Stunt

Post Blockchain

194,993 transakce BTC v hodnotě 147 milionů dolarů vyvolávají tajemství a spekulace

Post Blockchain

Kanadský senát se setká s komunitou Bitcoin ve faktické shromáždění

Post Blockchain

Stav průzkumu Blockchain: Byl Q3 hlavní průlom?

Post Blockchain

Accenture ředitelé: Bloky se musí přesunout za Bitcoin