Algorand
Nominały | |
---|---|
Symbol | ALGO |
Kod | Zasięg, PyTeal, TEAL |
Rozwój | |
Oryginalni autorzy | Sylwio Mikali |
biały papier | https://arxiv.org/abs/1607.01341 |
Pierwsze wydanie | kwiecień 2019 r |
Repozytorium kodu | https://github.com/algorand |
Status rozwoju | Aktywny |
Napisane w | TEAL, Reach, Java, PyTeal, Python, Go, Rust |
Deweloperzy | Algorand, Inc. |
Księga główna | |
Początek księgi | czerwiec 2019 r |
Czas bloku | 3,7 sekundy |
Eksplorator bloków | https://algoexplorer.io/ |
Zasilanie obiegowe | 7 034 037 612,93 Algo (2022-09-08) |
Limit dostaw | 10 000 000 000 Algo |
Algorand jest protokołem kryptowaluty typu blockchain typu proof-of-stake . Natywna kryptowaluta Algorand nazywa się ALGO.
Historia
Algorand został założony w 2017 roku przez Silvio Micali , profesora MIT .
Sieć testowa Algorand została udostępniona publicznie w kwietniu 2019 r., a główna sieć została uruchomiona w czerwcu 2019 r.
Algorand ma znikome zużycie energii na transakcję.
Zarządzanie
Algorand składa się ze spółki i fundacji. Fundacja Algorand zarządza finansowaniem nagród, badaniami kryptograficznymi, zarządzaniem łańcuchem i decentralizacją sieci Algorand, w tym węzłów. Główny rozwój protokołu Algorand jest nadzorowany przez Algorand Inc., prywatną korporację z siedzibą w Bostonie . [ potrzebne inne niż podstawowe źródło ]
Fundacją Algorand kierował kryptograf Tal Rabin . [ potrzebne inne niż podstawowe źródło ]
Fundacja Algorand wydaje kwartalne głosy dla udziałowców ALGO do głosowania. Propozycje te często dotyczą implementacji DeFi w społeczności Algorand. [ potrzebne inne niż podstawowe źródło ]
Projekt
Algorand ma na celu rozwiązanie „trylematu blockchain”: twierdzenia, że każdy system blockchain może mieć co najwyżej dwie z trzech pożądanych właściwości: decentralizacja, skalowalność i bezpieczeństwo. System ze wszystkimi trzema może działać na węzłach, z których każdy ma tylko umiarkowane zasoby klasy konsumenckiej (tj. nie potrzebuje centrum danych ani dużego klastra maszyn wirtualnych), ma przetwarzanie transakcji, które skaluje się z całkowitymi zasobami sieciowymi per-węzeł) i nie mogą zostać obalone przez atakujących, którzy indywidualnie posiadają dużą część całkowitych zasobów sieci.
Algorytm konsensusu
Algorand używa bizantyjskiego protokołu umowy , który wykorzystuje dowód udziału . Tak długo, jak większość udziałów znajduje się w nieszkodliwych rękach, protokół może tolerować złośliwych użytkowników, osiągając konsensus bez organu centralnego.
Konsensus w sprawie Algorand wymaga trzech kroków, aby zaproponować, potwierdzić i zapisać blok w łańcuchu bloków. Etapy to propozycja, głosowanie miękkie i głosowanie potwierdzające.
Pierwsza faza (faza propozycji blokowej) wykorzystuje zasady dowodu stawki. Podczas tej fazy wybierany jest komitet użytkowników systemu losowo, choć w sposób ważony, w celu zaproponowania nowego bloku. Wybór komitetu odbywa się za pomocą procesu zwanego „sortowaniem kryptograficznym”, w którym każdy użytkownik określa, czy należy do komitetu, wykonując lokalnie weryfikowalną funkcję losową (VRF). Jeśli VRF wskazuje, że użytkownik został wybrany, VRF zwraca dowód kryptograficzny, którego można użyć do sprawdzenia, czy użytkownik jest w komitecie. Na prawdopodobieństwo, że dany użytkownik znajdzie się w komitecie, wpływa liczba posiadanych przez niego tokenów ALGO (stawka).
Po ustaleniu, że użytkownik należy do komitetu wyboru bloków, użytkownik ten może zbudować proponowany blok i rozesłać go do sieci w celu przeglądu/analizy podczas drugiej fazy. Użytkownik dołącza dowód kryptograficzny z VRF do proponowanego bloku, aby wykazać członkostwo w komitecie.
W drugiej fazie (faza finalizacji bloku) do głosowania nad proponowanymi blokami używany jest protokół umowy bizantyjskiej (zwany „BA*”). W tej drugiej fazie tworzony jest nowy komitet poprzez sortowanie kryptograficzne. Kiedy użytkownicy stwierdzą, że należą do tego komitetu głosowania drugiej fazy, analizują otrzymane propozycje bloków (w tym weryfikację członkostwa w komitecie pierwszego etapu) i głosują, czy któryś z bloków powinien zostać przyjęty. Jeśli komitet głosujący osiągnie konsensus w sprawie nowego bloku, nowy blok jest rozpowszechniany w sieci.
W algorytmie konsensusu Algorand członkostwo w obu komitetach zmienia się za każdym razem, gdy faza jest uruchomiona. Chroni to użytkowników przed atakami ukierunkowanymi, ponieważ osoba atakująca nie będzie z góry wiedzieć, którzy użytkownicy będą w komitecie. Dwa różne bloki Algorand nie mogą osiągnąć konsensusu w tej samej rundzie. Według zewnętrznego audytu bezpieczeństwa, model uwzględnia również problemy z synchronizacją i działaniami przeciwnika, np. kiedy przeciwnik ma kontrolę nad dostarczaniem wiadomości.