1.背景
2.區(qū)塊鏈應(yīng)用的要求
支持成百上千的用戶
免費(fèi)使用
簡(jiǎn)單升級(jí)和bug修復(fù)
低延時(shí)
時(shí)序性能:一些應(yīng)用因?yàn)轫樞蛞蕾囮P(guān)系的執(zhí)行步驟而不能使用并發(fā)算法實(shí)現(xiàn)尉剩。 比如交易所就需要足夠的時(shí)序性能來處理很高的交易量疙驾,因此高時(shí)序性能處理的平臺(tái)是必須的
并發(fā)性能
3.共識(shí)算法DPOS
EOS.IO 軟件使得區(qū)塊準(zhǔn)確的每 3 秒生成一個(gè)并且在任何時(shí)間點(diǎn)都只有一個(gè)被授權(quán)的生產(chǎn)者來生成區(qū)塊树枫。 如果一個(gè)區(qū)塊在規(guī)定時(shí)間之內(nèi)未被生產(chǎn)出來則這一區(qū)塊將被跳過。 當(dāng)一個(gè)或多個(gè)區(qū)塊被跳過發(fā)生時(shí)掀亥,在區(qū)塊鏈中會(huì)有一個(gè) 6 秒及以上的間隔涵亏。
在 EOS.IO 軟件中,區(qū)塊通過 21 名生產(chǎn)者輪流產(chǎn)生发乔。 在每一輪的開始時(shí),21 個(gè)唯一的區(qū)塊生產(chǎn)者被選出雪猪。 獲票最高的前 20 名自動(dòng)在沒輪被選中栏尚,剩余的一個(gè)生產(chǎn)者通過得票比例選出。 被選中的生產(chǎn)者通過從區(qū)塊取到的時(shí)間作為偽隨機(jī)數(shù)來打亂其順序只恨。 打亂順序是為確保這些生產(chǎn)者與其他生產(chǎn)者保持均衡的連通性译仗。
如果一個(gè)生產(chǎn)者錯(cuò)過了一個(gè)區(qū)塊并且在過去的 24 小時(shí)內(nèi)沒有生產(chǎn)任何的區(qū)塊,那么它將被從候選中移除坤次,直到它在區(qū)塊鏈中通知它要開始再次生產(chǎn)區(qū)塊的意圖。 這樣通過最小化區(qū)塊丟失數(shù)量(因被證實(shí)不可靠的節(jié)點(diǎn)不作為導(dǎo)致)來確保網(wǎng)絡(luò)操作的穩(wěn)定性斥赋。
3.1交易確認(rèn)
通常 DPOS 區(qū)塊鏈 100% 會(huì)有區(qū)塊生產(chǎn)者參與缰猴。一個(gè)交易從廣播開始后平均 1.5 秒就可以 99.9% 被認(rèn)為是確認(rèn)了。
在一些特殊情況下例外疤剑,軟件出現(xiàn) bug滑绒,網(wǎng)絡(luò)擁塞,或一個(gè)惡意的區(qū)塊生產(chǎn)者制造了兩個(gè)或更多的分叉隘膘。 為了確保一個(gè)交易絕對(duì)是不可逆的疑故,一個(gè)節(jié)點(diǎn)可以選擇等待 21 個(gè)區(qū)塊生產(chǎn)者中的 15 個(gè)給出確認(rèn)。 基于通常的 EOS.IO 軟件配置弯菊,在一般情況下這需要平均 45 秒的時(shí)間纵势。 默認(rèn)情況下,所有的節(jié)點(diǎn)將認(rèn)為當(dāng) 21 個(gè)生產(chǎn)者中有 15 個(gè)給出確認(rèn)后這一區(qū)塊就是不可逆的了,并且不管長(zhǎng)度如何都不會(huì)切換到?jīng)]有這一區(qū)塊的分叉钦铁。
3.2 股權(quán)證明的交易TaPoS
4.賬戶
4.1消息&處理
4.2基于角色的權(quán)限管理
權(quán)限管理涉及判定一條消息是否被正確的授權(quán)软舌。 權(quán)限管理最簡(jiǎn)單的形式就是檢查一個(gè)交易包含必須的簽名,但這意味著必須的簽名是已知的牛曹。 一般情況下佛点,權(quán)威必然是獨(dú)立的個(gè)體或者個(gè)體組成的群體,并且是被劃分開的黎比。 EOS.IO 軟件提供了聲明式的權(quán)限管理系統(tǒng)超营,通過管理誰可以在什么時(shí)間做什么來給用戶細(xì)力度和高維度的控制。
授權(quán)和權(quán)限管理被標(biāo)準(zhǔn)化和脫離應(yīng)用的商業(yè)邏輯是不可取的阅虫。 這使得管理權(quán)限的工具得以被開發(fā)演闭,既滿足常規(guī)的需求又為性能優(yōu)化提供了重要的可能性。
每一個(gè)帳戶可以被任何權(quán)重組合的其他帳戶和私鑰管控书妻。 這創(chuàng)建了分層級(jí)的權(quán)利結(jié)構(gòu)船响,這反映了現(xiàn)實(shí)中的權(quán)限分配方式,并且讓多用戶共同管理資產(chǎn)變得從未如此簡(jiǎn)單躲履。 多用戶控制是安全最大的貢獻(xiàn)者见间,并且,當(dāng)用戶使用得當(dāng)工猜,它可以極大的消除因被黑而導(dǎo)致被盜竊的風(fēng)險(xiǎn)
4.3命名的消息處理群組
4.4權(quán)限映射
5.應(yīng)用程序的確定性并行執(zhí)行
6.Token模型與資源使用
所有區(qū)塊鏈都受到資源限制米诉,需要一個(gè)系統(tǒng)來防止濫用。通過使用eos.io軟件的區(qū)塊鏈篷帅,應(yīng)用程序可以使用三大類資源:
1.帶寬和日志存儲(chǔ) (磁盤)史侣;
2.計(jì)算與計(jì)算儲(chǔ)備 (中央處理器);
3.狀態(tài)存儲(chǔ) (內(nèi)存)
7.治理
基于eos.io軟件的區(qū)塊鏈認(rèn)識(shí)到權(quán)力來源于代幣持有人魏身,他們將權(quán)力委托給區(qū)塊生產(chǎn)商惊橱。
7.1凍結(jié)賬戶
投票
7.2更改賬戶代碼
投票
7.3憲法
EOS.IO 應(yīng)用使得區(qū)塊鏈創(chuàng)建了一個(gè)點(diǎn)對(duì)點(diǎn)的服務(wù)條款協(xié)議或者綁定用戶到一個(gè)合約,這都需要用戶對(duì)其簽名箭昵,簡(jiǎn)稱“憲法”税朴。 憲法的內(nèi)容定義了僅僅依靠代碼無法在用戶間履行的義務(wù),同時(shí)通過建立管轄權(quán)和可選的法律來解決相互間的爭(zhēng)端家制。 每個(gè)在網(wǎng)絡(luò)廣播的交易都必須將憲法的哈希值作為簽名的一部分正林,從而顯性的將簽名者綁定在合約中。
憲法還定義了人類可讀意圖的源代碼協(xié)議颤殴。 這個(gè)意圖是用來識(shí)別錯(cuò)誤和功能之間的差異觅廓,當(dāng)錯(cuò)誤發(fā)生時(shí),引導(dǎo)社區(qū)對(duì)什么是適當(dāng)或不當(dāng)修復(fù)涵但。
7.4升級(jí)協(xié)議&憲法
7.5緊急變更
8.腳本和虛擬機(jī)
9.跨連通信
10.結(jié)論
EOS.IO 軟件是從證明概念的經(jīng)驗(yàn)和最佳實(shí)踐設(shè)計(jì)而來杈绸,它代表了區(qū)塊鏈技術(shù)的重要進(jìn)步帖蔓。 該軟件是全球可擴(kuò)展區(qū)塊鏈社會(huì)偉大藍(lán)圖中的一部分,它將應(yīng)用去中心化并得以輕松的發(fā)布和治理