1. 程式人生 > >支持Touch ID!EOS 項目進展速報

支持Touch ID!EOS 項目進展速報

EOS 區塊鏈 區塊鏈技術

Daniel Larimer 周六在 Steemit 上向大家介紹了 EOS 項目的最新進展,驚喜不少。

原文鏈接 : https://steemit.com/eosio/@dan/eos-io-development-update

之承諾過的三個特性已經基本開發完成:

1. 支持 Apple Touch ID / Secure Enclave

2. 延時交易的錯誤處理機制

3. 並行執行

目前這幾個新特性的代碼在 eos-noon 分支,感興趣的可以直接研究了,目前來看,Dawn(黎明)的下一個版本名可能就是 Noon(正午)。 下面是具體細節:

## 延時交易

延時交易特性可以幫助智能合約開發者建立未來某時刻需要進行的交易,這種機制可以降低數據庫鎖定的數目,節約系統資源,本特性已經開發完成,將會在 2018 年一季度末與 Dawn 3.0 版本一同並入主分支。

## 延時授權

延時授權機制允許用戶對自己賬戶的特定行為進行強制延時,比如設置轉賬 24 小時後才能執行。用戶可以在執行前取消轉賬。配合下一節的 被盜賬號恢復 機制,可以為用戶爭取寶貴的時間來恢復對自己賬戶的控制權。

## 被盜賬戶恢復 & 遺忘密碼恢復

EOS 系統建立了一個有些復雜的賬戶權限機制: 每個 EOS 賬戶有三個權限: owner(最高權限)、active(行為權限)、recovery(恢復權限),前兩個可以只是兩個私鑰,被用戶自己管理,而恢復權限被直接授予了其他N個用戶(用戶的親朋好友)。註意其他 N 個賬戶也是同樣的結構。 EOS 系統規定,如果要執行 owner(最高權限),需要所有 recovery(親朋好友)的 active(行為權限)進行簽名。 這樣就形成了一個巨大的連鎖反應網。最後的結果是,黑客若想盜取一個賬戶,需要盜取幾乎全網所有 EOS 賬戶。

另外,如果你的賬戶長達30天沒有任何操作,你的親朋好友就可以發起賬戶密碼恢復,拿回被你忘掉的密鑰。

(這部分實際比上面說的復雜很多,以後的文章會仔細分析一下。)

## 資源分配算法更新

過去的兩個月,開發團隊已經重新修訂了資源使用限制的算法,包括帶寬、算力、選舉和存儲:

### 分離授權

EOS 建立了分離授權機制,用戶可以吧 帶寬、算力、內存等權益分開授權給不同的賬戶,這樣可以更好地平衡每種權益的供求關系,也能減少資源浪費。

### 帶寬授權

用戶授權自己帶寬的方式很簡單,直接向需要帶寬權益的賬戶轉賬代幣就行了,3天後代幣可以隨時拿回,拿回後對方賬戶的帶寬權益就會慢慢衰退了。(我理解的沒錯吧?)

### 選舉

如果用戶想參選見證人(出塊者),需要將一定數量的 EOS 代幣轉到一個智能合約,並會在未來的 6 個月逐漸得到退款,這樣可以使候選人的利益與平臺綁定在一起(至少這 6 個月內)。

### 內存

內存是非常寶貴的資源, EOS 建立了動態管理內存價格的制度,短時間大量向系統索要內存會需要大量的代幣授權,這樣防止了系統突然出現內存吃緊的情況。

### 內存付費

智能合約開發者可以選擇自己對占用的系統內存付費,也可以要求智能合約的用戶對系統內存付費,這樣給了開發者極大的靈活性。這項特性預計與 Dawn 3.0 一同發布。

## 隱式交易鎖定

目前的 EOS Dawn 2.0 版本中,每一筆交易都要指定 “scopes”(指定每個賬戶對此筆交易有什麽權限)。目前 “read/write scopes” 已經被替換為 “read/write locks”,並且由出塊者決定每筆交易的 locks,減少了智能合約開發者的工作量。目前此項特性已經在 eos-noon 分支實現。

## 核心功能動態更新

為了避免核心功能升級/Bug 修復時帶來的硬分叉,EOS 開發團隊決定將數項核心模塊從 navite C++ 轉移至 WebAssembly 智能合約上,包括:

- 核心代幣 (例如 EOS 代幣本身)

- 帶寬、內存、選舉的授權

- 出塊者(見證人)選舉

- 多簽名合約

- 社區利益合約 / Worker Proposal allocation

只有以下模塊不會轉移:

- 賬戶創建

- 帶寬 / 內存 使用的計量

- 權限更新

這樣,EOS 系統的核心模塊就和其他 EOS 智能合約一樣用上了 WebAssembly 技術,EOS 開發團隊也成了自己的用戶。(就像 ios 的短信功能也是 ios 的一個 APP)

## 新的代幣協議

為了能使智能合約之間互相操作,EOS 準備建立類似 以太坊 ERC-20 的新型代幣協議。與 ERC-20 相比優勢在於:

- 交易可能會需要 memo

- 交易雙方可以執行代碼,或拒絕交易

- EOS 權限系統獨有的優勢

- 多種代幣都使用同一套代碼

- 單一智能合約可以建立、管理多種代幣

EOS 正在開發一個 C++ 庫,可以非常方便地發行代幣。(現在看基本就是一鍵發行了)

## 穩定性

6月的正式版本中,穩定性會比性能更加重要。有了塊內通信機制,EOS 未來的規模會是無限的,第二季末,EOS團隊會對塊內通信機制進行發布。

## 拜占庭故障容錯 (BFT) DPoS

出現 拜占庭故障 時,社區會通過憲法凍結相應出塊者的賬戶。

## 落選出塊者(見證人)補償

不論候選人是否當選出塊者,只要得到了一定的選票就會得到一定補償。

另外,不活躍賬戶的選票會被降級,活躍賬戶的選票權重更大。

## 招人

EOS 團隊新招了 8 位同事,並且需要更多開發者。

## 結論

EOS 目前的開發進度比較樂觀,6月份上線時會有更多之前沒提到的功能。



支持Touch ID!EOS 項目進展速報