Što je Tendermint?
Tendermint je protokol niske razine koji se sastoji od dva glavna dijela: konsenzusnog mehanizma blockchaina i generičkog sučelja aplikacije. Tendermint Core, blockchain konsenzus, olakšava ravnopravnu mrežu i pruža konsenzus dokaza o udjelu (PoS). Aplikacijsko sučelje BlockChain (ABCI), s druge strane, djeluje kao alat za blockchains za povezivanje na Tendermint Core protokol.
Svrha Tenderminta je biti blockchain motor. Zamišljen je kao alat koji programeri mogu koristiti da preskoče gadnu i tehničku kriptografiju i uskoče u blockchain i razvoj aplikacija više razine.
Jezgra metvice
Tendermint Core paket je softver otvorenog koda izrađen od dva glavna dijela. Uglavnom, mehanizam za konsenzus blokchain-a koji podnosi bizantske greške. Drugo, p2p mrežni protokol.
Generalni konsenzus
Uključen u Tendermintov konsenzusni algoritam temeljni je koncept bizantske tolerancije na greške (BFT). Da bismo razumjeli BFT, potrebno je imati pregled onoga što on rješava: problem Bizantskih generala.
Davno je šačica generala i njihovih vojski pokušavala napasti grad. Da bi porazili grad, morali su istodobno napadati svi generali – bilo što manje od potpunog sudjelovanja značilo bi da će generali izgubiti. Pitanje je što nitko od generala nije mogao pouzdano znati kada napasti grad. Svi su bili zabačeni sa svake strane grada i komunikaciju između njih bilo je nemoguće uskladiti. Poruke se mogu izgubiti, oštetiti ili krivotvoriti.
Bijela knjiga nježne metvice Jaea Kwona
Izazov s kojim su se suočili generali eksponencijalno se složi kad se u obzir uzme više ljudi ili poruka. Tendermint-ov BFT Proof-of-Stake omogućuje stotinu validatora da brzo i sigurno potvrde svoje glavne knjige jedni protiv drugih. Drugim riječima, svi validatori znaju kada treba napasti grad.
BFT Proof-of-Stake algoritam nadilazi problem Bizantskih generala pomoću djelomično sinkronog mrežnog modela. U osnovi, to znači da generali koji okružuju grad – ili validatori koji glasaju u bloku – ne trebaju djelovati u unaprijed određeno vrijeme. Za blokove se ne glasa prema rasporedu ili unaprijed određenoj veličini.
Tendermint to postiže prvo slučajnim dodjeljivanjem validatorima pravo na predlaganje bloka. Nakon što se predlože blokovi, validatori glasaju u višekružnom determinističkom procesu. Znači, prvi je korak prilično neselektivan, a drugi slijedi propisani redoslijed.
Uz Tendermint, validatori se rotiraju na deterministički ponderiranom formatu okrugle crte. Što više uloga ima validator, više puta mogu biti izabrani za vođu. Trenutno je protokol ograničen na stotinu validatora, no moguće je povećati broj validatora ako je potrebno.
Sučelje Blockchain aplikacija
Na vrhu Tendermint Core smješteno je Application BlockChain sučelje (ABCI). ABCI je bizantski replikator tolerancije na greške aplikacija napisanih na bilo kojem jeziku. Možete kopirati svoje blockchain aplikacije napisane na C ++, Python, Solidity ili bilo kojem drugom jeziku na prefab BFT blockchain engine.
ABCI je prevoditelj, omot i utičnica između blockchain aplikacija i Tendermint blockchain motora na kojem sjede.
Rješavanje problema s monolitima
Slojevitost ABCI-a na vrh Tendermint Core ključni je korak prema smanjenju prepreka pristupa oko razvoja s blockchainovima.
Većina blockchain sustava ima monolitnu arhitekturu, često ograničavajući jezike koji se mogu pisati na njima. Na primjer, virtualni stroj Etteum Turing-kompletnog bajtkoda ograničava vas na jezike koji su prema dolje kompatibilni s bajtkodom. Trenutno je to jedina Zmija i Čvrstoća.
Suprotno tome, ABCI omogućuje da se bilo koji programski jezik stavi gore i još uvijek bude u potpunosti kompatibilan s osnovnim Tendermint Core motorom. Programeri ne trebaju slijediti pojedinačni monolitni niz blockchaina kojeg odaberu. Umjesto toga, mogu se usredotočiti na logistiku aplikacija i ostati gotovo agnostici blockchaina.
Ekosustav Cosmos, uključujući Tendermint
Budućnost Tenderminta je u Kozmosu
Stvoritelji otvorenog koda Tendermint proveli su mnogo veći projekt nazvan Cosmos. Stvoreni da budu internet blockchain-ova, Cosmos mreže spajaju aplikacije temeljene na Tendermintu.
Zanimljiv dio Cosmosa je da se aplikacije ne moraju prvotno graditi na vrhu Tenderminta da bi radile u ekosustavima Cosmosa. Cosmos iskorištava Tendermintov aplikacijski replikator putem tvrda žlica postojeći blockchains na Tendermint Core. Tendermint nije samo leglo modulariziranih blockchain aplikacija već i blockchain stroj za kloniranje.
Samo za daljnje pojašnjenje, evo kako Jae Kwon, osnivač tvrtke Tendermint, opisuje tvrdu žlicu.
„Tvrda žlica: novi lanac koji uzima u obzir stanje iz postojećeg lanca; ne da se natječu, već da omoguće širok pristup. ” – Jae Kwon
Nekoliko istaknutih projekata koji žele naporno proći put do Cosmosa su OmiseGo, 0x i FOAM. Oznaka svakog projekta tada će postojati na vrhu Tenderminta, a zatim biti povezana s Cosmos mrežom blockchaina.
Zaključak
Tendermint Core i ABCI zajedno čine Tendermint – blockchain mehanizam otvorenog koda za programere bilo kojeg programskog jezika na kojem se mogu nadograditi. Tendermint usmjerava programere da se usredotoče s kriptografije na niskoj razini na aplikacijski sloj.
Analogija onoga što je Tendermint s blockchainom bila bi usporedba s umjetnikovim platnom. Na platnu možete izraziti beskrajan broj ideja, no moderni umjetnik rijetko treba razmišljati o izgradnji i razvoju vlastitih. Tendermint, poput platna, temelj je na kojem možete izumiti beskrajne blockchain aplikacije.