Leasade insatsbevis-konsensusalgoritmer och Waves-NG-protokollet
Författare: Guy Brandon, Waves-medarbetare.
Waves-nÀtverket fungerar med leasade insatsbevis-konsensusalgoritmer kombinerad med Waves-NG-protokollet, vilket möjliggör en hög grad av skalbarhet och transaktionsgenomströmning.
Introduktion
Waves-nĂ€tverket lanserades 2016 efter en ICO som samlade in 30 000 BTC â cirka 16 miljoner USD vid den tiden. Projektet utvecklar ett omfattande blockkedje-ekosystem för anvĂ€ndning i affĂ€rsprocesser, med en omfattande verktygslĂ„da som tĂ€cker olika behov â inklusive enkelt skapande av anpassade kryptovalutatoken; enkla smarta kontrakt; peer-to-peer-handel pĂ„ en inbyggd decentraliserad börs (DEX); och ett sĂ€kert, bekvĂ€mt sĂ€tt att interagera med DApps och webbtjĂ€nster via Waves Keeper-webblĂ€sarplugin.
Skalbarhet
FrÄn början insÄg Waves att skalbarhet skulle krÀvas för blockkedjeantagande i stor skala och prioriterade utvecklingen av teknik för att hantera begrÀnsningarna hos befintliga blockkedjor. Till exempel Àr Bitcoin mycket sÀkert, men relativt lÄngsamt, och kan bara stödja cirka 7 transaktioner per sekund (TPS). Som sÄdan Àr Bitcoin inte tillrÀckligt effektivt för att anvÀndas som en vardaglig valuta över hela vÀrlden. Andra nivÄlösningar som Lightning Network krÀvs för att Bitcoin ska tjÀna detta syfte. Waves har tagit ett annat tillvÀgagÄngssÀtt och initialt fokuserat pÄ hög skalbarhet pÄ kedjan innan de övervÀger applikationer i andra klass.
Balansuthyrning
Waves ursprungliga konsensusalgoritm var en enkel insatsbevis-implementering. Alla 100 miljoner WAVES-token fördelades efter ICO, och utbudet Ă€r fast: det finns ingen inflation, som det finns med arbetsbevis-myntade coin. DĂ€rför fĂ„r Waves blockvaliderare (förfalskare, Ă€ven om de vanligtvis bara kallas âminersâ inom Waves ekosystem) transaktionsavgifter frĂ„n blocken de bearbetar, men inga blockbelöningar.Â
Det leasade insatsbevis-systemet (Leased Proof of Stake/LPoS) lanserades helt i maj 2017, vilket gjorde det möjligt för anvĂ€ndare av Waves lite-klienten â de som inte körde en fullstĂ€ndig nod â att leasa sina WAVES-token till utvinningsnoder. LeasWAVES Ă€r lĂ„sta i anvĂ€ndarens konto och kan inte överföras eller handlas. ĂndĂ„ förblir token i kontoinnehavarens fulla kontroll och leasingavtalet kan avbrytas nĂ€r som helst. Med tanke pĂ„ de tekniska omkostnader som Ă€r förknippade med att köra en utvinningsnod och behovet av att vara online dygnet runt, kör bara en relativt liten del av Waves-communityn noder (en lista över blockgeneratorer finns pĂ„ https://dev.pywaves.org/generators/).Â
WAVES-token som hyrs ut till en utvinningsnod anvĂ€nds för att öka minerns intressevikt, vilket i sin tur ökar chansen att minern hittar nĂ€sta block. Leasade insatsbevis-systemet förbĂ€ttrar nĂ€tverkssĂ€kerheten pĂ„ minst tvĂ„ sĂ€tt. För det första, ju fler WAVES som anvĂ€nds för att sĂ€kra nĂ€tverket desto bĂ€ttre, eftersom det blir svĂ„rare för en angripare att samla de token som krĂ€vs för att utföra en 51 %-ig attack. För det andra kan WAVES leasas till en nod frĂ„n en anvĂ€ndares kalla förvaringsadress, men sjĂ€lva noden â som förblir online â kanske bara har en minimal balans. Detta minskar betydligt risken för att WAVES-token hackas frĂ„n datorer som Ă€r online, eftersom de leasade tillgĂ„ngarna inte överförs till minern.
Ett nytt tillvÀgagÄngssÀtt för konsensus: Waves-NG
En ytterligare uppgradering av nĂ€tverket skedde i december 2017 med lanseringen av Waves-NG. Detta var ett nytt protokoll baserat pĂ„ Bitcoin-NG-förslaget av Cornell IT-professor Emin GĂŒn Sirer.
Det ursprungliga Bitcoin-protokollet vĂ€ljer varje miner retroaktivt. Efter att ett block har lagts till i blockkedjan tĂ€vlar miners om att hitta en giltig hash för nĂ€sta block, baserat pĂ„ blockkedjans nuvarande tillstĂ„nd. Under tiden gĂ„r nyligen skapade transaktioner in i minnespoolen (mempool), dĂ€r de kommer att förbli vĂ€ntande tills en miner sĂ„ smĂ„ningom samlar in och validerar dem.Â
Ăven om bĂ„de Bitcoin- och Bitcoin-NG-protokollet betraktas som bysantinskt feltoleranta-system (BFT), föreslogs det 2015 som ett skalbart alternativ baserat pĂ„ en annan arbetsmekanism. PĂ„ ett Bitcoin-NG-system vĂ€ljs nĂ€sta miner i förvĂ€g och denna miner skapar ett tomt ânyckelblockâ â vilket Ă€r blocket som slutligen lĂ€ggs till blockkedjan. SmĂ„ block som kallas âmikroblockâ (bestĂ„ende av nĂ„gra transaktioner vardera) lĂ€ggs till i nĂ€stan realtid till detta nyckelblock. För att anvĂ€nda en vardaglig analogi Ă€r det som att lĂ€gga till flera pĂ„sar med shopping (mikroblock) till en vagn (nyckelblock) innan hela vagnen slutligen rullas till kassan (lĂ€ggs till blockkedjan). Detta innebĂ€r att transaktioner kan lĂ€ggas till blockkedjan pĂ„ bara nĂ„gra sekunder, med den enda verkliga fördröjningen Ă€r nĂ€tverkslatens. Waves uppdaterade denna idĂ© för ett insatsbevis-nĂ€tverk och skapade Waves-NG-protokollet â den första distributionen av Bitcoin-NG för en öppen, offentlig blockkedja.
Ett ytterligare tillĂ€gg till ekosystemet har varit massöverföringar. Dessa gör att upp till 100 överföringar kan paketeras inom en enda transaktion, med reducerade avgifter. GrĂ€nsen pĂ„ 100 txs per massöverföring valdes som en kompromiss mellan att lĂ€gga till betydande kapacitet och bekvĂ€mlighet Ă„ ena sidan, och Ă„ andra sidan begrĂ€nsa möjligheten att skicka mycket stora partier av lĂ„gkostnadstransaktioner pĂ„ en gĂ„ng. Om fler överföringar behöver göras kan flera massöverföringar skickas in i följd.Â
Med andra ord kan anvĂ€ndare helt enkelt vĂ€lja en massöverföring som en annan âSkicka transaktionâ-typ, sĂ„ att de kan inkludera upp till 100 mottagare i en enda transaktion. Dessutom kan mottagaradresserna tillhandahĂ„llas via JSON eller laddas upp frĂ„n en CSV-fil, vilket gör det enkelt och effektivt att genomföra stora airdrops eller utföra veckovisa utbetalningar till dem som hyr ut sina WAVES till utvinningsnoder. Kombinerat med Waves-NG möjliggjorde massöverföringsfunktionen en mycket hög genomströmningshastighet i nĂ€tverket.
Ett antal stresstester har genomförts pÄ Waves-nÀtverket för att mÀta genomströmningspotentialen för det nya protokollet. I oktober 2018 genomfördes ett stort stresstest pÄ MainNet. Detta visade att det offentliga, öppna blockkedjeprotokollet (inte bara ett begrÀnsat och kontrollerat TestNet) kunde stödja över 6,1 miljoner transaktioner inom en 24-timmarsperiod - i genomsnitt 4 200 txs per minut eller 71 txs per sekund, med maximal genomströmning som nÄr hundratals transaktioner per sekund.
Sammanfattningsvis
Leasade insatsbevis-system gjorde det möjligt för anvÀndare att utan teknisk expertis hjÀlpa till att sÀkra Waves-nÀtverket genom att leasa sina WAVES till fulla noder utan att förlora kontrollen över sina token. Samtidigt möjliggjorde Waves-NG en genomströmning pÄ upp till 100 TPS, vilket Àr en storleksordning fler Àn mÄnga blockkedjor. Avgifterna Àr lÄga eftersom det inte finns nÄgot behov av att betala miners med blockbelöningar för att kompensera dem för höga elkostnader och dyr hÄrdvara.
Skalbarhet pÄ kedjan har varit en prioritet för Waves, men det finns grÀnser i vilken utstrÀckning som nÄgon blockkedja kan skala pÄ detta sÀtt pÄ grund av den lagring och bandbredd som krÀvs. Waves utvecklare tror att det nuvarande tillvÀgagÄngssÀttet kan optimeras för att stödja upp till 1 000 TPS innan ytterligare skalningslösningar krÀvs. Waves utforskar för nÀrvarande alternativ för en andra nivÄs skalningslösning som involverar sidokedjor, vilket gör att ett stort antal transaktioner kan bearbetas pÄ en parallell kedja men i slutÀndan sÀkras pÄ den huvudsakliga Waves-blockkedjan.