白皮書是區(qū)塊鏈投資項目的必要知識,既是自己投資成功或者失敗判斷的依據(jù),也是可以分享出來方便自己發(fā)現(xiàn)自己問題所在。而我的解讀白皮書則是自己看白皮書過程中的一個思考、一個筆記、一個重點,甚至是我看的過程中的一個“閃念”,背后的邏輯、可行性不去做更多的判斷。
而我自己選擇項目解讀的一個原則就是根據(jù)這個項目在當下的熱度來看的“,一方面可以了解它之所以有熱度的原因;另一方面也可以提高自己的判斷力,同時我也自己開了一個微信公眾號(丁昆朋YKPD),喜歡寫作、英語、編程、區(qū)塊鏈的朋友可以關(guān)注一下,共同成長。
點擊https://www.elastos.org進入官網(wǎng):

概述
主鏈只擔負 ELA的流通職責,DAPP運行在側(cè)鏈上,通過亦來云的側(cè)鏈轉(zhuǎn)賬機制完成價值在主鏈和側(cè)鏈間的安全轉(zhuǎn)移。
什么是“仲裁人”?
亦來云公鏈使用仲裁人聯(lián)合簽名以及 SPV(Simplified Payment Verification,簡單交易驗證)的機制來保障與側(cè)鏈間的轉(zhuǎn)賬安全,主鏈的持幣人共同選舉出一定數(shù)量的“仲裁人”。
仲裁人負責對側(cè)鏈到主鏈的幣交易進行簽名,多數(shù)的仲裁人簽名就可以解鎖主鏈上從代表側(cè)鏈的賬戶向普通賬戶轉(zhuǎn)賬的“提幣交易”。
主鏈到側(cè)鏈充值操作的安全通過 SPV來保障,每個側(cè)鏈節(jié)點都會同步主鏈的所有區(qū)塊頭,再加上 merkle證明路徑以及交易信息,就可以從數(shù)據(jù)結(jié)構(gòu)和算法的角度完成對轉(zhuǎn)賬交易的去中心化共識。
亦來云通過跨鏈技術(shù)實現(xiàn)與自有 token的區(qū)塊鏈系統(tǒng)的相互轉(zhuǎn)賬,這種與亦來云能夠相互轉(zhuǎn)賬的區(qū)塊鏈,我們稱為“友鏈”。
如何實現(xiàn)主鏈向側(cè)鏈的轉(zhuǎn)賬呢?

什么是“雙向錨定”(Two-way peg)的技術(shù)?
基本的原理是基于 SPV來互相驗證交易在另一條鏈上確實存在,但是這有一個前提,就是都要保存對方的所有區(qū)塊頭信息。
亦來云主鏈和側(cè)鏈是** 1對多的關(guān)系,使用對稱的雙向錨定,對于側(cè)鏈只保存一份主鏈的全部區(qū)塊頭信息沒有什么問題,如果主鏈需要保存所有側(cè)鏈的區(qū)塊頭信息,是不可接受的,所以在亦來云的主側(cè)鏈架構(gòu)上不能夠使用對稱的基于 SPV**的雙向錨定。
亦來云主鏈到側(cè)鏈的轉(zhuǎn)賬過程如下:
- 用戶通過錢包在主鏈從地址 U向主鏈上代表側(cè)鏈的地址 S轉(zhuǎn)賬 n個 ELA,并在交易中附加上自己在側(cè)鏈的地址 u,發(fā)送到主鏈上,這個交易標記為 tx1;
- 主鏈的礦工節(jié)點將 tx1打包并成功出塊;
- 等待足夠的確認后輪值的仲裁人節(jié)點 A的 SPV模塊獲得這個主鏈上的轉(zhuǎn)賬交易,從交易中獲得轉(zhuǎn)賬地址 u,構(gòu)造給 u發(fā)幣的交易tx2,發(fā)幣數(shù)量等同于 tx1中 U給 S的轉(zhuǎn)賬數(shù)量,tx2中同時攜帶 SPV證明路徑和 tx1;
- 輪值的仲裁人節(jié)點 A將 tx2發(fā)送到側(cè)鏈節(jié)點;
- 側(cè)鏈將 tx2打包出塊;
- 等待足夠的確認后,用戶在錢包上看到的自己的側(cè)鏈地址 u入賬了 n個 SToken.
側(cè)鏈到主鏈轉(zhuǎn)賬是如何實現(xiàn)的?

亦來云側(cè)鏈到主鏈的轉(zhuǎn)賬過程:
1、用戶通過錢包在側(cè)鏈從地址 u發(fā)起提幣交易,提取 m個 SToken,并在交易中附加上自己在主鏈的地址 U,發(fā)送到側(cè)鏈,這個交易標記為 tx3;
- 側(cè)鏈的礦工節(jié)點將包含 tx3的交易打包并成功出塊;
- 輪值的仲裁人節(jié)點 A向自己運行的側(cè)鏈節(jié)點獲取 tx3;
- 輪值的仲裁人節(jié)點 A根據(jù) tx3構(gòu)造一個在主鏈上從 S轉(zhuǎn)移 m個 ELA到 U的交易 tx4,將這個交易廣播給所有的仲裁人節(jié)點簽名;
- 輪值的仲裁人節(jié)點 A收到超過 2/3的仲裁人對 tx4的簽名,就將攜帶這些簽名的 tx4提交到主鏈;
- 礦工將包含 tx4的交易打包出塊。
- 等待足夠的確認后,用戶在錢包上看到自己的主鏈地址 U入賬了 m個 ELA。
仲裁人作用是什么?
仲裁人的作用是生成和轉(zhuǎn)移交易到側(cè)鏈,并不參與簽名;
在側(cè)鏈到主鏈的轉(zhuǎn)賬過程中,仲裁人的作用除了生成和轉(zhuǎn)移交易,同時還要對交易簽名,讓主鏈上從代表側(cè)鏈的賬戶向普通賬戶轉(zhuǎn)賬的“提幣交易”能夠被各個主鏈節(jié)點驗證通過。
仲裁人通過在主鏈上投票選舉產(chǎn)生,并且定期輪換。每個仲裁人需要提供足夠的計算和網(wǎng)絡(luò)資源,以便能夠至少運行一個主鏈節(jié)點和對應 N條側(cè)鏈的 N個節(jié)點。仲裁人的收益來自于為側(cè)鏈打包出塊所獲得的交易費。
基于pow的側(cè)鏈如何理解呢?

這條基于 POW的側(cè)鏈采用與亦來云主鏈聯(lián)合挖礦的方式獲得算力,主鏈的當前輪值仲裁人作為礦工將側(cè)鏈的交易打包生成挖礦交易放在主鏈上。
主鏈再通過與比特幣聯(lián)合挖礦的方式出塊,按照聯(lián)合挖礦的原理,算力證明再傳遞到側(cè)鏈,側(cè)鏈的任意全節(jié)點可以依據(jù)這個算力證明來驗證出塊的有效性。
主鏈在一個仲裁人選舉周期內(nèi)的所有仲裁人會按照順序輪流作為“側(cè)鏈出塊輪值仲裁人”履行相應的職責,這里面就包括為側(cè)鏈出塊的職責。輪換動作通過側(cè)鏈出塊觸發(fā),每個仲裁人輪流對一個側(cè)鏈出塊,順序通過上一輪的投票統(tǒng)計結(jié)果確定。
出塊行為最終通過發(fā)布到主鏈上的挖礦交易體現(xiàn),每個主鏈節(jié)點都會對這個挖礦交易是否合法進行共識,其中一個主要的驗證就是看發(fā)布這個挖礦交易的簽名人是否是當前有權(quán)對這個側(cè)鏈出塊的“側(cè)鏈出塊輪值仲裁人”。
側(cè)鏈的出塊收益(只有交易費,沒有創(chuàng)幣)仍然是分配給礦工和基金會,這里的礦工就是當前在主鏈發(fā)起“挖礦交易”的仲裁人,當然這個挖礦交易放到主鏈上也是要付礦工費的,這個礦工費是付給真正付出算力的比特幣礦工。
“友鏈”如何理解呢?
側(cè)鏈的概念來自于比特幣,在這個場景下側(cè)鏈沒有自有的 token,自有 token的鏈有獨立的經(jīng)濟體系,亦來云與這種自有 token鏈之間的轉(zhuǎn)賬需要基于當前兩種 token的市場兌換匯率來進行,這個自有 token的鏈我們稱為“友鏈”。
亦來云對友鏈的支持分為兩個階段:
第一個階段支持友鏈和亦來云主鏈跨鏈的原子交易,這種交易是點對點的,需要交易雙方自己約定兌換匯率,創(chuàng)建互相制約的原子兌換交易;
第二個階段會基于去中心的交易所,完成主鏈和友鏈 token的自由兌換,不需要用戶間再點對點的創(chuàng)建兌換交易。

假設(shè)有一條友鏈 F,自有 token FToken,Alice和 Bob需要在亦來云公鏈(這里用 E來代表)和鏈 F之間完成 ELA和 FToken的兌換。
Alice在鏈 E和鏈 F上分別有地址 EA和 FA,Bob在鏈 E和鏈 F上分別有地址 EB和 FB。
假設(shè)此時的市場兌換匯率為 1:10(一個 ELA兌換 10個 FToken),Alice希望用 10個
ELA和 Bob兌換 100個 FToken。
- Alice在鏈 E上發(fā)起一筆從 EA向 EB的特殊轉(zhuǎn)賬交易 tx1,轉(zhuǎn)賬金額為 10個 ELA,這個交易的解鎖條件除了 EB對應私鑰的簽名,還增加了一個哈希鎖,Alice先生成一個隨機數(shù) x,對 x取哈希 hash(x),放到這筆交易中,Bob需要?交 x才能夠解鎖這個哈希鎖;
- Bob看到了鏈 E上的 tx1,就在鏈 F上構(gòu)造另外一筆特殊的交易 tx2,從 FB向 FA轉(zhuǎn)賬 100個FToken,這個交易的解鎖條件除了 FA對應私鑰的簽名,還增加了一個哈希鎖,同樣是hash(x),解鎖條件同樣是需要提供 x;
- Alice在鏈 F上?供對 tx2的簽名以及 x來解鎖 tx2,將 100個 FToken轉(zhuǎn)賬到自己在鏈 F上另外的地址;
- Bob看到 tx2被解鎖,同時也就得到了 x,然后 Bob用 EB的私鑰簽名 tx1并?供 x,從而解鎖tx1,將 10個 ELA轉(zhuǎn)賬到自己在鏈 E上另外的地址。