Algorand

Algorand
Algorand mark.svg
Valörer
Symbol ALGO
Koda Reach, PyTeal, TEAL
Utveckling
Originalförfattare Silvio Micali
vitt papper https://arxiv.org/abs/1607.01341
Initial release april 2019
Kodförråd https://github.com/algorand
Utvecklingsstatus Aktiva
Skrivet i TEAL, Reach, Java, PyTeal, Python, Go, Rust
Utvecklare Algorand, Inc.
Huvudbok
Ledger start juni 2019
Blockera tid 3,7 sekunder
Blockera utforskaren https://algoexplorer.io/
Cirkulerande utbud 7 034 037 612,93 Algo (2022-09-08)
Utbudsgräns 10 000 000 000 Algo

Algorand är ett proof-of-stake blockchain kryptovalutaprotokoll . Algorands inhemska kryptovaluta kallas ALGO.

Historia

Algorand grundades 2017 av Silvio Micali , professor vid MIT .

Algorands testnätverk lanserades för allmänheten i april 2019, och huvudnätverket lanserades i juni 2019.

Algorand har en försumbar energiförbrukning per transaktion.

Styrning

Algorand består av ett företag och en stiftelse. Algorand Foundation hanterar prisfinansiering, kryptografisk forskning, styrning i kedjan och decentralisering av Algorand-nätverket inklusive noder. Kärnutvecklingen av Algorand-protokollet övervakas av Algorand Inc., ett privat företag baserat i Boston . [ icke-primär källa behövs ]

Algorand Foundation leddes av kryptografen Tal Rabin . [ icke-primär källa behövs ]

Algorand Foundation utfärdar kvartalsvisa röster för ALGOs intressenter att rösta på. Dessa förslag kretsar ofta kring implementeringen av DeFi inom Algorand-gemenskapen. [ icke-primär källa behövs ]

Design

Algorand är tänkt att lösa "blockkedjetrilemmat": påståendet att vilket blockkedjesystem som helst kan ha högst två av tre önskvärda egenskaper: decentralisering, skalbarhet och säkerhet. Ett system med alla tre skulle kunna köras på noder som var och en endast har måttliga resurser av konsumentklass (dvs. inte behöver ett datacenter eller ett stort kluster av virtuella maskiner), har transaktionsbearbetning som skalas med de totala nätverksresurserna (snarare än de tillgängliga resurserna) per nod), och kunde inte undergrävas av angripare som individuellt besitter en stor del av nätverkets totala resurser.

Konsensusalgoritm

Algorand använder ett bysantinskt avtalsprotokoll som utnyttjar bevis på insats . Så länge en övermajoritet av insatsen är i icke-illvilliga händer, kan protokollet tolerera illvilliga användare och uppnå konsensus utan en central myndighet.

Konsensus om Algorand kräver tre steg för att föreslå, bekräfta och skriva blocket till blockkedjan. Stegen är föreslå, soft vote och certifierad röst.

Den första fasen (blockförslagsfasen) använder proof of stake-principer. Under denna fas väljs en kommitté av användare i systemet slumpmässigt, men på ett sätt som är viktat, för att föreslå det nya blocket. Valet av kommittén görs via en process som kallas "kryptografisk sortering", där varje användare avgör om de är med i kommittén genom att lokalt utföra en Verifiable Random Function (VRF). Om VRF indikerar att användaren är vald, returnerar VRF ett kryptografiskt bevis som kan användas för att verifiera att användaren är med i kommittén. Sannolikheten att en given användare kommer att vara med i kommittén påverkas av antalet ALGO-tokens som innehas av den användaren (insatsen).

Efter att ha fastställt att en användare är med i blockvalskommittén kan den användaren bygga ett föreslaget block och sprida det till nätverket för granskning/analys under den andra fasen. Användaren inkluderar det kryptografiska beviset från VRF i sitt föreslagna block för att visa kommittémedlemskap.

I den andra fasen (blockfinaliseringsfasen) används ett bysantinskt avtalsprotokoll (kallat "BA*") för att rösta om de föreslagna blocken. I denna andra fas bildas en ny kommitté via kryptografisk sortering. När användare har fastställt att de är med i denna andrafasomröstningskommitté analyserar de de föreslagna blocken de har fått (inklusive verifiering av medlemskap i förstafaskommittén) och röstar om huruvida något av blocken ska antas. Om röstkommittén uppnår konsensus om ett nytt block sprids det nya blocket över nätverket.

Inom Algorands konsensusalgoritm ändras medlemskapet i båda kommittéerna varje gång fasen körs. Detta skyddar användare mot riktade attacker, eftersom en angripare inte vet i förväg vilka användare som kommer att vara i en kommitté. Två olika Algorand-block kan inte nå konsensus i samma omgång. Enligt en extern säkerhetsrevision tar modellen också hänsyn till timingfrågor och motståndaråtgärder, t.ex. när motståndaren har kontroll över meddelandeleverans.