對于Algorand的介紹

介紹

  • Algorand具有能耗低、效率高、民主化、分叉概率極低、可拓展性好等優點,旨在解決現有區塊鏈項目存在的“不可能三角”(高度可擴展的、安全的、去中心化)問題。Algorand由MIT教授、圖靈獎得主Silvio Micali發起,擁有MIT區塊鏈大牛為主的開發團隊和全明星陣容的顧問團隊。是第一個提出隨機共識機制的區塊鏈項目,該項目旨在成為一個高度可擴展的、安全的、去中心化的區塊鏈。它具有抗分叉的彈性,并能在一分鐘內實現區塊的最終確認。

項目亮點

  • Algorand是由圖靈獎獲得者Silvio Micali教授帶領著團隊發起的,團隊聚集了世界級頂尖的技術人才,技術研發實力很強;
  • Algorand中的隨機函數以有效保證信息的隱私性防止參與者被攻擊的可能性,具有較大的創新性;
  • 顧問包括知名風投Pillar和USV的合伙人、MIT和哈佛大學的經濟學教授、美國頂級高校的電子信息工程和計算機科學教授、COINLIST的創始人和ZEC底層協議的聯合發明者等等。

項目風險

  • W.sean Ford已經兼任公司的CEO ,推測之前的Steven已經離職,管理團隊不穩定;
  • Algorand的共識機制雖然設計很新穎,但是還有待市場驗證,存在一定的技術風險;
  • 沒有公布項目路線圖,白皮書披露信息不完全。

項目測評

市場分析

比特幣網絡存在很多缺陷

  • 第一,比特幣區塊鏈系統的工作量證明共識機制需要消耗大量計算資源和能源。根據Digiconomist網站數據,截至2018年1月底,每產生一個比特幣區塊,需要運行1.18*1022次哈希運算。考慮到哈希函數作為隨機預言(random oracle)的性質,比特幣區塊的產生過程,相當于擲一個有面的骰子,直到擲出某一特定的面為止。比特幣區塊鏈系統一年的耗電量,與秘魯全國一年的耗電量相當,而且還在快速增長中。這些巨量計算和耗電,除了產生比特幣區塊以外,對人類社會幾乎沒有任何價值。
  • 第二,比特幣區塊鏈系統要長期存續,要求50%以上的計算資源掌握在誠實用戶的手中。否則,惡意用戶在力量占優時可能篡改區塊鏈。但隨著市場演變(中本聰應該沒有預見到這種情況),比特幣區塊鏈系統中的計算資源集中在少數幾個“礦池”中。這就構成了一個潛在的不穩定因素。“礦池”的存在也使比特幣區塊鏈系統偏離了其早期宣稱的民主特征,形成了“礦工”和普通使用者這樣不同階層的使用者。從比特幣歷史上關于擴容的討論以及多次分叉不難看出,比特幣區塊鏈系統已經形成了中心化程度很高的社區結構
  • 第三,比特幣區塊鏈系統容易出現分叉。根據中本聰的白皮書,當一筆交易被記入一個區塊并接入區塊鏈后,要等該筆交易所在區塊后面再接上5個區塊,才能比較肯定這筆交易進入比特幣的公共賬本,而非在某一個分叉上。因為比特幣區塊鏈系統平均每10分鐘才能產生一個區塊,一筆交易從被記入區塊到被確認需要1個小時左右時間。
  • 第四,比特幣區塊鏈系統的可拓展性比較差。比如,一個比特幣區塊的大小為1M,大約能容納2000筆左右交易,因為平均每10分鐘產生一個區塊,比特幣平均每秒鐘能支持3-4筆交易;相比而言,Paypal平均每秒鐘能支持193筆交易,Visa平均每秒鐘能支持1667筆交易。

Algorand針對比特幣區塊鏈系統的幾個核心缺陷進行了改進,具有能耗低、效率高、民主化、分叉概率極低、可拓展性好等優點,旨在解決現有區塊鏈項目存在的“不可能三角”問題。以比特幣為代表的區塊鏈技術在降低信任成本用戶激勵方面優勢明顯,在各個行業都有比較好的應用前景。Algorand提出的技術方案將加快推進區塊鏈技術應用落地的速度,市場潛力很大。

競爭情況

  • Algorand主要采用了VRF來產生隨機數進行加密抽簽,而Dfinity同樣使用了VRF的機制來作為隨機數生成器。同時,在這兩個項目的共識過程中,都選取小范圍委員會作為區塊的提議以及公證,因此Algorand與Dfinity在一些特點上擁有較多的相似之處,但又保留了各自的核心技術,兩者的對比如下表所示:

  • 面臨較大的同業競爭壓力,但是團隊在技術創新優勢明顯。雖然針對區塊鏈“不可能三角”問題提出方案的項目較多,Algorand會面臨較大的同業競爭壓力。但是Algorand是由圖靈獎獲得者Silvio Micali教授帶領著團隊發起的,團隊聚集了世界級頂尖的技術人才,技術研發實力很強。同時Algorand中的隨機函數以有效保證信息的隱私性和防止參與者被攻擊的可能性,具有較大的創新性。

生態循環

  • 應用場景多,但是暫時沒有激勵方案。由于區塊鏈技術在降低信任成本和用戶激勵方面的優勢,已經有很多相關的應用在開發,這些領域包括交通的使用、物流的運輸、社會公益、文化醫療、教育等。Algorand提供的技術方案將使應用落地速度加快,進一步提高生態網絡的運行效率。但是Algorand在激勵機制上還沒有提供一套確定的方案,用戶激勵作為生態建設中重要的一環,這將很大程度上限制Algorand技術性能的發揮。

團隊分析

創始人

  • 創始人Silvio Micali是MIT計算機科學教授,被譽為「計算機中的諾貝爾」的圖靈獎的獲獎者,同時也是零知識證明的共同發明者之一,在公鑰密碼系統、偽隨機函數、數字簽名、拜占庭協議和安全多方計算等方面的工作而出名。Micali教授帶領的Algorand團隊聚集了世界級頂尖的密碼學專家,均是麻省理工學院計算機科學領域的佼佼者,專業理論和科研實力雄厚。

創始團隊

  • 團隊很多來自MIT,技術研發實力強。通過團隊成員的資料可知,11名研發人員中有10名供職或畢業于MIT,具有名校背景。全部25名成員中,至少19名供職或畢業于MIT,并且很多成員都是碩士或者博士學位,團隊配置豪華。Algorand團隊包含眾多重量級專家,經驗豐富,屬于區塊鏈領域的頂尖團隊。

顧問團隊

  • Algorand在戰略管理、經濟學、計算機科學和加密貨幣四大重要板塊的顧問均是各自領域的行業影響者,包括知名風投Pillar和USV的合伙人、MIT和哈佛大學的經濟學教授、美國頂級高校的電子信息工程和計算機科學教授、COINLIST的創始人和ZEC底層協議的聯合發明者等等。

技術分析

  • Algorand 采用可驗證隨機函數、POS (賬戶余額權重)以及新的拜占庭協議議定書(Byzantine Agreement Protocol,BA*)整合方式的共識機制來實現提高TPS的同時,沒有犧牲去中心化和隱私性,并且擁有良好的擴展性。
  • 具體的技術細節介紹參見博客?

Algorand 的優缺點

通過上述分析,Algorand 基本解決了先前提出的一系列問題:

  • 通過 PoS 和可驗證隨機函數(VRF)實現區塊生產者和驗證者的選擇
  • 通過改進的拜占庭共識 BA* 對新產生的區塊達成共識
  • 通過一定的參數設計,從數學上將分叉的概率降至極低值
  • 引入種子參數,回溯系數以及一次性公鑰等機制進一步增強安全性
  • 每一輪都只進行局部驗證,并通過減少節點間通信量進一步提升系統的吞吐量,提高可擴展性

Algorand 在可擴展性,安全性和去中心化程度三個方面達到了一個很好的均衡,但這不意味著其真的打破了所謂的”不可能三角“

  • 可擴展性方面:本質上還是通過較少的驗證節點對所有交易進行驗證,當網絡中全節點變多時,只能保證性能不下降太多,不是真正意義上的可擴展。另外,每一輪驗證節點之間的通信依賴于所處的網絡狀態,網絡不穩定將導致共識時間變長,影響 TPS。官方稱 Algorand 在 Permissinoed 環境下將有更好的性能,原因可能在于 Permissionless 環境下節點所處環境有太多不確定性,會在一定程度上影響可擴展性。
  • 安全性方面:Algorand 本質上采用的還是拜占庭共識,惡意節點不能超過 ?,而比特幣可以在惡意節點數小于 ? 的情況下保證安全。
  • 去中心化方面:Algorand 采用 PoS 共識和 VRF 決定區塊生產者和驗證者,擁有較多代幣的節點在 PoS 過程中被選中的概率較高,且 Staking 獎勵向大戶集中,有一定的中心化趨勢;而 VRF 選舉機制的引入讓鏈上計算只由部分節點進行驗證,損失了去中心化系統全網驗證的特性。

此外,Algorand 的主網剛剛發布[6],此前所有結果均是理想環境下的數據,且部分代碼未開源,虛擬機相關設計也暫未提及,其實現的復雜度、穩定性和實際性能還有待時間的檢驗。

參考鏈接

  • AIgorand:兼顧高性能、去中心和安全的公有鏈 | ONETOP評級
  • Qtum研究院:深度解析Algorand共識協議

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447080.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447080.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447080.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

內存池的實現2 類專用的內存適配器

B類增加了嵌入指針 #include<new> #include<ctime> #include<iostream> #include<cstdio> class A { public:A() {printf("next%p\n", next);};static void* operator new(size_t size);static void operator delete(void* phead);static i…

C++學習 高級編程

C 文件和流 到目前為止&#xff0c;目前使用最為廣泛的是 iostream 標準庫&#xff0c;它提供了 cin 和 cout 方法分別用于從標準輸入讀取流和向標準輸出寫入流。以下將介紹從文件讀取流和向文件寫入流。這就需要用到 C 中另一個標準庫 fstream&#xff0c;它定義了三個新的數…

內存池的實現3 固定大小的allocator單線程內存配置器

如果我們想使內存管理器用于其他大小不同的類該怎么辦呢&#xff1f;為每一個類重復管理邏輯顯然是對開發時間的不必要浪費。如果我們看一下前面內存管理器的實現&#xff0c;就會明顯地看出內存管理邏輯實際上獨立于特定的類 有關的是對象的大小一這是內存池模板實現的良好候選…

C++中文版本primer 第二章變量和基本類型 學習筆記

2.2變量 2.2.1 變量定義 列表初始化 定義一個名字為units_sold的int變量并初始化為0 int units_sold 0; int units_sold {0}; int units_sold{0}; int units_sold(0); C11 用花括號來初始化變量&#xff0c;上面這個步驟也稱之為列表初始化。這種初始化有一個重要的特點&…

內存池中的嵌入式指針

嵌入式指針 可以union改struct 內存分配后 next指針就沒用了 直接作為數據空間比較省內存 因為對指針指向的內存存儲的時候 編譯器是不管你是什么類型的 &#xff0c;這里有道練習題可以對指針的概念稍微理解一下&#xff1a; #include <iostream> using std::cout; us…

C++ 標準程序庫std::string 詳解

現在一般不再使用傳統的char*而選用C標準程序庫中的string類&#xff0c;是因為string標準程序和char*比較起來&#xff0c;不必擔心內存是否足夠、字符串長度等等&#xff0c;而且作為一個類出現&#xff0c;集成的操作函數足以完成大多數情況下(甚至是100%)的需要。比如&…

內存池的實現4 alloc內存池

alloc 內存池 優點: &#xff1a;本質是定長內存池的改進&#xff0c;分配和釋放的效率高。可以解決一定長度內存分配的問題。 缺點 &#xff1a;存在內碎片的問題&#xff0c;且將一塊大內存切小以后&#xff0c;申請大內存無法使用&#xff0c;別的FreeList掛了很多空閑的內存…

C++primer第15章節詳解面向對象程序設計

前言 面向程序設計基于三個基本概念&#xff1a;數據抽象、繼承和動態綁定。繼承和動態綁定可以使得程序定義與其他類相似但是不完全相同的類&#xff1b;使用彼此相似的類編寫程序時候&#xff0c;可以在一定程度上忽略掉他們的區別。 OOP概述 oop&#xff08;面向程序的設…

內存池的線程安全問題

malloc/free 據說老版本libc 有倆個版本&#xff0c;當你連接 pthread庫的時候它就鏈接的是線程安全版&#xff0c;否則不是。在glic 2.2 以上無論怎么都是線程安全的。 new/delete new/delete 封裝的 malloc/free , 如果malloc/free 是它們就是線程安全的。

C++11命名空間的using說明

std::cin 表示從標準輸入讀取內容&#xff0c;此處的作用域操作符::是指編譯器應該從左側名字所示的作用域中尋找右側那個名字。因此std::sin表示使用命名空間std中的cin。 每個名字都需要有獨立的using的聲明 每一個using聲明引入命名空間中的一個成員&#xff0c;比如可以將…

c語音的一些特殊關鍵字

PRETTY_FUNCTION C語言中獲取函數名 C語言中的__LINE__用以指示本行語句在源文件中的位置信息

C++ primer三章二節標準庫類型string

標準庫類型string 標準庫類型string表示可變長的字符序列&#xff0c;使用#include<string>引入頭文件&#xff0c;string定義在命名空間std中。 定義和初始化string對象 如何初始化類的對象是由類的本身決定的&#xff0c;類可以定義很多初始化對象的方式&#xff0c;…

vim 不常見但好用的命令

● 跳躍 ○ 向前跳躍是 f ○ 向后跳躍是 F ● 繼續 ○ 保持方向是 ; ○ 改變方向是 , ● 可以加上 [count] 來加速 ● ^ 是到本行第一個非空字符 ● 0 是到本行第一個字符&#xff0c;不管是不是空格 ● g_ 是到本行最后一個非空字符 ● 兩個按鍵要依次按下 ● $ 跳到本行最后…

加密機組會 會議紀要

2020年9月28日 1&#xff0c;使用基類繼承的機制&#xff0c;調用寫好的函數接口 1&#xff0c;不要 使用Content&#xff08;封裝數據&#xff0c;本質是一個json字符串&#xff09;&#xff0c;1&#xff0c;因為每次使用這個需要對里面的內容進行序列化&#xff0c;轉化成…

c++為什么沒有垃圾回收

垃圾回收 內存清理的另一個方面是垃圾回收。在支持垃圾回收的環境中&#xff0c;程序員幾乎不必顯式地釋放與對象關聯的 內存。運行時庫會在某時刻自動清理沒有任何引用的對象。 與C#和Java不一樣&#xff0c;在C語言中沒有內建垃圾回收。在現代C中&#xff0c;使用智能指針管理…

C++ Vecctor容器淺析

Vector的定義 向量&#xff08;Vector&#xff09;是一個封裝了動態大小數組的順序容器&#xff08;Sequence Container&#xff09;。跟任意其它類型容器一樣&#xff0c;它能夠存放各種類型的對象。可以簡單的認為&#xff0c;向量是一個能夠存放任意類型的動態數組。vector…

C++primer第二章2.4節對于const限定符相關內容進行詳解

const限定符 const對象一旦創建后其數值就不會被再次改變&#xff0c;因此const對象必須初始化。const對象只在文件中有效在不同的文件中使用不同的const來定義不同的常量&#xff0c;那么每個文件定義的變量只會在自己所屬的文件中有效。如果想讓多個文件共享同一個const變量…

二分法的常見問題

mid(leftright)/2; mid (high - low) / 2 low; 這樣寫可以防止left right溢出 ,不過數足夠大是時候該溢還是溢 為什么要取右邊中間數呢&#xff1f;這是因為在區間里 只有 2 個元素的時候&#xff0c;把[left…right]劃分成[left…mid - 1]和[mid…right]這兩個區間&#x…

演示IPFS的一個完整的流程以及針對部分概念的詳解

整體的流程 1&#xff0c;創建ipfs節點 通過ipfs init在本地計算機建立一個IPFS節點本文有些命令已經執行過了&#xff0c;就沒有重新初始化。部分圖片拷貝自先前文檔&#xff0c;具體信息應以實物為準 $ ipfs init initializing IPFS node at /Users/CHY/.ipfs generating 2…

c++ 算法的時間復雜度

一般ACM或者筆試題的時間限制是1秒或2秒。 在這種情況下&#xff0c;C代碼中的操作次數控制在 10^7為最佳。 下面給出在不同數據范國下&#xff0c;代碼的時間復雜度和算法該如何選擇&#xff1a; 1.n≤ 30,指數級別&#xff0c;dis剪枝&#xff0c;狀態壓縮dp 2.n < 100 &g…