Alla språk
Bityuan är ett enkelt, stabilt och utbyggbart nätverk för offentliga kedjor. I december 2013 föddes BitYuan. Till en början producerades den av pre-mining airdrop + POW-konsensusmekanismen. Under 2015 uppdaterades BitYuan-konsensusmekanismen till POS. Efter mer än fyra års design och forskning, den 17 maj 2018, utvecklades och testades BitYuan Blockchain 3.0, huvudnätverket lanserades och det uppgraderades till: SPOS (Safe POS), det vill säga en säker POS-konsensusmekanism som optimerar slumptal. Mer än 6 månader senare, den 7 december 2018, var Bitcoin (BTY) officiellt öppen källkod på Github.
Forskningen och utvecklingen av Bityuan antar den underliggande tekniken från Hangzhou Complex Beauty Chain33, som är ett offentligt kedjeprojekt med en flerkedjig (parallell offentlig kedja) arkitektur som har implementerats och implementerats. Flera parallella offentliga kedjor kan utvecklas på Bityuan-blockkedjan. Varje parallell offentlig kedja har inte bara en mångsidig och oberoende ekologisk konstruktion av blockkedjor och DAPP-utveckling, utan kan också realisera kors-kedjeutbytesfunktioner mellan flera kedjor. Tillämpningsområdena för parallella offentliga kedjeprojekt inkluderar: stabil valuta, röda kuvert, sociala nätverk, e-handel, tillgångar i kedjan, skulder i kedjan, certifikatinsättning och spel.
BitYuan-blockkedjan tog ledningen i den innovativa implementeringen av MVCCKVDB (multi-version KV-datalagring). Traditionella blockkedjor lagrar data i form av merkle-träd eller MPT-träd. Varje gång data ändras,< br> Trädet kommer att refaktoreras en gång, vilket är relativt ineffektivt. Till exempel, för ett 20-lagers Merkle-träd, kräver förfrågning av data från en lövnod 20 läsoperationer att slutföra, vilket resulterar i att effektiviteten av dataförfrågan endast är 1/20 av frågeeffektiviteten för vanliga databaser, som kan slutföras per sekund Ett system med 100 000 läsoperationer kan bara läsa data på 5 000 transaktioner per sekund, vilket kraftigt begränsar systemets läsprestanda. När man skriver data är det också nödvändigt att ladda data från flera noder på trädgrenen, och slutligen skriva den till disken efter uppdatering. Operationsförbrukningen i denna är också relativt stor. BitYuan bygger på MVCC-konceptet (Multi-Version Concurrency Control) i databasdesign, och designar ett original KVMVCC-datalagringsformat för att förbättra ineffektiviteten hos MAVL- eller MPT-strukturer. Tillfredsställa behovet av att upprätthålla hög dataläs- och skrivprestanda efter blockchain-data växer till en viss skala.
Hash-beräkning:
statehash=hash (prevstatehash, KVSet, höjd), som innehåller tillståndshash-information för föregående block, tillståndsdata KVSet-information för detta block och den aktuella blockhöjdsinformation (det vill säga versionsinformation).
Följande korrespondens kommer att lagras i databasen för varje nod:
hash->height(version)
height(version)->hash
key:height(version)->value
lastest:key->value
Datafråga:
Motsvarande höjd (version) kan hittas enligt statehash, och när motsvarande höjd kan hittas enligt höjden, det specifika nyckelvärdet motsvarar Värdevärdet.
Dateverifiering:
För en KVSet med en specifik höjd kan hash-operationer utföras enligt hash-värdena prevstatehash, KVSet och höjd för föregående block. värden matchar, data har inte manipulerats, annars ändras data eller data är fel (höjden är fel eller KVSet-data är fel).
Underhåll av den senaste versionen av data:
Särskilt när du lagrar nyckeln och värdet för det senaste blocket, behåll (ny nyckel) eller uppdatera (har redan historik) samtidigt Versionsnyckel) nyckel:senaste->värde-mappningsrelationen lagras i den lokala nyckel-värdedatabasen. När du behöver skaffa den senaste batchdatan kan du fråga den senaste datan i batcher enligt det senaste prefixet (kan anpassas). Eftersom den vanliga nyckel-värde-databasen mycket väl kan stödja prefixmatchande frågor, kommer frågeeffektiviteten att vara relativt hög, mycket högre än frågan i Merkle-trädlagringsstrukturen.
För att förbättra prestandan för blockkedjan antar den parallella publika kedjan generellt DPOS-konsensus (Share Authorization Proof Mechanism), det vill säga flera supernoder väljs i kedjan för att betala datorkraft och bredbandsstöd
Transaktionsinformationen måste paketeras i blocket, och blockinformationen sänds till andra noder, och transaktionsinformationen lagras på blocket för att spela funktionen att gemensamt styra gemenskapen.
Oavsett om en offentlig kedja är framgångsrik eller inte, är ett av nyckelmåtten antalet noder i kedjan. Supernodmekanismen kan hjälpa den parallella offentliga kedjan att snabbt etablera en ekologi i kedjan och förlita sig på driften och underhållet av varje supernod för att främja välståndet för den parallella offentliga kedjans ekologi och förverkliga ett mer stabilt, kraftfullt och decentraliserat område Blockchain system.
Samtidigt kan den parallella offentliga kedjeoperatören inrätta en parallellkedjestiftelse för att främja initiativet och entusiasmen hos supernoder genom olika symboliska incitamentmekanismer och driftmetoder för stiftelsen för supernoder, och genom återköp av tokens , transaktionsförfaranden Att främja en sund och hållbar utveckling av den parallella offentliga kedjan.
Orakelmaskinen inser kopplingen mellan blockkedjan och den verkliga världen. Orakelmaskinen är en pålitlig enhet som introducerar information om tillståndet i den yttre världen genom signaturer, vilket gör att deterministiska smarta kontrakt kan avgöra det osäkra < br> Omvärlden reagerar. Orakelmaskinen har egenskaperna för icke-manipulerbar, stabil service och kontrollbar.
Oracle-kontraktets releasedata är uppdelad i tre steg:
(1) Release data release-händelse (meddela hela nätverket att resultatet av en händelse kommer att tillkännages i framtiden, och tilldela ett unikt händelse-ID, om händelsen har inte inträffat och kan ångras).
(2) Resultat före publicering (dataleverantören förutsläpper tidsresultaten, om resultaten visar sig vara problematiska av revisionen kan de återkallas).
(3) Publicera resultaten (efter att pre-release-resultaten har granskats kommer de slutligen att släppas på hela nätverket, som inte kan manipuleras och kan granskas och spåras).
Andra kontrakt (som gissningskontrakt) kan använda händelse-ID och specifika händelser i steg 1 ovan för att utföra (gissnings)aktiviteter. När resultatet av steg 3 tillkännages kommer gissningskontraktet att utlösa kontraktet att slutföras gissningsuppgörelsen enligt resultatet som motsvarar händelse-ID , för att uppnå en objektiv, trovärdig, revisionsbar och spårbar rättvis gissning utan mänsklig inblandning.