[譯] Mixin Network(網絡)
單擊此處查看原文
構造一個最大的,並且對開發者友好的移動區塊鏈網絡,連接現有的所有區塊鏈,不限吞吐量。
Contents(目錄 )
- 動機
- 設計
- End-to-End 加密信息
- 基於移動端和PIN的身份標識
- XIN - Token
- 結論
1. 動機
人們對區塊鏈和加密貨幣的行情了解的越來越多,但是這些尚可以稱作奇特的東西還是很難有獲取的渠道,甚至對軟件開發人員來說,這也不是一件容易的事情。
大多數區塊鏈項目聚焦於分布式和密鑰管理,可是這恰恰是導致交易變慢、私鑰丟失和難以理解的原因。而且也幾乎不可能將這些分布式節點部署在移動設備或者最受歡迎的運算裝置中。
盡管他們為分布式夢想而努力着,但是我們不得不提醒一下,即使是最為分散的區塊鏈共識機制也會被最大的幾個礦池控制,想想BTC的硬分叉BCH就知道了。
一些流行的分布式項目都已經(或者計划要)故意選擇一些不那么“分布式”的共識算法,比如以太坊遷移到了 PoS,EOS 實現了 DPoS。這些努力可能的確是提高了交易的吞吐量,但是也僅限於此。
如今,人們仍然不得不管理一些奇形怪狀的私鑰,並且可能一不小心就弄丟了。礦池和大型節點任然毫不費力就可以無止境的分叉網絡,雖然開發者們盡最大的努力在開發一些新的 tokens,但是人們也無法在他們的移動設備上使用這些節點。
設計
Mixin 是為了在分布式網絡中找到一個平衡點和傳統服務器集群,做一些權衡來把兩者的優點相結合:
- 被限制和被信任的全節點,具有保護數據透明性和一致性能力
- 高吞吐量和低延遲的零知識證明和自由交易
- 使用 inter-blockchain 通信協議來連接所有的流行區塊鏈網絡
- Non-deterministic 交易,與外部受信任來源互動
- 使用基於手機號碼和 PIN 碼的賬戶模型,移動設備輕松使用
- 通過安全、end-to-end 加密消息信道來送達通知
- 開發者友好,以便推動 linux 庫和開發語言的發展
- 最大移動區塊鏈網絡效應,防止分叉
為了完成這個目標,我們設計了一個獨一無二的區塊鏈模型,它依賴於 Trusted Execution Environment,共識算法主要用於保證數據響應,移動節點作為驗證器來為全節點做運行認證。
如圖所示,Mixin Network 的基本原理是一些受信任的全節點在 Trusted Execution Environment 中運行。
所有的全節點都是完全被信任的,因為他們可以驗證別的全節點的身份,還可以通過 TEE 認證來驗證他們的運行依賴的代碼。
Mixin 全節點接受交易,參與網絡中共識機制算法。由於存在代碼驗證,只有一個節點需要運行 DApp 代碼來達到高吞吐量和低延遲的目的。
網絡中的所有敏感部分必須在 Trusted Execution Environment 內運行,並且負責保護安全和隱私,保護數據透明性和一致性。
End-to-End 加密消息
Mixin 使用信號協議中的 sender key 來管理所有的會話,不論是直接的消息還是群組聊天。
協議基於客戶端(client),所以服務端(server)只用來作為消息的代理。並且由於存在 end-to-end 加密特性,沒有人可以從代理消息中看到任何東西,就算是 Mixin 全節點也不行。
會話中的所有消息一旦被合法接收者查閱,就會從服務端上永久刪除。
照片、視頻和所有其他的附件在上傳至我們的雲服務端前都使用隨機 AES key 加密。之后客戶端會轉換所有的 meta 信息,比如 thumbnail,接收者的 AES key(使用 Signal sender key 加密)。
由於 Mixin 使用成熟的 Signal protocal 和開源庫作為消息協議,我們在白皮書中不深究細節。
基於 Mobile 和 PIN 的身份
阻礙用戶使用區塊鏈的並非其性能,而是身份和賬戶的管理過程。
所有流行的區塊鏈網絡要求用戶至少獲取和管理一個私鑰來保持身份,這實在是太復雜了,這與用戶名和密碼的解決方案比起來簡直是復雜了百倍。
由於現有的所有區塊鏈數據都是向世界開放的,所以要使用賬號密碼。但是這就導致用戶仍然需要管理一個非常復雜的密碼來保證賬戶安全,可以參考 BTS 和 EOS。
在此需要感謝 Mixin Network 中的 zero-knowledge 和安全的執行環境,我們得以設計出一個如此簡單的身份標識方案,那就是基於手機驗證碼和 PIN。
人們只需要一個手機號碼並且記住一個 6 位的數字 PIN 碼,就可以保持一個賬戶存在,這比賬號密碼簡單多了,沒有復雜的私鑰,卻有着相似的安全等級。
在電話號碼驗證中傳輸私鑰來確保電話輕松遷移,6 位數字的 PIN 碼可以使用 Touch ID 或者 Face ID 來替代,這使得用戶體驗又上升了一個層級。
一筆經典的 BTC 交易需要 1 小時才能確認,並且小額支付的交易費也十分昂貴,而且公共區塊鏈數據使得交易幾乎無隱私。
為了克服 BTC 的問題,基於上述的身份機制下,我們設計了一個 cross-chain 交易網絡,類似於 Bitcoin Lighting Network 或者 Ethereum Raiden Network 。
Mixin PIN identity 的底層技術依然是管理私鑰,不過非常安全,並且借助 Mixin zero-knowledge 來使得這一切變得非常簡單。
當其他區塊鏈網絡的資產來到 Mixin Network ,無論何時兩個 Mixin 用戶開始一筆 BTC 交易后,服務端都不會在 BTC 區塊鏈上做真實的交易,僅僅是管理了他們在 Mixin區塊鏈上的收益數據,這比執行 SQL 語句快多了。
XIN - The Token
Mixin 中的許多服務都把 Xin 作為唯一 token ,尤其是全節點抵押、創建 DApp、調用 API 。
加入網絡成為一個全節點,至少需要抵押 10,000 XIN token 來建立初始信任。
每一個 DApp 的創建都將花費 XIN ,花費的多少由 DApp 對資源的需求量大小決定。
DApp 調用 API 花費的 XIN 數量取決於調用的 API 類型和次數。
所有平台收取的 XIN 費用都將被銷毀以增加現存的 XIN token 的價值。
這意味着普通用戶使用服務不會被收取費用,只有 DApp 的開發商才會被收取。不過,DApp 本身可能會向用戶收費。
1,000,000 永久 XIN token 會一次性在世界上發行完畢,為了方便計算,
Mixin Messenger 主要會使用 milliXIN 作為主要的貨幣標志,我們縮寫為 MIX ,相當於 1/1000 的 XIN 。
結論
Mixin Network 具有無限吞吐量,為用戶准備了熟悉並且可以輕松使用的賬戶模型,可以在已知的區塊鏈網絡上使連接和使用所有貨幣。
除了底層 Mixin 網絡,我們構建了第一個 DApp:the Mixin Messenger ,所有的代碼都是開源的,給開發者們一個概覽來理解如何在 Mixin 上開發。
Treat Mixin Network 是一個開放的安卓生態,把所有已經存在的區塊鏈網絡看做不同的手機制造商和國家,Mixin Messenger 作為 Google Play 的角色來為用戶提供查找 DApp 的功能,為開發者提供簡單的通知和支付的功能。
目前已經有接近 1,000,000 的預注冊用戶, Mixin Network 歡迎所有開發者加入,也歡迎他們發布已經開發完的 app 到平台中,這里的一切都是同以往一樣熟悉的開發環境。