Toate limbile
Bityuan este o rețea publică de lanț simplă, stabilă și extensibilă. În decembrie 2013, s-a născut BitYuan. Inițial, a fost produs de mecanismul de consens pre-miniere + Airdrop + POW. În 2015, mecanismul de consens BitYuan a fost actualizat la POS. După mai bine de patru ani de proiectare și cercetare, pe 17 mai 2018, a fost dezvoltat și testat BitYuan Blockchain 3.0, a fost lansată rețeaua principală și a fost actualizată la: SPOS (Safe POS), adică un mecanism securizat de consens POS care optimizează numerele aleatoare. Mai mult de 6 luni mai târziu, pe 07 decembrie 2018, Bitcoin (BTY) a fost oficial open source pe Github.
Cercetarea și dezvoltarea Bityuan adoptă tehnologia de bază a Hangzhou Complex Beauty Chain33, care este un proiect de lanț public cu o arhitectură multi-lanț (lanț public paralel) care a fost implementat și implementat. Pe blockchain-ul Bityuan pot fi dezvoltate mai multe lanțuri publice paralele.Fiecare lanț public paralel nu numai că are construcție ecologică blockchain diversă și independentă și dezvoltare DAPP, dar poate realiza și funcții de schimb încrucișat între mai multe lanțuri. Domeniile de aplicare ale proiectelor din lanțul public paralel includ: monedă stabilă, plicuri roșii, rețele sociale, comerț electronic, active în lanț, datorii în lanț, depozit de certificate și jocuri.
Blockchain-ul BitYuan a preluat conducerea în implementarea inovatoare a MVCCKVDB (stocare de date KV cu versiuni multiple). Blockchain-urile tradiționale stochează date sub formă de arbori merkle sau arbori MPT. De fiecare dată când datele se schimbă,< br> Arborele va fi refactorizat o dată, ceea ce este relativ ineficient. De exemplu, pentru un arbore Merkle cu 20 de straturi, interogarea datelor unui nod frunză necesită 20 de operații de citire pentru a finaliza, rezultând că eficiența interogării datelor este de doar 1/20 din eficiența interogării bazelor de date obișnuite, care poate fi completată per fiecare secunda Un sistem cu 100.000 de operațiuni de citire poate citi doar date de 5.000 de tranzacții pe secundă, ceea ce limitează foarte mult performanța de citire a sistemului. Când scrieți date, este, de asemenea, necesar să încărcați datele mai multor noduri de pe ramura copac și, în cele din urmă, să le scrieți pe disc după actualizare.Consumul de operare în aceasta este, de asemenea, relativ mare. BitYuan se bazează pe conceptul MVCC (Multi-Version Concurrency Control) în proiectarea bazei de date și proiectează un format original de stocare a datelor KVMVCC pentru a îmbunătăți ineficiența structurilor MAVL sau MPT. Satisface nevoia de a menține performanțe ridicate de citire și scriere a datelor după datele blockchain crește la o anumită scară.
Calcul hash:
statehash=hash (prevstatehash, KVSet, înălțime), care conține informațiile Hash de stare ale blocului anterior, informațiile de stare KVSet ale acestui bloc și informațiile curente informații despre înălțimea blocului (adică informații despre versiune).
Următoarea corespondență va fi stocată în baza de date a fiecărui nod:
hash->height(version)
height(version)->hash
cheie:height(version)->value
lasttest:key->value
Interogare de date:
Înălțimea corespunzătoare (versiunea) poate fi găsită conform statehash-ului, iar când înălțimea corespunzătoare poate fi găsită în funcție de înălțime, valoarea cheie specifică corespunde cu valoarea valorii.
Verificarea datelor:
pentru un KVSet cu o înălțime specifică, operațiunile Hash pot fi efectuate în funcție de valorile hash prevstatehash, KVSet și înălțimea blocului anterior. Dacă hash-ul valorile se potrivesc, datele nu au fost manipulate, în caz contrar, datele sunt modificate sau datele sunt greșite (înălțimea este greșită sau datele KVSet sunt greșite).
Întreținerea celei mai recente versiuni de date:
în special, atunci când stocați cheia și valoarea celui mai recent bloc, păstrați în același timp (cheie nouă) sau actualizați (au deja istoric Cheia versiunii) cheie:latest->relația de mapare valoare este stocată în baza de date locală cheie-valoare. Când trebuie să obțineți cele mai recente date de lot, puteți interoga cele mai recente date în loturi conform celui mai recent prefix (poate fi personalizat). Deoarece baza de date obișnuită cheie-valoare poate suporta bine interogări de potrivire a prefixelor, eficiența interogării va fi relativ mare, mult mai mare decât interogarea structurii de stocare a arborelui Merkle.
Pentru a îmbunătăți performanța blockchain-ului, lanțul public paralel adoptă în general consensul DPOS (Share Authorization Proof Mechanism), adică mai multe super-noduri sunt selectate pe lanț pentru a plăti puterea de calcul și suportul pentru bandă largă
Informațiile despre tranzacție trebuie să fie împachetate în bloc, iar informațiile despre bloc sunt difuzate către alte noduri, iar informațiile despre tranzacție sunt stocate pe bloc pentru a juca funcția de guvernare comună a comunității.
Indiferent dacă un lanț public are succes sau nu, una dintre valorile cheie este numărul de noduri din lanț. Mecanismul super-nod poate ajuta lanțul public paralel să stabilească rapid o ecologie pe lanț și să se bazeze pe funcționarea și întreținerea fiecărui super-nod pentru a promova prosperitatea ecologiei lanțului public paralel și a realiza o zonă mai stabilă, mai puternică și mai descentralizată. Sistem blockchain.
În același timp, operatorul de lanț public paralel poate înființa o fundație de lanț paralel pentru a promova inițiativa și entuziasmul super-nodurilor prin diferite mecanisme de stimulare a jetoanelor și metode de operare ale fundației pentru super-noduri și prin răscumpărarea de jetoane , proceduri de tranzacție Pentru a promova dezvoltarea sănătoasă și durabilă a lanțului public paralel.
Mașina Oracle realizează legătura dintre blockchain și lumea reală.Mașina Oracle este o entitate de încredere care introduce informații despre starea lumii externe prin semnături, permițând astfel contractelor inteligente deterministe să determine situația incertă. br> Lumea exterioară reacționează. Mașina Oracle are caracteristicile unui serviciu nemodificabil, stabil și auditabil.
Datele de eliberare a contractului Oracle sunt împărțite în trei pași:
(1) Evenimentul de lansare a datelor de eliberare (anunțați întreaga rețea că rezultatul unui eveniment va fi anunțat în viitor și atribuiți un ID unic de eveniment, dacă evenimentul nu a avut loc și poate fi anulat).
(2) Rezultate pre-lansare (furnizorul de date pre-lansează rezultatele timpului, dacă rezultatele sunt considerate problematice de către audit, acestea pot fi revocate).
(3) Publicați rezultatele (după ce rezultatele pre-lansării sunt auditate, acestea vor fi în sfârșit eliberate pe întreaga rețea, care nu pot fi modificate și pot fi auditate și urmărite).
Alte contracte (cum ar fi contractele de ghicire) pot folosi ID-ul evenimentului și evenimente specifice din pasul 1 de mai sus pentru a desfășura activități (de ghicire). Când rezultatele pasului 3 sunt anunțate, contractul de ghicire va declanșa finalizarea contractului decontarea ghicirii în funcție de rezultatul corespunzător ID-ului evenimentului, pentru a realiza o ghicire corectă obiectivă, credibilă, auditabilă și urmăribilă fără intervenție umană.