互聯(lián)網(wǎng)?速發(fā)展讓信息的流轉(zhuǎn)速度變得非常?效,從而推動了人類社會的發(fā)展,但從另外一方面看,隱私問題也正是因為互聯(lián)網(wǎng)的?速發(fā)展而變得更加嚴(yán)重。區(qū)塊鏈作為下一代的價值互聯(lián)網(wǎng),曾被認(rèn)為是保護(hù)隱私非常好的工具,但大家很快發(fā)現(xiàn),當(dāng)前主要的區(qū)塊鏈網(wǎng)絡(luò)中,一旦數(shù)字錢包地址和它的擁有者的個人信息對應(yīng)起來,該錢包的擁有者所有賬戶信息、交易信息都將在整個網(wǎng)絡(luò)中一覽無遺并且無法消除,這會導(dǎo)致比互聯(lián)網(wǎng)的隱私泄露更加嚴(yán)重的問題。為此區(qū)塊鏈行業(yè)的密碼學(xué)和頂尖的技術(shù)專家都在進(jìn)行不懈努力,業(yè)界有幾支團(tuán)隊研發(fā)了一些保護(hù)隱私的特殊虛擬貨幣,這類虛擬貨幣被稱之為“匿名幣”,行業(yè)中比較有名的數(shù)字貨幣包括大零幣 Zcash (ZEC),門羅幣 Monero (XMR),達(dá)世幣 (DASH)等,這些采取了一定隱私保護(hù)的數(shù)字貨幣基于其巨大的市場需求,均獲得了非常?的流通市值,排名在全球20大虛擬貨幣之列,說明隱私保護(hù)對區(qū)塊鏈行業(yè)而?是一個非常強(qiáng)烈的需求。
智能合約是一種旨在以信息化方式傳播、驗證或執(zhí)行合同的計算機(jī)協(xié)議。區(qū)塊鏈上圖靈完備的智能合約系統(tǒng),可以滿?開發(fā)者編寫任意復(fù)雜的,存在于區(qū)塊鏈上并且能被區(qū)塊鏈傳遞的合約。開發(fā)者可以用智能合約開發(fā)語?實現(xiàn)比如定制貨幣、?融衍生品、身份系統(tǒng)和去中心化組織等功能,極大的擴(kuò)展了區(qū)塊鏈系統(tǒng)的適用范圍。智能合約是價值互聯(lián)網(wǎng)重要的的技術(shù)基礎(chǔ)之一,但是目前令人沮喪的情況是,全球目前運行的區(qū)塊鏈系統(tǒng)均不支持對智能合約加密保護(hù),現(xiàn)有的隱私保護(hù)機(jī)制使用場景受到這一技術(shù)限制的影響被極大的縮小了其適用范圍。區(qū)塊鏈技術(shù)起源于中本聰發(fā)明的比特幣,被視為區(qū)塊鏈1.0,讓人類世界找到了數(shù)字虛擬貨幣這一巨大的財富;而當(dāng)以太坊面世后,智能合約的發(fā)明讓區(qū)塊鏈技術(shù)的落地變得更為可行,從此基于區(qū)塊鏈技術(shù)的去中心化分布式應(yīng)用(簡稱“DApp”)成為可行,這讓區(qū)塊鏈技術(shù)可以被運用到更多的行業(yè)中,因此以太坊被視為區(qū)塊鏈2.0。同樣可以類比,如果Zcash和門羅幣為代表的不支持智能合約的匿名區(qū)塊鏈系統(tǒng)是隱私保護(hù)方案1.0的話,為了讓方案可以落地到更多行業(yè)和應(yīng)用場景中去,支持智能合約的隱私保護(hù)方案2.0備受期待。
不可否認(rèn)的是,支持智能合約的匿名區(qū)塊鏈系統(tǒng)具有非常?的技術(shù)門檻,全球僅有屈指可數(shù)的團(tuán)隊正在為之努力,如今Super Zero(簡稱“Sero”,中文:超零幣)也正式向全球進(jìn)行產(chǎn)品發(fā)布,Sero的研發(fā)團(tuán)隊(簡稱“Sero團(tuán)隊”)也是目前全球唯一能就該問題提出完整的解決方案,并已經(jīng)完成主要工程研發(fā)工作的團(tuán)隊。不僅如此,Sero團(tuán)隊并沒有將成功研發(fā)支持智能合約的隱私保護(hù)區(qū)塊鏈系統(tǒng)作為去中心化應(yīng)用的隱私保護(hù)方案的終點,為了讓受到隱私保護(hù)的去中心化應(yīng)用的廣泛落地成為可行,Sero團(tuán)隊不但考慮到了保護(hù)DApp使用者的賬戶隱私、相關(guān)令牌(Token)和私有數(shù)據(jù)傳遞過程的隱私,同時充分考慮到了在區(qū)塊鏈系統(tǒng)數(shù)據(jù)傳輸過程中,之前受各層傳輸層協(xié)議限制的隱私保護(hù)策略,甚?還包括了去中心化應(yīng)用和互聯(lián)網(wǎng)應(yīng)用相結(jié)合場景下的數(shù)據(jù)隱私保障。
為此,Sero團(tuán)隊設(shè)定了一個能為去中心化應(yīng)用提供完整隱私保護(hù)解決方案的三件套項目,包括Sero(支持智能合約的匿名區(qū)塊鏈系統(tǒng))、異形協(xié)議(一個能解決去中心化網(wǎng)絡(luò)信息傳輸?shù)膮f(xié)議)以及卡斯特羅協(xié)議(保護(hù)去中心化網(wǎng)絡(luò),以及為互聯(lián)網(wǎng)交互的各節(jié)點提供隱私保護(hù)的協(xié)議)等尖端創(chuàng)新科技組件。最近Sero已經(jīng)完成了核心的研發(fā)工作,包括隱私保護(hù)相關(guān)協(xié)議,和圖靈完備的鏈上運行智能合約,本文主要就Sero的工作進(jìn)行說明,并包含了該項目的一些基本情況以及披露后續(xù)的項目計劃。
Sero(Super Zero,超零系統(tǒng))是全球?個通過非交互式零知識證明(NIZK),真正實現(xiàn)具有圖靈完備智能合約的隱私保護(hù)的區(qū)塊鏈系統(tǒng),和現(xiàn)有的區(qū)塊鏈隱私保護(hù)技術(shù)相比,Sero不僅能實現(xiàn)對賬戶信息和交易信息的隱私保護(hù),還能實現(xiàn)對圖靈完備的智能合約輸入輸出的隱私保護(hù),另外,開發(fā)者還能基于Sero-Chain上的智能合約發(fā)行的匿名數(shù)字資產(chǎn)(Token),并且與智能合約的通訊信息也同樣會得到隱私安全保護(hù)。
Sero重新設(shè)計了區(qū)塊鏈結(jié)構(gòu)和各類底層協(xié)議,使得對隱私保護(hù)的圖靈完備智能合約成為現(xiàn)實,不僅使更廣泛的應(yīng)用場景獲得了隱私保護(hù)措施,并且因為其采用的先進(jìn)的NIZK加密學(xué)算法,也進(jìn)一步提升了對用戶隱私數(shù)據(jù)的攻擊難度。除此之外,在即將發(fā)布的V1.0版本中,改進(jìn)了目前NIZK加密算法的實用性問題,大大降低了所需要消耗的內(nèi)存資源,提升了計算效率。除此之外,對比市面上的主流匿名區(qū)塊鏈系統(tǒng),Sero對圖靈完備的智能合約的支持和對其相關(guān)的去中心化應(yīng)用的隱私保護(hù)措施,使其使用場景得到了極大的泛化。
更值得一提的是,Sero團(tuán)隊不僅考慮到了去中心化應(yīng)用本身所需要的隱私保護(hù)措施,而且還從應(yīng)用落地的?度,計劃從點對點的網(wǎng)絡(luò)傳輸安全以及賬戶物理的網(wǎng)絡(luò)地址的隱私性?度提供解決方案,可以使與中心化應(yīng)用交互時,或者與使用者客戶端交互式時也能獲得強(qiáng)大的隱私保護(hù)功能。
整個綜合解決方案會由三位一體的全套套件構(gòu)成,其中Sero是第一個公開發(fā)布的項目,另兩個項目的定位分別如下:
異形協(xié)議 (Alien Protocol):一種分布式的DNS系統(tǒng),可以利用現(xiàn)有的P2P網(wǎng)絡(luò)交互信息,具備IP自動切換和動態(tài)尋址的功能,抗攻擊者阻斷,使整個數(shù)據(jù)傳輸網(wǎng)絡(luò)具備?分穩(wěn)定的安全性。
卡斯特羅協(xié)議(Castrol Protocol):通過去中心化網(wǎng)絡(luò)的方式,實現(xiàn)對IP地址的匿名保護(hù),可同時運用于中心化和去中心化網(wǎng)絡(luò)的物理節(jié)點的隱私保護(hù)。
SERO的設(shè)計
1. 設(shè)計原則
正如前文所說,現(xiàn)有市場存在的去中心化網(wǎng)絡(luò)的隱私保護(hù)技術(shù),并沒有跟去中心化應(yīng)用相結(jié)合,尤其是沒有對智能合約的執(zhí)行進(jìn)行隱私保護(hù)。在智能合約中執(zhí)行的動作序列,通過網(wǎng)絡(luò)傳播和/或記錄在區(qū)塊鏈上,是公開可見的。在圖靈完備的區(qū)塊鏈網(wǎng)絡(luò)中,Sero的設(shè)計,在滿?系統(tǒng)能力需求的同時,還必須滿?幾個基本的原則。
不可追蹤性,區(qū)塊鏈網(wǎng)絡(luò)中的每一筆交易都具有輸入和輸出,如此一來,就構(gòu)建了一個交易的有向無環(huán)圖,在這個圖上可以跟蹤所有的交易流向,所有的交易序列都能被串聯(lián)起來,并以此溯源。Sero的設(shè)計中要將兩個交易之間的鏈接斷開,使攻擊無法進(jìn)行。
不可關(guān)聯(lián)性,區(qū)塊鏈網(wǎng)絡(luò)中每個用戶都有自己的收款地址,一旦這個地址跟真實的用戶身份關(guān)聯(lián),那么,在網(wǎng)絡(luò)中這個地址發(fā)生的所有交易,都能關(guān)聯(lián)到這個身份上,該地址一切的行為都暴露無疑。即使用戶可以創(chuàng)建新的假名公鑰以增加其匿名性,每個假名公鑰的所有交易和余額的值都是公開可見的。Sero通過加密技術(shù)?段使收款地址無法被關(guān)聯(lián)。
抗統(tǒng)計分析,真實用戶的行為具有統(tǒng)計特點,如果區(qū)塊鏈網(wǎng)絡(luò)中的交易數(shù)據(jù)之間具有反應(yīng)這樣統(tǒng)計特點的關(guān)聯(lián)性,通過對區(qū)塊鏈數(shù)據(jù)的統(tǒng)計分析,就能夠一定幾率推測出這些地址發(fā)生的交易是屬于某個特定用戶的行為。即使是采用環(huán)簽名,在面臨有作惡的環(huán)成員或者節(jié)點的時候,抵抗統(tǒng)計分析的能力將會下降。Sero需要通過技術(shù)?段將地址以及地址之間的關(guān)系完全隱藏。
實用性原則,Sero在對交易數(shù)據(jù)進(jìn)行隱藏的同時,并不會一股腦的將所有的信息都納入范圍內(nèi),這樣做是不經(jīng)濟(jì)并且運行效率低下的。Sero會兼顧用戶已有的使用習(xí)慣和痛點,進(jìn)行階段性研發(fā)。
可選的審計方案,對于某些較為復(fù)雜的商業(yè)應(yīng)用領(lǐng)域,用戶可能需要有一個完全信用的第三方對他發(fā)生的所有交易進(jìn)行財務(wù)方面的審計,這時,他應(yīng)該可以做出選擇,決定是否給予第三方一個跟蹤他所有交易具體信息的能力。
2. 實現(xiàn)方案
在第一期的計劃中,Sero通過非交互零知識證明(NIZK),將交易體系的輸入和輸出以及交易細(xì)節(jié)完全隱藏起來,除了交易雙方,其他任何人對這些隱藏細(xì)節(jié)完全是不可見的。同時,因為考慮到線上運行智能合約以及公開合約發(fā)行資產(chǎn)總數(shù)具有普適性的適用性,Sero會保留鏈上運行的智能合約,將智能合約所產(chǎn)生的資產(chǎn)與Sero本身的交易體系融合,以此來實現(xiàn)智能合約所產(chǎn)生資產(chǎn)的隱私性。
在第二期的計劃中,對于具有隱藏合約發(fā)行資產(chǎn)總數(shù)的需求,我們將在線上運行智能合約內(nèi)部提供一種名為隱匿數(shù)據(jù)的隱藏結(jié)構(gòu),同時只在鏈下對這種隱匿數(shù)據(jù)進(jìn)行計算。以此來實現(xiàn)隱藏合約發(fā)行資產(chǎn)總數(shù)的功能。
在第三期的計劃中,我們會采用更為先進(jìn)的共識機(jī)制,提升Sero網(wǎng)絡(luò)的吞吐量。同時,對于具有隱藏合約內(nèi)部計算規(guī)則的需求,我們會將合約的運行分解為線下計算和線上驗證兩個步驟,線下計算完全了解運算規(guī)則和數(shù)據(jù),并給出運算后的加密結(jié)果,當(dāng)這個結(jié)果提交到線上時,線上節(jié)點只會對結(jié)果進(jìn)行有效性驗證,以確定其中包含的數(shù)據(jù)是否符合運算規(guī)則,但節(jié)點并不知道這些數(shù)據(jù)和運算規(guī)則的詳細(xì)信息。
3. SERO協(xié)議
賬戶系統(tǒng)(Account System)
賬戶分為用戶賬戶和合約賬戶兩個類別,其中,用戶賬戶是用戶選定一個 32 byte 的Seed,而合約賬戶根據(jù)用戶安裝智能合約的環(huán)境產(chǎn)生的一個 64 byte 的地址,兩者都是系統(tǒng)唯一、不可重復(fù)的。
用戶賬戶可以產(chǎn)生個64 byte的私鑰 ,和一個64 byte的公鑰 ,該公鑰就是用戶的付款地址。在安裝或者調(diào)用智能合約的時候,錢包會根據(jù)當(dāng)前的情況生成一個暫存地址PK,這個暫存地址無法用任何方式關(guān)聯(lián)到用戶的私鑰和公鑰,并且只會使用一次。
在智能合約安裝的時候,錢包會根據(jù)當(dāng)前情況,將暫存地址轉(zhuǎn)為一個64 byte的智能合約地址 (CADDR ) ,當(dāng)節(jié)點收到地址時,需要確保合約地址是沒有出現(xiàn)過的。
Seed是賬戶種?,用戶必須妥善保存。SK是私鑰,不可持久化存儲,其中(TK)是跟蹤私鑰,可以提供給可信的第三方用作賬戶的審計。PK是公鑰,提供給其他用戶的交易目標(biāo)地址。(PK)是暫存地址,提供給智能合約,臨時用來接收資產(chǎn)的目標(biāo)地址。
資產(chǎn)系統(tǒng)(Assets System)
不管是用戶賬戶還是智能合約賬戶,其下都具有管理無限種類資產(chǎn)的屬性,除了交易費用結(jié)算采用Sero幣以外,每一種資產(chǎn)都具有跟Sero本身等同的交易特征,除Sero幣之外,其余的資產(chǎn)可以由智能合約產(chǎn)生。每種資產(chǎn)在產(chǎn)生的同時,可以賦予一個最?32 byte?度的名稱(Currency),用于助記,這些名稱也是不允許重復(fù)使用的。在賬戶進(jìn)行余額查詢或者轉(zhuǎn)賬操作的時候,可以指定資產(chǎn)類型。
見證系統(tǒng)(Witness System)
Sero協(xié)議采用非交互零知識證明(NIZK),在生成交易的時候,需要提供資產(chǎn)來源的見證信息,每個節(jié)點會根據(jù)這些見證信息進(jìn)行驗證。因此,Sero會采用merkle tree維護(hù)一個記錄狀態(tài)變更的見證系統(tǒng),系統(tǒng)在節(jié)點提供驗證功能,在錢包端提供認(rèn)證所需的信息。
ROOT = MERKLE_ROOT_AUTH(POSITION, LEAF, PATH)
ROOT是當(dāng)前 merkle 樹的根,LEAF是第POSITION?葉?,PATH是LEAF到ROOT的證明路徑。
證明系統(tǒng)(Proof System)
Sero的證明系統(tǒng)包含一個基于有向無環(huán)圖的計算電路,用來描述Sero每筆交易的內(nèi)部約束,包括各種資產(chǎn)類型的輸入輸出平衡、公私鑰驗證、承諾的有效性、見證的有效性等環(huán)節(jié)。裝載好數(shù)據(jù)的電路可以通過非交互零知識證明(NIZK)生成一個Proof,通過提交這個Proof,可以在隱藏大量細(xì)節(jié)信息的情況下,讓節(jié)點對電路中裝載的各種參數(shù)和約束進(jìn)行驗證。
執(zhí)行步驟(Process Step)
1. 計算(Compute),用戶采用賬戶、資產(chǎn)、見證系統(tǒng)提供的信息,并根據(jù)當(dāng)前所需的計算,提供輸入數(shù)據(jù),然后在鏈下運行計算規(guī)則得到結(jié)果,結(jié)果通過上述幾個系統(tǒng)將生成狀態(tài)變更的密文(E)和一個證明(P1,P2)。
OUTPUT = COMPUTE(METHOD, INPUT, ACCOUNT, ASSETS, WITNESS)
(E, (P1,P2)) = PROVE(OUTPUT )
2. 提交(Commit),用戶將生成好的密文(E)和證明(P1,P2),加上隨機(jī)生成的寄存地址(ZRPK,VRPK),封裝為交易(Stx),提交給節(jié)點。
FROM = (Rf , Rf PK)
STX = (E, P1,P2,F(xiàn)ROM)
Commit(STX)
3. 驗證(Verify),節(jié)點在收到交易(Stx)之后,將其中P1在見證系統(tǒng)中進(jìn)行確認(rèn),將P2交給證明系統(tǒng),兩者確認(rèn)正確后會運行智能合約得到輸出,最后將輸出關(guān)聯(lián)到暫存地址上。
witness_ret = CHECK_WITNESS(P1)
proof_ret = CHECK_PROOF(P2)
verif y_result = witness_ret & proof_ret
4. 確認(rèn)(Confirm),資產(chǎn)接受方在同步到得到驗證的交易(Stx)之后,利用自己的私鑰將結(jié)果密文(E)解出生成明文(D),并將明文(D)和證明(P1)輸入到證明系統(tǒng)中進(jìn)行校驗,成功則說明交易是真實的。真實的交易如果被n個區(qū)塊進(jìn)行了確認(rèn),那么交易接收方可以認(rèn)為這筆交易已經(jīng)確認(rèn)。
D = DEC(E, VSK)
commitment_ret = CHECK_COMMITMENT(D, P1,PK)
confirm_ret = commitment_ret & block_confirm 》 n
要說明的是,Sero的執(zhí)行步驟是開放式的,也就是說這樣的步驟和參數(shù)的抽象描述,可以支持“實現(xiàn)方案”中所描述的一到三期的修改,在后續(xù)升級時對代碼結(jié)構(gòu)的調(diào)整最小。
通用隱私交易
在Sero內(nèi)部,普通交易中的數(shù)據(jù)都是加密的,非交易雙方不能得知來源、去向、資產(chǎn)種類、?額等細(xì)節(jié)。系統(tǒng)在共識和交易處理時并不區(qū)分智能合約產(chǎn)生的資產(chǎn)和Sero本身的資產(chǎn)。
線上智能合約
Sero的通用智能合約可以進(jìn)行公開計算,制定對各種資產(chǎn)的統(tǒng)計方案、處置規(guī)則、公示規(guī)則,但輸入輸出信息都必須通過暫存地址與用戶的真實身份隔離。Sero智能合約兼容以太坊智能合約指令,也就是說以太坊大部分的智能合約可以不修改就在Sero上運行。
線上匿名資產(chǎn)
智能合約通過調(diào)用線上匿名資產(chǎn)發(fā)行方法發(fā)行資產(chǎn),所發(fā)行資產(chǎn)數(shù)量對所有用戶可見,并具有與Sero本身資產(chǎn)等同的交易屬性,可以通過隱私交易進(jìn)行處理。
線下匿名資產(chǎn)
智能合約通過調(diào)用線下匿名資產(chǎn)發(fā)行方法發(fā)行資產(chǎn),所發(fā)行的資產(chǎn)數(shù)量對用戶不可見,這些資產(chǎn)具有Sero本身資產(chǎn)等同的交易屬性,可以通過隱私交易進(jìn)行處理。智能合約在此資產(chǎn)的輸入和輸出上,對于第三方不可見。匿名資產(chǎn)有多種類型以供不同的場景使用。
線下智能合約
智能合約在線下運行,計算規(guī)則只對部分用戶可見,所發(fā)行資產(chǎn)數(shù)量對用戶不可見,這些資產(chǎn)具有與Sero本身資產(chǎn)等同的交易屬性,可以通過隱私交易進(jìn)行處理。智能合約在此資產(chǎn)的輸入和輸出上,對于第三方不可見。
4. SERO面向的場景
隱私保護(hù)是每個人都存在的強(qiáng)烈需求,Sero有巨大的市場應(yīng)用前景,然而不僅如此,Sero支持開發(fā)者發(fā)行自己的匿名數(shù)字代幣,意味Sero能夠兼容千萬個不同的經(jīng)濟(jì)生態(tài)的流通,而Sero對智能合約的支持意味著巨大的業(yè)務(wù)擴(kuò)展性,使基于Sero發(fā)行的匿名數(shù)字代幣不僅僅只是一種支付工具,這項技術(shù)的落地場景將會輻射到許多行業(yè)。
醫(yī)療健康
在泛醫(yī)療健康行業(yè),數(shù)字隱私體現(xiàn)于方方面面,從個人病歷到醫(yī)療記錄,面向多??的隱私保護(hù)和授權(quán)機(jī)制需要?分靈活和安全的隱私保護(hù)能力,涉及到醫(yī)院、患者、保險公司、醫(yī)藥公司等,數(shù)據(jù)隱私的保護(hù)和限制授權(quán)使用顯得尤為重要。
在線競拍
在諸多追求公平的在線競拍業(yè)務(wù)中,出價的私密性是非常重要的,但在利益驅(qū)使下往往難以做到,尤其是類似集合競價這類?頻報價、對其它對?的報價有限知情甚?毫不知情的規(guī)則下,報價數(shù)據(jù)隱私往往就代表了最終巨大的利益回報。而SERO可以為提供一個完全安全、獨?、公平的報價環(huán)境。
在線預(yù)測相關(guān)業(yè)
在線菠菜業(yè)的發(fā)展一直以來受到中心化信任的制約,哪怕解決這點,基于在線預(yù)測的游戲?qū)τ趯?的出價策略往往也是?度需要隱私保護(hù)的。在這個巨大現(xiàn)?流的行業(yè)中,非常需要一個能夠提供集多人出價、支付、結(jié)算,并能有統(tǒng)一匯率的公平貨幣流通體系,而SERO完全能支持到這些。
游戲
每個游戲都有自己的經(jīng)濟(jì)生態(tài),游戲中的數(shù)字資產(chǎn)自成體系,而同一個公司發(fā)行的不同游戲都很難就數(shù)字資產(chǎn)進(jìn)行打通,但有時也會有這類需求,以便將游戲生態(tài)進(jìn)一步擴(kuò)大。因此大型的在線游戲往往需要一個易于流通、交易和結(jié)算的貨幣體系,并能基于智能合約發(fā)行和流通,同時還要兼顧交易的隱私保護(hù)(游戲資產(chǎn)的交易對用戶而?往往并不希望被公開),而目前Sero是唯一能做到多貨幣體系能基于同態(tài)智能合約發(fā)行流通,且兼顧交易隱私的技術(shù)方案。還有更多的涉及資產(chǎn)數(shù)字化,又涉及數(shù)字資產(chǎn)隱私敏感的行業(yè),如保險行業(yè)、數(shù)字貴?屬交易、期貨交易、數(shù)字資產(chǎn)交易(如征信和知識產(chǎn)權(quán)等)、信貸行業(yè)等,Sero對于這些行業(yè)在現(xiàn)有的市場中有著不可替代的方案優(yōu)勢,不僅支持?度的貨幣流通性對技術(shù)的需求,還支持獨?完善的加密貨幣生態(tài)建?。
5. 關(guān)于非交互式零知識證明(NIZK)的性能優(yōu)化
對于采用NIZK方案的區(qū)塊鏈系統(tǒng),目前最大的瓶頸就是生成交易時產(chǎn)生證明(Proof)的時間?度。幸運的是,交易通常是在錢包中生成。
1. 目前我們構(gòu)建系統(tǒng)時使用原生的zkSNARK庫來實現(xiàn)NIZK,采用其中的ALT_BN128曲線和Groth16預(yù)處理過程,這個過程大約比Zcash的PGHR13預(yù)處理方案減少1/3左右運算時間。同時我們認(rèn)為merkle tree的深度可以適當(dāng)?shù)目s減,并盡可能加入并行處理方案,可以將平均一個交易生成時間再次大幅度降低。雖然 zkSNARK 需要一個信用安裝的過程,但Sero的實現(xiàn)方式中不會動態(tài)的構(gòu)造計算電路。因此,在所有的場景下,zkSNARK協(xié)議是能滿?Sero的需求的。
2. 我們研究了Zcash最新的成果jubjub,并嘗試采用他們的BLS12-381曲線,以及采用Twisted Edwards曲線生成公鑰,pedersen hash進(jìn)行merkle tree的生成,這樣?少可以4倍以上提升交易生成速度。
3. Bulletproofs也具備?分有趣的特性和性能上的優(yōu)勢(如批量驗證的性能優(yōu)勢),而且天生支持橢圓曲線(EC)公鑰和Pedersen commitments,也是我們的嘗試方向之一。
4. zkStark的“零知識證明機(jī)制”提供了更簡單的密碼假設(shè),避免了橢圓曲線、配對和指數(shù)知識假設(shè)的需要,而僅僅依靠散列和信息論。這也意味著,這塊在算法設(shè)計上,能抵抗量?計算攻擊。
Sero中大量使用了零知識證明來隱藏信息。雖然目前我們在TestNet版本仍然采用的是zkSNARK的C++實現(xiàn)庫libsnark來進(jìn)行這項工作。但在MainNet上線時,我們會綜合考察之前提到的幾種NIZK協(xié)議,并構(gòu)建效率最?安全性最好的庫來支持我們的系統(tǒng)。
6. 暫存地址
在Sero的鏈上計算部分,我們采用了暫存地址來臨時承接線上計算的輸出目標(biāo),如果采用簽名的方式使用這個輸出,對于不可追溯性會有稍微的減弱。Sero對這種情況提供的方案是,用戶在使用這個輸出的時候,輸出的標(biāo)識跟其他普通交易一樣,會被隱藏在證明之中。如此一來每筆交易之間都是斷開的,無法追溯,而且一旦輸出被使用,這個暫存地址就算是被銷毀了。
7. 未來計劃
鏈下計算和同態(tài)加密智能合約
事實上對智能合約的同態(tài)加密已經(jīng)進(jìn)入到實質(zhì)開發(fā)階段,并計劃于2019.3發(fā)布到2.0版本的Sero平臺上。目前我們已經(jīng)找到了一種通過鏈上和鏈下計算,兼顧數(shù)據(jù)安全(可以面向計算者完全隔離敏感數(shù)據(jù)的機(jī)制)與性能的方法,并計劃于6個?內(nèi)完成這項工作。
錢包和其它生態(tài)應(yīng)用
Sero的去中心化錢包應(yīng)用目前同樣正在開發(fā)當(dāng)中,并計劃于2019.3前正式發(fā)布,由于Sero支持開發(fā)者自己發(fā)行Token的特性,Sero的錢包將會支持Sero自己的Token以及所有開發(fā)者基于Sero發(fā)行的Token所對應(yīng)加密貨幣資產(chǎn)的管理。
最新共識機(jī)制
我們會在1年內(nèi)的某個版本發(fā)布新的共識機(jī)制SE-Random,結(jié)合了最新的PBFT理論和VRF算法設(shè)計的一種可以相對兼顧公平和效率的共識機(jī)制。
隱私三劍客
Sero有兩個兄弟,分別是異形協(xié)議 (Alien Protocol)和卡斯特羅協(xié)議(Castrol Protocol),前者提供一種分布式的DNS系統(tǒng),通過自動尋址的方式實現(xiàn)網(wǎng)絡(luò)的穩(wěn)定運行和信息傳輸,后者則對節(jié)點的IP地址實現(xiàn)加密隱私保護(hù),三位一體形成完整的去中心化應(yīng)用隱私保護(hù)方案。
安全多方計算
在許多情況下,數(shù)據(jù)證明需要結(jié)合現(xiàn)有的中心化的數(shù)據(jù)源,也可以成為鏈下數(shù)據(jù)源,當(dāng)前,解決上述問題的策略是假設(shè)有可信任的服務(wù)提供者或是假設(shè)存在可信任的第三方。但是在目前多變和充滿惡意的環(huán)境中,這是極具?險的,面對該問題,通用的安全多方計算問題是可解決的。
Sero未來也將考慮引入安全多方計算(SMC),從而在隱私保護(hù)的前提下實現(xiàn)對鏈外數(shù)據(jù)的廣泛支持。
多鏈體系
多鏈體系是Sero可擴(kuò)展性解決方案。Sero將采用類似以太坊Plasma的機(jī)制進(jìn)行基于多鏈體系的橫向的性能擴(kuò)容。類似Plasma的多鏈并行計算機(jī)制,可使Sero的每秒狀態(tài)更新達(dá)到極??平(可能會有數(shù)?億)。從而使Sero在性能上取代當(dāng)前中心化集群的能力,讓Sero具有處理全球的各類隱私相關(guān)去中心化應(yīng)用的前景。
基礎(chǔ)框架
除了隱私保護(hù)的機(jī)制之外,鏈基礎(chǔ)架構(gòu)同樣需要具備?夠強(qiáng)大的可擴(kuò)展性,這對于構(gòu)建一個實用的應(yīng)用平臺顯得?分重要,Sero會引入以下技術(shù)來對鏈的底層架構(gòu)進(jìn)行增強(qiáng):
? 優(yōu)化共識 - 使用一種全新的共識機(jī)制SE-Random,它結(jié)合了最新的PBFT理論和VRF算法設(shè)計的一種可以相對兼顧公平和效率的共識機(jī)制。
? Plasma - 是一種實現(xiàn)區(qū)塊鏈擴(kuò)容計算的方式,在plasma中,眾多區(qū)塊鏈組合成樹形結(jié)構(gòu),共同參與計算,從而實現(xiàn)區(qū)塊鏈的橫向擴(kuò)展。
? 更為強(qiáng)大的虛擬機(jī)——不僅滿?EVM的兼容性,而且有充分的擴(kuò)展性,并且要有底層指令的基礎(chǔ)來滿?性能的需求。
? 以下會重點闡述部分技術(shù)的具體實現(xiàn)。
1. 共識機(jī)制
Sero在研究各類共識的基礎(chǔ)上,提出了自己的主鏈共識引擎SE-Random。SE-Random共識引擎的設(shè)計思路受到最新一代共識研究Algorand和Ourboros的啟發(fā),只需要驗證節(jié)點很少的計算開銷,整個區(qū)塊鏈網(wǎng)絡(luò)產(chǎn)生分叉概率極小,并能實現(xiàn)近乎無限的擴(kuò)展性。
下面描述一下SE-Random共識的細(xì)節(jié)。
SE-Random使用拜占庭協(xié)議BA*(Byzantine Agreement)在一組交易中達(dá)成共識。為了擴(kuò)展性,SE-Random使用一種隨機(jī)算法篩選出一批用戶,允許用戶自己私下檢查是否被選中,并參與BA*協(xié)議中共識的達(dá)成。在此算法下,隨著用戶量的增多,整個BA*共識系統(tǒng)不會變慢。
VRF算法的使用
SE-Random共識引擎基于VRF(Verifiable Random Function)算法作為隨機(jī)驗證節(jié)點選擇基礎(chǔ)。VRF是隨機(jī)生成函數(shù),而且這個函數(shù)是可驗證的。即同一把私鑰對同樣的信息進(jìn)行簽名,只有一個合法簽名可以通過驗證,這個有別于普通的非對稱加密算法。
VRF的具體操作流程是:
1. 證明者生成一對密鑰,PUB_KEY和PRI_KEY。PRI_KEY是私鑰,PUB_KEY是配對的公鑰。
2. 證明者輸出隨機(jī)結(jié)果 result = VRF_Hash(PRI_KEY, info)
3. 證明者輸出隨機(jī)證明 proof = VRF_Proof(PRI_KEY, info)
4. 證明者把隨機(jī)結(jié)果和隨機(jī)證明提交給驗證者。驗證者需驗證result和proof是否匹配,若匹配,進(jìn)入下一步。
5. 證明者把PUB_KEY和info提交給驗證者,驗證者計算VRF_Verif y(PUB_KEY, info, proof )結(jié)果是否為TRUE,是TRUE的話即驗證通過。
6. 驗證通過即可推導(dǎo)出info和result是否匹配,即證明驗證者給出的材料是正確的。在整個過程中驗證者沒有拿到證明者的私鑰PRI_KEY。
隨機(jī)種?(Seed)生成
在SE-Random的一些地方的隨機(jī)算法會用到種?(seed),比如SE-Random的加密抽簽中,需要隨機(jī)選擇并公開的種?。這個seed既要讓參與節(jié)點知曉,又不能被對?控制。SERandom第r回合產(chǎn)生的seed是由上一回合r-1的seed通過VRF來確定。這個種?和相應(yīng)的VRF證明被包含在每個被提出的塊中,一旦SE-Random在r-1輪的塊上達(dá)成一致,當(dāng)r輪開始之后,每個人都知道當(dāng)前輪的偽隨機(jī)的seedr 。初始的seed0的值是由初始參與者們一起用多個節(jié)點進(jìn)行計算,得到的一個絕對無法預(yù)測的隨機(jī)seed。這樣,seed不會被“破壞者”預(yù)測,也不會被操縱。
通過VRF算法進(jìn)行加密抽簽選出驗證者的方法
SE-Random用加密抽簽方法來根據(jù)每個用戶的權(quán)重來選擇用戶的隨機(jī)?集。系統(tǒng)將固定單位數(shù)量的Sero幣設(shè)為一個篩選候選單位S,并規(guī)定每個節(jié)點有限定數(shù)量的Sero幣w作為篩選計算,所有候選單位的總權(quán)重是。并且如果節(jié)點i擁有j個篩選單位數(shù)量的Sero幣,則節(jié)點i可以以j個不同的子節(jié)點的身份參與抽簽篩選。抽簽算法的隨機(jī)性來源于前面提到的隨機(jī)種子。在BA*的每次循環(huán)中,SE-Random基于當(dāng)前seed構(gòu)建一個VRF,VRF的私鑰只能由節(jié)點自己知道。每個節(jié)點用自己的私鑰運行系統(tǒng)公布的隨機(jī)算法進(jìn)行抽簽。系統(tǒng)按照節(jié)點持有的不超過限定閾值SERO幣的比例選擇驗證節(jié)點。
SE-Random需要指定閾值,用以選擇驗證節(jié)點的預(yù)期數(shù)量。這個預(yù)期數(shù)量滿足概率p = w/W。在W(總節(jié)點權(quán)重)選擇子驗證節(jié)點的概率滿足二項分布:
當(dāng)前驗證節(jié)點(包含子驗證節(jié)點)的選擇數(shù)量的確定方式也是由抽簽算法確定的。抽簽算法將區(qū)間[0,1)劃分為連續(xù)區(qū)間的形式:
此加密抽簽的方法的特性為:
1、驗證節(jié)點根據(jù)他們持有Sero幣的權(quán)重隨機(jī)選出N個驗證子節(jié)點
2、不知道節(jié)點i私鑰的破壞者無法知道i是否被選中,以及選出多少個子驗證節(jié)點。
在隨機(jī)選出的驗證者節(jié)點中進(jìn)行BA*共識計算
驗證節(jié)點(包括子驗證節(jié)點)在秘密的情況下獲知自己被選中,但他們只有公布憑證才能證明自己的驗證者資格。對于每一個選中的節(jié)點,使用自己的私鑰對seed進(jìn)行簽名,并輸入哈希函數(shù)后得到自己的憑證。哈希函數(shù)的性質(zhì)表明憑證是一個隨機(jī)的?度為256的字符串,不同節(jié)點的憑證不會相同,并且憑證字符串的分布是均勻的。用同樣的方式選出一批候選領(lǐng)導(dǎo)節(jié)點,把候選領(lǐng)導(dǎo)節(jié)點的憑證按照字典順序進(jìn)行排列,排序中最小的候選領(lǐng)導(dǎo)節(jié)點被選為領(lǐng)導(dǎo)節(jié)點,即領(lǐng)導(dǎo)節(jié)點是通過候選領(lǐng)導(dǎo)節(jié)點集合隨機(jī)的公共選舉產(chǎn)生。
驗證節(jié)點和領(lǐng)導(dǎo)節(jié)點一起參與拜占庭協(xié)議BA*的運算,在BA*的每一個階段和步驟?,節(jié)點都通過私人和非互動的方式來獨?確定自己是否被選擇在當(dāng)前步驟的委員會中。BA*是一個兩個階段的投票機(jī)制。第一階段,驗證節(jié)點對收到的候選區(qū)塊進(jìn)行分級共識,選取驗證共識最多的候選區(qū)塊。第二階段,對第一階段篩選出的候選區(qū)塊進(jìn)行二元拜占庭判斷。BA*共識要保證參與共識的誠實節(jié)點大于2/3,如果隨機(jī)選出的集合不能滿足該條件,那么需要進(jìn)行多次隨機(jī)選舉,只要有一次參與共識的誠實節(jié)點大于2/3,就能達(dá)成共識。BA*共識的每個步驟的驗證節(jié)點并行指定或抽簽篩選出來用來加快共識確認(rèn)速度。
BA*共識計算的步驟
BA*的每一步都要銷毀當(dāng)前步驟臨時密鑰,步驟簡述如下:
1. 生成區(qū)塊(Step1)
2. 分級共識協(xié)議
這個協(xié)議將在任意一個塊上達(dá)成一致的問題轉(zhuǎn)化為在的兩個值上達(dá)成一致,這兩個值是最后確定特定塊的散列或者空塊的散列的依據(jù),總共分為3個步驟,我們會在后面的技術(shù)黃皮書中詳細(xì)說明。大體來說判斷消息中是否有超過2/3的 并且相同,如果有,則廣播此特定區(qū)塊,如果沒有,則廣播空塊,此消息用于后繼二元拜占庭判斷。
3. 二元拜占庭判斷
在這?驗證節(jié)點統(tǒng)計判斷分級共識協(xié)議發(fā)出的值。二元拜占庭判斷是一個三步的循環(huán),驗證節(jié)點會不斷的對收到的歷史進(jìn)行檢查,看是否達(dá)到了有兩種結(jié)束條件,即區(qū)塊合法或者區(qū)塊不合法是否達(dá)到2/3的投票總數(shù);如果區(qū)塊不合法,共識系統(tǒng)會判斷并生成一個空區(qū)塊。為了預(yù)防無限循環(huán)的情況發(fā)生,我們會設(shè)定一個最大總循環(huán)數(shù)m,如達(dá)到m后還沒判定出是否符合一個結(jié)束條件,共識系統(tǒng)會臨時生成暫定的共識,并在后續(xù)過程中(后面幾輪)形成最終共識,并確認(rèn)這些較早的交易。
SE-Random共識會適應(yīng)網(wǎng)絡(luò)弱同步情況下的共識判定。在網(wǎng)絡(luò)強(qiáng)情況下不會造成區(qū)塊分叉,在網(wǎng)絡(luò)弱同步情況下,會臨時做出暫定共識并在網(wǎng)絡(luò)強(qiáng)同步恢復(fù)后達(dá)到最終共識。SErandom可以防范?巫攻擊、自私挖礦攻擊、Nothing-at-Stake攻擊、遠(yuǎn)程攻擊等各類攻擊方式。即使Sero鏈的用戶擴(kuò)散到億級以上的節(jié)點,SE-Random共識也可借助VRF機(jī)制快速達(dá)成全網(wǎng)一致的拜占庭共識。
2 擴(kuò)容機(jī)制
Plasma是一個激勵,和強(qiáng)制智能合約執(zhí)行的框架。可以擴(kuò)容達(dá)到每秒大量的狀態(tài)更新(能達(dá)到每秒10億級),在區(qū)塊鏈上能支持全球范圍內(nèi)的大量的去中心化金融應(yīng)用。這些智能合約通過網(wǎng)絡(luò)交易?續(xù)費用于激勵持續(xù)的自動化運作,最終依賴于底層的區(qū)塊鏈來強(qiáng)制交易狀態(tài)的鎖定。
Plasma由兩個核心部分構(gòu)成:重組所有區(qū)塊鏈計算為一組MapReduce函數(shù),和一個可選的方法,在現(xiàn)存的區(qū)塊鏈上,以不鼓勵區(qū)塊扣留的Nakamoto共識原則,來實現(xiàn)一個Pos的代幣押金機(jī)制。
這種構(gòu)建通過在主鏈上編寫智能合約,使用欺詐證明,可以在主鏈上強(qiáng)制狀態(tài)的鎖定。Plasma將區(qū)塊鏈編組為一個樹形的分層結(jié)構(gòu),將每一個區(qū)塊鏈視為一個獨?的分支,強(qiáng)制將整個區(qū)塊鏈的歷史,和可MapReduce的計算提交到Merkle證明。通過主鏈強(qiáng)制將某個鏈的帳本信息打包到子區(qū)塊鏈中,這個鏈將通過最低的信任達(dá)到擴(kuò)容的需求。
圍繞全局強(qiáng)制非全局?jǐn)?shù)據(jù)的數(shù)據(jù)可用性,區(qū)塊扣留攻擊是是一個非常復(fù)雜的問題。Plasms通過對有問題鏈的退出機(jī)制來緩解了這個問題,同時也創(chuàng)建了一個激勵和持續(xù)的強(qiáng)制的執(zhí)行數(shù)據(jù)的正確性機(jī)制。
僅僅通過周期性的將正常狀態(tài)的Merkle證明廣播到主鏈,這將允許不可思議的擴(kuò)展性,降低交易成本和計算量。Plasma支持了大規(guī)模去中心化應(yīng)用的持續(xù)運行。額外的,重要的可擴(kuò)展性是通過減少單次花費的資金表達(dá)方式為一個位圖中的一個位來實現(xiàn),這樣,一個交易和一個簽名代表一個與多方的交易聚合。Plasma將這與一個MapReduce框架結(jié)合,同時使用含押金的智能合約來構(gòu)建可擴(kuò)展的計算強(qiáng)制性。
這種構(gòu)建方式允許讓外部的參與方持有資金,并根據(jù)自己的行為計算合約,類似于一個礦工,但是Plasma是運行于一個已存在的區(qū)塊鏈上,由此大家不用在每次狀態(tài)更新時在主鏈上創(chuàng)建對應(yīng)的交易(即使包括添加新用戶的賬本),而只需要將合并后的狀態(tài)變化這樣的少量信息寫到鏈上。
Sero將采用Plasma這樣的機(jī)制進(jìn)行基于多鏈體系的橫向的性能擴(kuò)容。這種多鏈并行計算機(jī)制,可使Sero的每秒狀態(tài)更新達(dá)到極高?平(可能會有數(shù)十億)。從而使Sero在性能上獲得很大提升,達(dá)到取代當(dāng)前中心化集群的承載能力。
3. 虛擬機(jī)
目前以太坊已經(jīng)擁有了大量開發(fā)者,Solidity語言也已經(jīng)成了智能合約開發(fā)最廣泛使用的語言。因此,我們需要在Sero系統(tǒng)中提供EVM的兼容性。
EVM虛擬機(jī)是在以太坊的基礎(chǔ)上發(fā)展出來的,以太坊是一個標(biāo)準(zhǔn)的區(qū)塊鏈結(jié)構(gòu),其數(shù)據(jù)結(jié)構(gòu)是單一的,因此其虛擬機(jī)在交易調(diào)用層面設(shè)計為類似數(shù)據(jù)庫的ACID(Atomicity,Consistency,Isolation,Durability)特性。即在以太坊的協(xié)議中,一個智能合約的調(diào)用,可能會影響多個賬戶的狀態(tài)變化。這些狀態(tài)變化是有實時一致性的剛性事務(wù),即這些狀態(tài)變化要么同時發(fā)生,要么都不發(fā)生。但是,Sero需要考慮到未來充分的擴(kuò)展性,并且要有底層指令的基礎(chǔ)來滿足性能的需求。我們將Sero鏈的虛擬機(jī)設(shè)計為滿足BASE(Bascically Available,Soft state,Eventual consistency)理念的最終一致性方案,我們將此虛擬機(jī)稱為MEVM虛擬機(jī)。
在BASE理念中,基本可用是指系統(tǒng)在出現(xiàn)不可預(yù)期的故障時,允許損失部分可用性;軟狀態(tài)是指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),不過該中間狀態(tài)的存在不會影響系統(tǒng)的整體可用性;最終一致性是指所有的數(shù)據(jù)副本,在一段時間的同步之后,最終都能夠達(dá)到一致。和ACID概念的強(qiáng)一致性相比,BASE理念通過犧牲實時強(qiáng)一致性來獲得可用性,但最終會達(dá)到一致狀態(tài)。區(qū)塊鏈中區(qū)塊結(jié)構(gòu)和各類共識算法,其本質(zhì)都是符合BASE理念的,不過并不滿足ACID。因此MEVM虛擬機(jī)設(shè)計為復(fù)合BASE語義是適合的,并且在此層面上相比原來的EVM的ACID設(shè)計,
會克服運行性能瓶頸的這個方面的制約。
另外,Solidity語言一直被人詬病的一點是缺乏標(biāo)準(zhǔn)庫的支持,比如比較兩個字符串這種基本的功能,Solidity中沒有標(biāo)準(zhǔn)庫函數(shù)給開發(fā)者調(diào)用。類似OpenZeppelin這樣的項目提供了一些標(biāo)準(zhǔn)庫,但是還遠(yuǎn)遠(yuǎn)不夠用。特別是Sero的區(qū)塊鏈應(yīng)用需要用到的高級的數(shù)學(xué)和密碼學(xué)算法庫,比如零知識證明協(xié)議、RSA公鑰加密算法,奇異值分解等。MSolidity可以參考這些實現(xiàn)并添加更多的庫,這些庫采用預(yù)編譯或者用Native方式實現(xiàn),以減少運行消耗。
在今后的發(fā)展中,Sero體系會考慮對基于Web Assembly(WASM)的虛擬機(jī)提供支持,從而進(jìn)一步提升性能,并提供對除了Solidity外用更多的語言,比如C,C++,Rust,或者Go語言編寫的智能合約進(jìn)行支持。隨著Cardano項目組設(shè)計的IELE虛擬機(jī)的成熟,Sero體系也會考慮提供對這個虛擬機(jī)進(jìn)行支持。IELE是LLVM的一個變種,有希望成為高級語言的智能合約翻譯并執(zhí)行的統(tǒng)一、低級的平臺。通過IELE虛擬機(jī),可以讓Sero體系支持更多種類的高級語言。
4. 抗量子計算
目前區(qū)塊鏈系統(tǒng)上普遍使用的非對稱加密簽名算法,比如基于大整數(shù)因子分解難題的RSA算法和基于橢圓曲線上離散對數(shù)計算難題的ECC算法,可以被量子Shor算法將NP問題變成P問題,從而容易被破解。Sero體系會根據(jù)項目進(jìn)度和量子計算機(jī)實用化的發(fā)展適時引入抗量子計算暴力破解的加密算法,比如基于格的密碼系統(tǒng)(Lattice-based cryptography),基于編碼的密碼系統(tǒng)(code based cryptosystems)和多元密碼(multivariate cryptography)等;其中基于格密碼可以設(shè)計加密、簽名、密鑰交換等各種密碼系統(tǒng),是后量子密碼學(xué)算法的一個重要方向。同時,我們也會對基于超特異橢圓曲線上同源問題(Isogen)、共軛搜索問題(conjugacy search problem)和辮群(Braid Groups)相關(guān)問題等設(shè)計的抗量子密碼系統(tǒng)的前沿研究方向進(jìn)行同步追蹤。
激勵的經(jīng)濟(jì)模型
傳統(tǒng)的點對點通訊網(wǎng)絡(luò)將焦點關(guān)注于信息傳輸,有點像互聯(lián)網(wǎng)1.0時代的應(yīng)用,一切都是公開和共享的,而其并沒有達(dá)到區(qū)塊鏈技術(shù)所達(dá)到的震動效應(yīng),一方面是因為缺少有效的共識機(jī)制將分散的節(jié)點協(xié)同參與工作(僅限于點和點的共識),而更重要的是因為一切人類的行為都是需要背后的經(jīng)濟(jì)邏輯驅(qū)動的,在缺乏有效的經(jīng)濟(jì)規(guī)范趨勢下人類的行為只能受到社會規(guī)范約束(即出于公益性質(zhì)的精神激勵的驅(qū)動下的工作),這對于大部分需要共同完成的目標(biāo)而言對個體是缺乏約束力的。
比特幣網(wǎng)絡(luò)通過POW(工作量證明)共識機(jī)制,并以貢獻(xiàn)算力獲得記賬權(quán)從而獲得比特幣獎勵的方式激勵節(jié)點參與共識,無疑是一項了不起的設(shè)計,我們認(rèn)為Token經(jīng)濟(jì)模型是區(qū)塊鏈價值的核心也不為過。
然而問題在于同一種token是否能解決所有共識協(xié)同行為的激勵問題?我們認(rèn)為答案顯然是No。現(xiàn)今我們發(fā)現(xiàn)市場上有各種流通的Token,背后的經(jīng)濟(jì)模型五花?門,但是缺乏統(tǒng)一的標(biāo)準(zhǔn)將其共識的成本與產(chǎn)生的共識價值關(guān)聯(lián)起來,因此整個加密貨幣的二級市場流通規(guī)則顯得相當(dāng)脆弱。
以太坊基于同一種底層共識機(jī)制,允許智能合約開發(fā)者發(fā)行自己的Token,并且使用ETH作為GAS費用支付共識成本,既統(tǒng)一了共識成本的計量單位,又允許在相同的共識成本下,能夠根據(jù)Token所用于的生態(tài)獲得不同的價值輸出,使用者?少能夠計算最佳的投入與回報的平衡點,如今許多人詬病在以太坊上發(fā)行ERC20的代幣太過容易導(dǎo)致?目混珠,卻很少有人意識到以太坊在這個設(shè)計初衷的重要意義。
我們在設(shè)計整個Sero-CHAIN時也同樣延用了以太坊的這個功能,可以想像,通過鏈上完成基于共識的交易,?先我們需要降低GAS消耗,以降低鏈上交易性價比的硬門檻,為此我們設(shè)計了新的共識機(jī)制,這點在其他章節(jié)已經(jīng)闡述。
假設(shè)在共識成本即GAS消耗可以忽略不計的情形下,任何一種Token的價值取決于鏈上交易的其他成本,這些成本受到數(shù)字資產(chǎn)的集中化程度、市場供需關(guān)系等影響,這和現(xiàn)實世界的貨幣并無不同,加密貨幣同樣是用來衡量商品、服務(wù)或權(quán)益的價值的,因此我們認(rèn)為開發(fā)者發(fā)行Token可以有自己的經(jīng)濟(jì)模型,這?僅就Sero幣的經(jīng)濟(jì)模型角度討論。
站在Sero生態(tài)的角度,所有的商品、服務(wù)的價值都有一個源頭,由于區(qū)塊鏈平臺本質(zhì)是一個公平的價值流通市場,因此所有的經(jīng)濟(jì)行為的成本底層在于交易成本,Sero幣就是交易成本的載體,站在這個角度,Sero幣將用于以下激勵用途:
? 記賬獎勵;
? 算力貢獻(xiàn)獎勵(對于使用了隱私機(jī)制的應(yīng)用,會需要更多的算力消耗);
? 其它角?包括算法提供者(通過發(fā)布智能合約的形式)的運行激勵;
? 在SE-Random共識中,Sero的Token持有會影響個別場景下(譬如初始種子節(jié)點隨機(jī)選擇)的權(quán)重;
? Sero生態(tài)的開發(fā)者會因其開發(fā)應(yīng)用的實際產(chǎn)生價值而獲得Sero的Token獎勵,這種獎勵往往用于實際補(bǔ)貼其共識記賬或算力支付開銷的成本方式給出;
? 用戶也可以將Sero的Token用于其DApp或Sero相關(guān)的生態(tài)系統(tǒng)中的各種目的。
評論
查看更多