PaLa este un protocol de consens bizantin tolerant la erori inventat de TH. Hubert Chan, Rafael Pass si Elaine Shi. Poate obtine o latenta scazuta si un randament ridicat intr-o setare de retea partial sincrona. PaLa permite comutarea fara intrerupere a ofertantului fara intarziere in functionarea normala. Atunci cand exista o partitie de retea, protocolul comuta ofertantii cu putina intarziere (sa zicem 6s) pentru a pastra vivacitatea atata timp cat exista cel putin un proponent onest si 2/3 alegatori intr-o singura partitie. Toate nodurile oneste mentin coerenta indiferent de modul in care este partitionata reteaua.

Thunder Token Inc, compania care construieste blockchain-ul ThunderCore, intentioneaza sa foloseasca PaLa pentru a trece la o arhitectura mai descentralizata. Acest depozit este o dovada a conceptului PaLa.

Iata un rezumat al starii sale:

  • Consens protocolul se face cu multe cazuri de testare.
  • Pachetul de retea indeplineste cerintele minime ale protocolului si este conceput pentru a fi inlocuit intr-o implementare de productie.
  • Blockchain Pachetul defineste interfetele folosite de stratul de consens si ofera o implementare detaliata fals. Acest lucru este destinat sa fie inlocuit cu o implementare blockchain reala, de exemplu Geth.
  • Exista multe elemente marcate cu „TODO (tunet)”, care sunt sugestii pentru realizarea unei implementari de productie.

Cladire

Ne asteptam ca codul sa functioneze pe orice platforma. Cu toate acestea, autorii l-au testat doar pe Fedora 29 cu Go 1.10.

$ make shell $ make dep $ make test

Consensul distribuit in practica

Pentru a umple golul dintre lucrarea academica si un produs de lucru, dezvoltatorii nostri au discutat detaliile PaLa cu prof.

sobar tetas folladas peludas
incesto gratis nenas peludas
trios x sol sanchez actriz porno
porno español trans pilladas sin bragas
vidios xxx sione cooper
xxporn jovencita caliente
videos putas maduras viejas calientes
vidio xxxx porno comic español
natalia sanchez desnuda videos porno peruano
vidiosxxx porno gay guarro
española folla shakira follando
gitanas follando maduras españolas anal
sexporno sexo gratis incesto
porni enanas porno
xxxespañol tetas puntiagudas
scat lesbianas follando española
pareja follando en la playa pormo
trio con gordas pajas en coche
porno gay chino trio amateur español
pollas corriendose videos caserosxxx

Elaine Shi si au venit cu pseudocodul. Pseudocodul este referinta pentru acest proiect si este un bun punct de plecare pentru intelegerea acestui frumos protocol consens.

Arhitectura software

Desi PaLa este deja un protocol consens foarte potrivit pentru implementare, un sistem distribuit este inerent complicat. Luam serios testele si am dori sa testam cat mai mult posibil partitionarea in retea si comportamentul bizantin. Avand in vedere dezvoltarea bazata pe teste, am venit cu diagrama de relatii de mai jos:

Putem inlocui obiecte cu linii punctate prin implementari false pentru a simula fluxurile noastre interesante de control. De exemplu, folosind obiecte de conexiune false, putem simula cu usurinta intarzierile de retea si partitiile. Faceti clic aici pentru a vedea documentul complet de proiectare.

Documente justificative

  • Pseudocod PaLa Pipelined dublu: intelegeti modul in care protocolul de consens este implementat in practica.
  • Terminologie si flux de date: intelegeti cum functioneaza PaLa prin exemple de scenarii diferite.
  • Arhitectura software: intelegeti arhitectura si cum interactioneaza obiectele.
  • Goroutine si canale: intelegeti proiectarea concurentei.
  • Diapozitive pentru discutia PaLa: Diapozitive pentru o discutie despre arhitectura software PaLa si PaLa sustinuta de Chia-Hao Lo @ COSCUP 2019. O inregistrare a discutiei date in mandarin este disponibila aici.

Contribuind

Simtiti-va liber sa va furcati si sa faceti PR-uri. Deoarece aceasta este dovada conceptului, suntem bucurosi sa vedem feedback-ul comunitatii si sa realizam implementarea si testele mai complete.

FAQ

Thunder Token va continua sa actualizeze acest depozit?

Da, cu toate acestea, dezvoltatorii din Thunder Token lucreaza la multe functii si este posibil sa nu ne actualizam frecvent.

De ce sunt multe obiecte false?

Asa cum am explicat in documentul de arhitectura software, luam in serios testele. Obiectele false sunt folosite pentru a ajuta testele si ne permit sa ne concentram doar asupra protocolului de consens. Nucleul protocolului de consens este o implementare reala. Cu toate acestea, pentru a crea un blockchain folosind PaLa, trebuie sa inlocuiti acele obiecte false cu implementari reale de productie.

Exista exemple de modul in care PaLa depaseste problemele dificile in consens distribuit?

TestLivenessAndDisasterRecovery este un exemplu de recuperare dupa pierderea datelor, iar TestVoterReconfiguration este un alt exemplu de comutare a ofertantilor atunci cand exista sughituri de retea.

Care este valoarea sugerata pentru K (propuneri neanuntate remarcabile) in PaLa?

K afecteaza latenta si randamentul finalitatii. Cand K este mare, latenta finalitatii este mai lunga, dar avem o viteza de transfer mai fiabila; cand K este scazut, rezultatul este opusul. Puteti sa va faceti o idee despre compromisurile din rezultatele de referinta ale procesului unic de mai jos:

K 1 5 10 Bloc pe secunda 45 216,5 406,5

  • Intarziere pachet: 10 ms
  • Numar de alegatori: 33
  • Runde de testare: 5

Licenta

MIT