EOS白皮書學習筆記
EOS白皮書學習筆記
EOS白皮書啃了四五遍,終於理解的差不多了。
雖然有些地方還不是很明白,但在這裡總結一下重要的知識點。
一方面加深自己的印象,溫故而知新,另一方面也希望能幫助到其他人。
需要說明的是,有些總結筆記是直接將EOS白皮書內容翻譯成中文。
更詳盡的內容,請參考EOS白皮書。
一、共識演算法(Delegated Proof of Stake, DPOS)vs. 比特幣工作量證明演算法
-
DPOS 區塊生產者是合作關係,在任一個時間點,只有一個生產者有權產生區塊。
而比特幣的工作量證明演算法(PoW))區塊生產者是競爭關係。最終只有一個生產者獲勝,其他生產者的算力會被白白浪費。 - DPOS 平均每三秒產生一個區塊,平均十分鐘產生200個區塊;而PoW平均十分鐘產生一個區塊。200:1 在效率上是極大的提升。
- DPOS 交易本身可以作為股權證明:每個交易都包含前一個區塊頭的雜湊值。我的理解是某種程度可以避免比特幣的51%共識攻擊。
-
DPOS的創新點:
二、機制創新 :一輪有21個區塊生產者,前20個是自動產生,第21個是根據投票數產生的。
關於分叉 :DPOS在正常情況下不會產生分叉。如果產生了分叉,有更多生產者支援的分支的長度會增加得更快。區塊生產者不可能同時在兩個分支上生產區塊,一旦被發現就會被投票罷免。
三、賬戶
賬戶在比特幣中並沒有涉及到。比特幣中只有比特幣地址,我們必須保護好自己的私鑰,否則就相當於丟了比特幣。
- 對於賬戶這個概念,可以結合steemit理解。比如我的賬戶是ofollow,noindex">@meganchao , 訪問這個頁面https://steemit.com/@meganchao, 就可以看到我的部落格,錢包等資訊。
- EOS提供了更細化的許可權管理,比如:owner可以做任何事,active可以做除了改變owner組的任何事,所有其他許可權都由active派生出來。
- 訊息和訊息處理程式:賬戶之間的互動通過發訊息來完成。賬戶可以定義自己的訊息處理程式,訊息處理程式也是分組的。例如 @accountname.groupa.subgroupb.MessageType。
- 知識擴充套件:
重放攻擊(Replay Attacks):是指“一條鏈上的交易在另一條鏈上也往往是合法的”,所以重放攻擊通常出現在區塊鏈硬分叉的時候。
由於硬分叉的兩條鏈,它們的地址和私鑰生產的演算法相同,交易格式也完全相同,因此導致在其中一條鏈上的交易在另一條鏈上很可能是完全合法的。所以你在其中一條鏈上發起的交易,就可以到另一條鏈上去重新廣播,可能也會得到確認。這就是“重放攻擊”。
摘自http://qukuaiwang.com.cn/news/3884.html
四、 Token模型和資源使用
- 使用EOS軟體的區塊鏈有三大類資源:a.頻寬和日誌儲存(磁碟空間);b.計算和計算儲備(CPU);c.狀態儲存(RAM)。
- 未來那些擁有EOS Token的人,可以把未使用的頻寬租給其他人。頻寬是我們用來獲利的資源啊。
五、 管理
- 比特幣區塊鏈中缺乏正式的管理過程,非正式的管理過程常會帶來意想不到的結果。
- EOS中區塊生產者具有有限的許可權,來凍結賬戶,更新有問題的應用,建議修改底層協議。
- EOS中凍結賬戶和改變賬戶程式碼需要在活躍生產者中進行17/21投票表決。投票表決帶來了更多的公平,管理更規範。
- EOS中法規雖然很“高大上”,但依然可以被升級和改變。
六、 指令碼和虛擬機器
- 指令碼語言和虛擬機器的實現細節大多獨立於EOS技術的設計。
- 賬戶間傳送的訊息遵循綱要(Schema)的定義,資料庫狀態也要遵循綱要的定義。這個綱要允許二進位制和JSON表示之間的轉換。
- 兩個待選的虛擬機器:Web Assembly (WASM)和Ethereum Virtual Machine (EVM)。
七、 區塊鏈間的互動
這部分讀得不是很明白。我想正如白皮書中所說,EOS只是區塊鏈巨集偉藍圖的一部分。未來高效的跨鏈互動必然會很重要。
- 採用輕量級客戶端校驗(LCV)的Merkle證明來證明交易是否存在。
- EOS軟體給每一個傳送給每個賬戶的訊息編號。一個使用者可以使用這些序號證明所有傳送給某個賬戶的訊息已被處理,並且按順序處理。