De Jesper Buus Nielsen, profesor si proiectant sef de sistem criptografic, Partisia

Cititi partea 1 aici >>

Aceasta a doua parte a seriei noastre de bloguri MPC si blockchain va analiza ce poate face MPC pentru blockchain, prezentand in acelasi timp modul in care putem combina eficient aceste doua tehnologii pentru a construi ceva in cele din urma sigur. Relatia dintre MPC si blockchains este reciproc avantajoasa. Putem folosi MPC pentru a asigura multe aspecte ale blockchain-urilor si putem folosi blockchains pentru a orchestra MPC care ruleaza la scara larga. Mai intai, sa exploram ce poate face MPC pentru blockchains.

Conturile sunt intotdeauna protejate in cele din urma de un fel de cheie secreta.

Array

Aceste chei secrete trebuie protejate. Daca se scurg, nu ar fi nimic care sa distinga proprietarul unui cont de un hot.

Putem proteja cheile in transport si pe un disc folosind, de exemplu, criptarea. Protejarea cheii atunci cand este utilizata pentru semnarea unui mesaj este mai dificila.

Array

Cheia trebuie sa fie prezenta pe un singur computer in timpul semnarii. Totusi, acest computer ar putea fi compromis. Aici intervine MPC. Putem partaja secret cheia secreta intre mai multe servere si putem folosi MPC pentru a semna sub cheia secreta fara a avea vreodata cheia secreta prezenta pe o singura masina.

Cazul special al utilizarii MPC pentru calcularea semnaturilor fara a cunoaste cheia secreta este cunoscut sub numele de semnaturi prag .

Array

In mod similar, se pot decripta textele cifrate, pastrand in acelasi timp cheia de decriptare secreta in comun. Va puteti imagina protejarea secretelor oricarei scheme criptografice in acest fel, care este domeniul de studiu al criptografiei prag .

Un contract inteligent pentru un blockchain de baza traieste pe un registru public. Oricine poate vedea codul contractului si starea acestuia.

Aceste informatii ar putea fi sensibile.

Exista cateva solutii partiale la aceasta problema in care starea unui contract este mentinuta in afara lantului de catre partile interesate. Doar un hash al statului este pastrat pe blockchain. Atunci cand actualizeaza statul, o persoana interesata actualizeaza hash-ul si demonstreaza ca a fost facut corect fara a scapa care este noul stat. Aceste dovezi pot veni sub mai multe forme. Confidentialitatea partiala este puternic legata de domeniul calculelor externalizate verificabile.

Confidentialitate completaeste cel mai semnificativ in multe setari. Daca, de exemplu, contractul inteligent este o licitatie, participantii ar putea dori sa isi ascunda ofertele fata de ceilalti participanti. Fiecare participant ar trebui sa invete doar propriile sale intrari si iesiri. Intra MPC. Starea contractului inteligent poate fi pastrata sub forma partajata secreta pe unele servere pe care le-am putea numi noduri MPC. Aceste noduri MPC ar putea, de exemplu, sa faca parte din infrastructura blockchain, asa cum sunt nodurile de panificator. Daca intrarile sunt date contractului inteligent, acestea sunt inregistrate pe blockchain. Intrarile sensibile pot fi postate in forma criptata sub o cheie publica apartinand contractului inteligent. Cheia secreta corespunzatoare poate fi stocata sub forma partajata secreta intre nodurile MPC. Decriptarea se poate face in MPC. In acest fel, intrarile vor avea sens doar pentru contractul inteligent si niciun nod MPC nu va obtine informatii despre intrari. Daca contractul inteligent produce rezultate publice, cum ar fi cine a castigat o licitatie, acest lucru poate fi pus pe blockchain de catre nodurile MPC pentru a fi vizibil de catre lume. Important, starea contractului inteligent nu este acum vizibila pe blockchain. Niciunul dintre nodurile MPC nu este cunoscut. Doar rezultatele dorite sunt facute publice.

Exact modul in care aceasta orchestrare a MPC off-chain se realizeaza eficient si in siguranta este un obiectiv principal al blockchain-ului Partisia si ceva ce vom analiza intr-o postare ulterioara.

In loc sa rulati intregul blockchain intr-un MPC, puteti fi mai selectiv si puteti rula doar cateva componente critice in MPC.

Unele aplicatii posibile ale blockchain-urilor au nevoie de aleatoriu, care nu poate fi influentata de niciunul dintre participanti. Exemple simple sunt jocurile si loteriile. Unele forme rudimentare de imprevizibilitate pot fi derivate din blockchain-uri prin colectarea si distilarea aleatoriei din implementarea blockchain-ului, dar sunt insuficiente pentru loterii chiar. Pe de alta parte, generarea aleatoriei abundente si bune este o problema rezolvata in MPC, care poate fi, prin urmare, utilizata pentru a oferi o buna aleatorizare impartiala.

Unul dintre marile avantaje ale blockchain-urilor este ca permit operatiuni atomice. As putea, de exemplu, sa vreau sa va transfer proprietatea asupra casei mele daca si numai daca imi transferati o cantitate de Bitcoin. Atomicitatea este importanta, deci amandoi suntem siguri ca ne obtinem activul. Din pacate, atomicitatea se pierde daca activele traiesc pe diferite blockchains. MPC poate fi folosit pentru a rezolva acest lucru. Orice tip de tranzactie multi-agent poate fi descris ca un program care ia ca intrare cateva chei secrete si unele date auxiliare si calculeaza cine primeste in schimb ce active. Prin urmare, puteti configura un MPC pe un blockchain imbunatatit MPC. MPC va calcula tranzactiile si, de exemplu, va elibera semnaturi cu privire la cine ar trebui sa primeasca ce active. Pe celelalte blockchains, configurati in avans contracte inteligente care transfera activele dorite daca vi se ofera semnaturile corespunzatoare de la MPC. Ca un avantaj suplimentar, detaliile sensibile ale tranzactiei pot fi ascunse in interiorul MPC.

MPC poate fi, de asemenea, utilizat pentru statistici de retea sensibile, asa cum sa facut cu proiectul STORMY pentru reteaua Tor. MPC poate face mult mai mult pentru blockchain, dar hai sa continuam si sa intrebam: ce poate face blockchain pentru MPC? Aflati in partea a treia, in curand!

Cititi partea 3 aici >>

Despre autor

Jesper este profesor de informatica la Universitatea Aarhus si, de asemenea, unul dintre cofondatorii Partisia si Sepior. El este unul dintre cei mai buni cercetatori citati si publicatori in domeniul calculului multipartitic sigur. Principalele domenii de cercetare ale lui Jesper sunt calculul multipartit sigur, consensul distribuit si compozibilitatea universala.