Alle språk
Bityuan er et enkelt, stabilt og utvidbart offentlig kjedenettverk. I desember 2013 ble BitYuan født. Opprinnelig ble den produsert av pre-mining airdrop + POW-konsensusmekanismen. I 2015 ble BitYuan-konsensusmekanismen oppdatert til POS. Etter mer enn fire år med design og forskning, 17. mai 2018, ble BitYuan Blockchain 3.0 utviklet og testet, hovednettverket ble lansert, og det ble oppgradert til: SPOS (Safe POS), det vil si en sikker POS-konsensusmekanisme som optimerer tilfeldige tall. Mer enn 6 måneder senere, 7. desember 2018, ble Bitcoin (BTY) offisielt åpnet med åpen kildekode på Github.
Forskningen og utviklingen til Bityuan tar i bruk den underliggende teknologien til Hangzhou Complex Beauty Chain33, som er et offentlig kjedeprosjekt med en flerkjede (parallell offentlig kjede) arkitektur som er implementert og implementert. Flere parallelle offentlige kjeder kan utvikles på Bityuan blockchain.Hver parallelle offentlige kjede har ikke bare mangfoldig og uavhengig blokkjedeøkologisk konstruksjon og DAPP-utvikling, men kan også realisere tverrkjedeutvekslingsfunksjoner mellom flere kjeder. Bruksområdene for parallelle offentlige kjedeprosjekter inkluderer: stabil valuta, røde konvolutter, sosiale nettverk, e-handel, aktiva på kjeden, gjeld på kjeden, sertifikatinnskudd og spill.
BitYuan-blokkjeden tok ledelsen i innovativ implementering av MVCCKVDB (multi-versjon KV-datalagring). Tradisjonelle blokkjeder lagrer data i form av merkle-trær eller MPT-trær. Hver gang dataene endres,< br> Treet vil bli refaktorisert en gang, noe som er relativt lite effektivt. For eksempel, for et 20-lags Merkle-tre, krever spørring av dataene til en bladnode 20 leseoperasjoner for å fullføre, noe som resulterer i at effektiviteten til dataspørringen bare er 1/20 av spørringseffektiviteten til vanlige databaser, som kan fullføres pr. sekund Et system med 100 000 leseoperasjoner kan kun lese data på 5 000 transaksjoner per sekund, noe som i stor grad begrenser systemets leseytelse. Ved skriving av data er det også nødvendig å laste inn data til flere noder på tregrenen, og til slutt skrive det til disken etter oppdatering Driftsforbruket i denne er også relativt stort. BitYuan trekker på MVCC-konseptet (Multi-Version Concurrency Control) i databasedesign, og designer et originalt KVMVCC-datalagringsformat for å forbedre ineffektiviteten til MAVL- eller MPT-strukturer. Tilfredsstille behovet for å opprettholde høy datalese- og skriveytelse etter blokkjededataene vokser til en viss skala.
Hash-beregning:
statehash=hash (prevstatehash, KVSet, høyde), som inneholder statushash-informasjonen for forrige blokk, tilstandsdata-KVSet-informasjonen for denne blokken og gjeldende blokkhøydeinformasjon (det vil si versjonsinformasjon).
Følgende korrespondanse vil bli lagret i databasen til hver node:
hash->height(versjon)
height(versjon)->hash
key:height(versjon)->verdi
lastest:key->value
Dataspørring:
Den korresponderende høyden (versjonen) kan bli funnet i henhold til statehash, og når den tilsvarende høyden kan bli funnet i henhold til høyden, den spesifikke nøkkelverdien tilsvarer Verdiverdien.
Dataverifisering:
For et KVSet med en spesifikk høyde kan Hash-operasjoner utføres i henhold til hash-verdiene prevstatehash, KVSet og høyden til forrige blokk. verdier samsvarer, dataene har ikke vært manipulert, ellers er dataene endret eller dataene er feil (høyden er feil, eller KVSet-dataene er feil).
Vedlikehold av den nyeste versjonen av data:
Spesielt når du lagrer nøkkelen og verdien til den siste blokken, skal du samtidig beholde (ny nøkkel) eller oppdatere (har allerede historikk) Versjonsnøkkel) nøkkel:nyeste->verditilordningsforhold lagres i den lokale nøkkelverdidatabasen. Når du trenger å skaffe de nyeste batchdataene, kan du spørre etter de siste dataene i batcher i henhold til det siste prefikset (kan tilpasses). Siden den vanlige nøkkelverdidatabasen godt kan støtte prefiksmatchende spørringer, vil spørringseffektiviteten være relativt høy, mye høyere enn spørringen til Merkle-trelagringsstrukturen.
For å forbedre ytelsen til blokkjeden, vedtar den parallelle offentlige kjeden generelt DPOS (Share Authorization Proof Mechanism) konsensus, det vil si at flere supernoder velges i kjeden for å betale datakraft og bredbåndsstøtte
Transaksjonsinformasjonen må pakkes inn i blokken, og blokkinformasjonen sendes til andre noder, og transaksjonsinformasjonen lagres på blokken for å spille funksjonen til å styre fellesskapet i fellesskap.
Om en offentlig kjede er vellykket eller ikke, er en av nøkkelberegningene antall noder i kjeden. Supernodemekanismen kan hjelpe den parallelle offentlige kjeden til raskt å etablere en økologi på kjeden, og stole på drift og vedlikehold av hver supernode for å fremme velstanden til den parallelle offentlige kjedeøkologien og realisere et mer stabilt, kraftig og desentralisert område Blockchain system.
Samtidig kan den parallelle offentlige kjedeoperatøren sette opp en parallellkjedestiftelse for å fremme initiativ og entusiasme til supernoder gjennom ulike symbolske insentivmekanismer og driftsmetoder for stiftelsen for supernoder, og gjennom gjenkjøp av tokens , transaksjonsprosedyrer For å fremme sunn og bærekraftig utvikling av den parallelle offentlige kjeden.
Orakelmaskinen innser koblingen mellom blokkjeden og den virkelige verden. Orakelmaskinen er en pålitelig enhet som introduserer informasjon om tilstanden til den ytre verden gjennom signaturer, og dermed lar visse smarte kontrakter bestemme det usikre. br> Omverdenen reagerer. Orakelmaskinen har egenskapene til ikke-manipulerbar, stabil service og kontrollerbar.
Utgivelsesdataene for Oracle-kontrakten er delt inn i tre trinn:
(1) Frigivelsesdatautgivelseshendelse (informer hele nettverket om at resultatet av en hendelse vil bli annonsert i fremtiden, og tilordne en unik hendelses-ID, hvis hendelsen har ikke skjedd og kan angres).
(2) Forhåndsutgivelsesresultater (dataleverandøren forhåndsutgir tidsresultatene, hvis resultatene viser seg å være problematiske av revisjonen, kan de trekkes tilbake).
(3) Publiser resultatene (etter at resultatene før utgivelsen er revidert, vil de endelig bli utgitt på hele nettverket, som ikke kan tukles med og kan revideres og spores).
Andre kontrakter (som gjettekontrakter) kan bruke hendelses-ID og spesifikke hendelser i trinn 1 ovenfor for å utføre (gjette) aktiviteter. Når resultatene av trinn 3 er annonsert, vil gjettekontrakten utløse kontrakten for å fullføre gjetteoppgjøret i henhold til resultatet som tilsvarer hendelses-ID, for å oppnå en objektiv, troverdig, reviderbar og sporbar rettferdig gjetning uten menneskelig innblanding.