SERO-支持智能合約的零知識(shí)證明隱私保護(hù)公鏈的技術(shù)創(chuàng)新

SERO是真正使用零知識(shí)證明的隱私保護(hù)平臺(tái)宾毒。SERO不但是世界上第一個(gè)支持智能合約的隱私加密貨幣葛圃,也是世界上第一個(gè)允許開發(fā)者發(fā)行支持智能合約的隱私加密貨幣并且可以在DApp是使用的開發(fā)平臺(tái)。SERO系統(tǒng)代表著世界上頂級(jí)的零知識(shí)證明在區(qū)塊鏈隱私保護(hù)應(yīng)用領(lǐng)域的實(shí)踐,因?yàn)镾ERO系統(tǒng)獨(dú)特而強(qiáng)大的技術(shù)體系,SERO在近期的2018年終區(qū)塊鏈峰會(huì)(CHAIN-PLUS+)上獲得了區(qū)塊鏈技術(shù)創(chuàng)新獎(jiǎng)。下文將逐一闡述SERO系統(tǒng)在技術(shù)創(chuàng)新方面的突出特點(diǎn)硬爆。

一、區(qū)塊鏈隱私保護(hù)的必要性

區(qū)塊鏈作為一種新興的技術(shù)擎鸠,相對(duì)于中心化系統(tǒng)缀磕,區(qū)塊鏈的核心價(jià)值就在于去中心化。傳統(tǒng)的擁有獨(dú)立數(shù)據(jù)庫的企業(yè),都會(huì)將數(shù)據(jù)集中起來袜蚕,建立數(shù)據(jù)中心糟把。這些數(shù)據(jù)中心的管理權(quán)限都掌握在一個(gè)公司手上,這樣的系統(tǒng)是由少數(shù)人控制的牲剃,在安全性方面有不可回避的問題遣疯。而區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本凿傅。相對(duì)而言缠犀,在區(qū)塊鏈系統(tǒng)中,任何有能力建立節(jié)點(diǎn)的人都可以參與其中聪舒,成為這個(gè)分布式賬本的一個(gè)節(jié)點(diǎn)辨液,這些節(jié)點(diǎn)都是平等和自治的,參與驗(yàn)證每一筆交易箱残,并通過一定模式的共識(shí)來確定數(shù)據(jù)的一致性滔迈。通過區(qū)塊鏈系統(tǒng),使用者可以在不需要中間節(jié)點(diǎn)的情況下安全的進(jìn)行交易和各類數(shù)據(jù)交互疚宇。

比如在以太坊網(wǎng)絡(luò)中亡鼠,全球有上萬個(gè)節(jié)點(diǎn),其中包括了用戶為推行網(wǎng)絡(luò)間項(xiàng)目而運(yùn)行的節(jié)點(diǎn)敷待,也包括了交易所管理運(yùn)行的節(jié)點(diǎn),還包括了礦工們運(yùn)行的節(jié)點(diǎn)仁热。這么多的節(jié)點(diǎn)榜揖,一方面保證了每筆交易的安全性,另一方面抗蠢,確實(shí)給用戶帶來了很大的隱私方面的困擾举哟。目前,任何人都能從這上萬個(gè)節(jié)點(diǎn)中查詢到每一筆交易迅矛,包括交易參與方的地址和金額妨猩,這種情況下,用戶的隱私該如何來保障呢秽褒?

區(qū)塊鏈發(fā)展至今壶硅,在技術(shù)領(lǐng)域探索出幾種隱私保護(hù)的解決方案,比如混幣器方案销斟,環(huán)形簽名方案和零知識(shí)證明方案庐椒。混幣器是一種中心化的解決方案蚂踊,需要一個(gè)中心化的混幣平臺(tái)约谈,交易參與方先把代幣發(fā)到混幣平臺(tái)進(jìn)行混合,以打亂參與方之間的聯(lián)系,但這種方案需要用戶充分信任中心化的混幣處理系統(tǒng)棱诱。環(huán)形簽名則是一種特殊的群簽名組成的協(xié)議泼橘,交易的簽名由私鑰和眾多公鑰產(chǎn)生,當(dāng)其它節(jié)點(diǎn)驗(yàn)證時(shí)迈勋,只能確定簽名是諸多公鑰中的一個(gè)侥加,卻無法定位到哪個(gè)公鑰才是具體的發(fā)送方,即無法定位到一組環(huán)簽名所代表的資產(chǎn)的具體持有者是誰粪躬。環(huán)形簽名存在的問題是担败,用以匿名的簽名集合是固定的,用戶在交易中依舊需要與其他用戶的公鑰進(jìn)行混合镰官,因此仍然有可能會(huì)遭遇惡意用戶從而暴露隱私提前。

而最被業(yè)內(nèi)看好的是零知識(shí)證明(Zero—Knowledge Proof),是由S.Goldwasser泳唠、S.Micali及C.Rackoff在20世紀(jì)80年代初提出的狈网。它指的是證明者能夠在不向驗(yàn)證者提供任何有用的信息的情況下,使驗(yàn)證者相信某個(gè)論斷是正確的笨腥。零知識(shí)證明實(shí)質(zhì)上是一種涉及兩方或更多方的協(xié)議拓哺,即兩方或更多方完成一項(xiàng)任務(wù)所需采取的一系列步驟。證明者向驗(yàn)證者證明并使其相信自己知道或擁有某一消息脖母,但證明過程不能向驗(yàn)證者泄漏任何關(guān)于被證明消息的信息士鸥。大量事實(shí)證明,零知識(shí)證明在密碼學(xué)中非常有用谆级。如果能夠?qū)⒘阒R(shí)證明用于驗(yàn)證烤礁,將可以有效解決許多問題。

在區(qū)塊鏈隱私保護(hù)領(lǐng)域肥照,零知識(shí)證明被認(rèn)為是最前沿的解決方案脚仔,同時(shí)也是最強(qiáng)大的,以太坊創(chuàng)始人V神就多次在公眾場(chǎng)合表達(dá)了對(duì)零知識(shí)證明的喜愛舆绎。在以往鲤脏,如果為了證明某些事情,需要引入或借助另外的知識(shí)達(dá)到目的吕朵,但是在零知識(shí)證明中猎醇,用戶無需其它底層數(shù)據(jù)來完成這個(gè)證明過程,在區(qū)塊鏈的交易中边锁,運(yùn)行零知識(shí)證明的手段姑食,用戶不需要添加或向外接透露更多的信息即可完成整個(gè)交易流程。在交易中茅坛,交易過程可以被加密音半,但是除參與方外则拷,其他用戶不需要對(duì)其解密,區(qū)塊鏈系統(tǒng)運(yùn)行了零知識(shí)證明技術(shù)之后曹鸠,每個(gè)區(qū)塊中將只有加密后的哈希數(shù)據(jù)的存在煌茬,這些數(shù)據(jù)已經(jīng)能足夠支撐整個(gè)鏈上系統(tǒng)上的交易運(yùn)行。

但是彻桃,現(xiàn)在我們遇到的問題是坛善,如何將零知識(shí)證明作為通用的解決方案,在區(qū)塊鏈系統(tǒng)的廣泛范圍內(nèi)應(yīng)用起來邻眷。其中有一個(gè)比較突出的問題是生成證明的效率比較低眠屎。比如,在Zcash中肆饶,用普通的筆記本電腦改衩,發(fā)送一筆匿名幣交易,通常需要幾百秒時(shí)間驯镊。如果在發(fā)送的交易中葫督,UTXO中含有更多的來源,那這筆交易的證明生成時(shí)間更是長的讓人無法忍受板惑。另一個(gè)問題是橄镜,在當(dāng)前包含Zcash在內(nèi)的所有主流匿名幣系統(tǒng)中,還沒有類似以太坊那樣支持智能合約的區(qū)塊鏈平臺(tái)系統(tǒng)出現(xiàn)冯乘。

針對(duì)匿名幣系統(tǒng)的這些應(yīng)用層面的問題洽胶,在區(qū)塊鏈領(lǐng)域,很多研發(fā)團(tuán)隊(duì)試圖進(jìn)行進(jìn)一步改進(jìn)往湿。但是由于零知識(shí)證明這個(gè)層面妖异,由于其學(xué)術(shù)和工程方面的復(fù)雜性,絕大多數(shù)團(tuán)隊(duì)都進(jìn)展緩慢领追,沒有發(fā)展出能實(shí)際上線運(yùn)行的系統(tǒng)。

SERO的項(xiàng)目成功解決了上述問題响逢。SERO是Super Zero的意思绒窑,是全球首創(chuàng)的,基于零知識(shí)證明技術(shù)實(shí)現(xiàn)隱私保護(hù)舔亭,并且能支持圖靈完備智能合約運(yùn)行的區(qū)塊鏈基礎(chǔ)平臺(tái)些膨。在零知識(shí)證明系統(tǒng)方面,SERO團(tuán)隊(duì)基于zk-SNARKs構(gòu)建了Super-ZK零知識(shí)證明加密系統(tǒng)钦铺,在零知識(shí)證明普及應(yīng)用的最大瓶頸-證明生成速度上订雾,目前Super-ZK系統(tǒng)比Zcash當(dāng)前的系統(tǒng)有20倍以上的提高,這極大的提高了用戶的使用體驗(yàn)矛洞,提高了零知識(shí)證明系統(tǒng)實(shí)用化的范圍洼哎。

二烫映、SERO匿名系統(tǒng)的架構(gòu)設(shè)計(jì)

SERO匿名系統(tǒng)的架構(gòu)設(shè)計(jì),在滿足系統(tǒng)能力需求的同時(shí)噩峦,遵循以下幾個(gè)基本的原則锭沟。

1、不可追蹤性识补。區(qū)塊鏈網(wǎng)絡(luò)的每一筆交易都具有輸入和輸出族淮,如此一來,就構(gòu)建了一個(gè)交易的有向無環(huán)圖凭涂,在這個(gè)圖上可以追蹤所有的交易流向祝辣,所有的交易序列都能被串聯(lián)起來,并以此溯源切油。SERO的設(shè)計(jì)中要將兩個(gè)交易之間的鏈接斷開蝙斜,使攻擊無法進(jìn)行。

2白翻、抗統(tǒng)計(jì)分析乍炉。真實(shí)用戶的行為具有統(tǒng)計(jì)特點(diǎn),如果區(qū)塊鏈網(wǎng)絡(luò)中的交易數(shù)據(jù)之間具有反映這樣統(tǒng)計(jì)特點(diǎn)的關(guān)聯(lián)性滤馍,通過對(duì)區(qū)塊鏈數(shù)據(jù)的統(tǒng)計(jì)分析岛琼,就能夠以一定幾率推測(cè)出這些地址發(fā)生的交易時(shí)屬于某個(gè)特定用戶的行為。即使采用環(huán)形簽名巢株,在面臨有作惡的環(huán)成員或者節(jié)點(diǎn)的時(shí)候槐瑞,抵抗統(tǒng)計(jì)分析的能力會(huì)下降,SERO通過技術(shù)手段將地址以及地址之間的關(guān)系完全隱藏阁苞。

3困檩、實(shí)用性原則。SERO在對(duì)交易的數(shù)據(jù)進(jìn)行隱藏的同時(shí)那槽,并不會(huì)一股腦將所有的信息都納入范圍內(nèi)悼沿,這樣做是不經(jīng)濟(jì)并且運(yùn)行效率低下的。SERO會(huì)兼顧業(yè)務(wù)的場(chǎng)景需求和特點(diǎn)骚灸,提供分層次的多種解決方案糟趾。

4、可選的審計(jì)方案甚牲。對(duì)于某些較為復(fù)雜的商業(yè)應(yīng)用領(lǐng)域义郑,用戶可能需要有一個(gè)完全信用的第三方對(duì)他發(fā)生的所有交易進(jìn)行財(cái)務(wù)方面的審計(jì),SERO提供給用戶這類選擇的方案丈钙,讓用戶決定是否給予第三方一個(gè)跟蹤他所有交易信息的能力非驮。

SERO協(xié)議的設(shè)計(jì)簡要描述如下:

1、賬戶系統(tǒng)

賬戶系統(tǒng)

賬戶系統(tǒng)分為兩個(gè)種類:用戶賬戶和合約賬戶雏赦。用戶賬戶是用戶選定一個(gè)32byte的Seed劫笙,而合約賬戶根據(jù)用戶安裝智能合約的環(huán)境產(chǎn)生一個(gè)64byte的地址芙扎,兩者都是系統(tǒng)唯一,不可重復(fù)的邀摆。

用戶賬戶可以產(chǎn)生一個(gè)64byte的私鑰SK和一個(gè)64byte的公鑰PK纵顾,該公鑰是用戶的付款地址。在安裝或調(diào)用智能合約時(shí)栋盹,錢包會(huì)根據(jù)當(dāng)前情況生成一個(gè)暫存地址PKr施逾,這個(gè)暫存地址無法用任何方式關(guān)聯(lián)到用戶的私鑰和公鑰,并且只會(huì)使用一次例获。

在智能合約安裝的時(shí)候汉额,錢包會(huì)根據(jù)當(dāng)前情況,將暫存地址轉(zhuǎn)為64byte的智能合約地址(CADDR)榨汤。


智能合約地址(CADDR )

2蠕搜、資產(chǎn)系統(tǒng)

不管是用戶賬戶還是智能合約賬戶,其下都具有管理無限種類資產(chǎn)的屬性收壕,除了交易費(fèi)用結(jié)算采用SERO幣以外妓灌,每一種資產(chǎn)都具有跟SERO幣本身等同的交易特征,除SERO幣以外蜜宪,其余資產(chǎn)可以由智能合約產(chǎn)生虫埂。每一種資產(chǎn)在產(chǎn)生的同時(shí),可以賦予一個(gè)最長32Byte長度的名稱(Currency)圃验,用于助記掉伏,這些名稱也是不允許重復(fù)使用的,在賬戶進(jìn)行余額查詢或轉(zhuǎn)賬操作時(shí)澳窑,可以指定資產(chǎn)類型斧散。

3、輸出和輸入結(jié)構(gòu)

  • 輸入結(jié)構(gòu)
輸入結(jié)構(gòu)
  • 輸出結(jié)構(gòu)

Anchor是Merkle樹的根用于定位輸入數(shù)據(jù)摊聋;Nil是一個(gè)32位的hash串鸡捐,用于作廢UTXO中OUT的數(shù)值;Til是用來追蹤交易用的32位的哈希串麻裁,只有UTXO中闯参,包含有效的OUT時(shí),才是合法的悲立;AssetCM是輸入的資產(chǎn)承諾;OutCM是交易輸入的資產(chǎn)承諾新博。

4薪夕、見證系統(tǒng)

SERO協(xié)議采用非交互零知識(shí)證明(NIZK),在生成交易的時(shí)候赫悄,需要提供資產(chǎn)來源的見證信息原献,每個(gè)節(jié)點(diǎn)會(huì)根據(jù)這些見證信息進(jìn)行驗(yàn)證馏慨。因此,SERO會(huì)采用Merkle樹維護(hù)一個(gè)記錄狀態(tài)變更的見證系統(tǒng)姑隅,系統(tǒng)在節(jié)點(diǎn)提供驗(yàn)證功能写隶,在錢包端提供認(rèn)證所需的信息。

ROOT = MERKLE_ROOT_AUTH(POSITION, LEAF, PATH)

ROOT是當(dāng)前Merkle樹的根讲仰,LEAF是第POSITION片葉子慕趴,PATH是LEAF到ROOT的證明路徑。

5鄙陡、證明系統(tǒng)

證明系統(tǒng)

SERO的證明系統(tǒng)包含一個(gè)基于有向無環(huán)圖的計(jì)算電路冕房,用來描述SERO每筆交易內(nèi)部約束膛壹,包括各種資產(chǎn)類型的輸入輸出平衡赞厕、公私鑰驗(yàn)證、承諾的有效性烙无、見證的有效性等環(huán)節(jié)毫捣。裝載好的電路可以通過非交互零知識(shí)證明(NIZK)生成一個(gè)Proof详拙,通過提交這個(gè)Proof,可以在隱藏大量細(xì)節(jié)信息的情況下蔓同,讓節(jié)點(diǎn)對(duì)電路中裝載的各種參數(shù)和約束進(jìn)行驗(yàn)證饶辙。

6、執(zhí)行步驟

A. 計(jì)算

用戶采用賬戶牌柄、見證系統(tǒng)提供的信息畸悬,并根據(jù)當(dāng)前所需的計(jì)算,提供輸入數(shù)據(jù)珊佣,然后在鏈下運(yùn)行計(jì)算規(guī)則得到結(jié)果RESULT蹋宦。

RESULT = COMPUTE(METHOD, ACCOUNT, DATA, WITENESS)

B. 證明

用戶用計(jì)算得到的結(jié)果RESULT,加上隨機(jī)數(shù)r咒锻,封裝為交易STX冷冗,提交給節(jié)點(diǎn)。交易STX包含校驗(yàn)數(shù)據(jù)(Ci)惑艇,結(jié)果編碼數(shù)據(jù)(Ei)和證明數(shù)據(jù)(Pi)蒿辙。

STX = PROVE(RESULT, r)

STX = ((C0, C1,…Cn), (E0, E1,…En), (P0, P1,…Pn))

C. 校驗(yàn)

節(jié)點(diǎn)收到交易STX后,將Ci在見證系統(tǒng)和證明系統(tǒng)中進(jìn)行確認(rèn)滨巴,驗(yàn)證通過后思灌,節(jié)點(diǎn)接受STX恭取。

RETi = VERIFYi(Ci)

Check = RET0 & RET1 … & RETn

D. 確認(rèn)

資產(chǎn)接收方在同步得到驗(yàn)證的交易STX后调塌,利用自己的私鑰將結(jié)果編碼數(shù)據(jù)Ei解碼成明文數(shù)據(jù)Di唉擂,并將明文數(shù)據(jù)Di和證明數(shù)據(jù)Pi輸入證明系統(tǒng)中進(jìn)行校驗(yàn)屿聋,成功則說明交易是真實(shí)的撮慨。真實(shí)的交易如果被n個(gè)區(qū)塊進(jìn)行了確認(rèn),那么交易的接收方可以認(rèn)為這筆交易已經(jīng)確認(rèn)培慌。

Di = FETCHi(Ei, ACCOUNT)

RETi = CONFIRMi(Di, Pi)

Check = RET0 & RET1 … & RETn

需要說明的是,SERO的執(zhí)行步驟是開放式的进胯,也就是說這樣的步驟和參數(shù)的抽象描述用爪,可以支持后續(xù)不斷升級(jí),后續(xù)的功能加入對(duì)整體架構(gòu)的影響比較小胁镐。

三偎血、Super-ZK,世界最快的零知識(shí)證明生成速度的實(shí)現(xiàn)方案

對(duì)于采用非交互式零知識(shí)證明(NIZK)方案的區(qū)塊鏈系統(tǒng)盯漂,目前最大的應(yīng)用瓶頸就是交易時(shí)生成證明(Proofs)的時(shí)間太長颇玷,SERO系統(tǒng)的零知識(shí)證明模塊Super-ZK,針對(duì)這一瓶頸就缆,做了以下突破性創(chuàng)新帖渠。

1、當(dāng)前我們采用zk-SNARKs框架生成NIZK竭宰,采用其中的ALT_BN128曲線和Groth16預(yù)處理過程空郊,這個(gè)過程比Zcash的PGHR13預(yù)處理方案減少1/3的運(yùn)算時(shí)間。雖然zk-SNARKs框架需要信用安裝過程切揭,但SERO的實(shí)現(xiàn)方式中不會(huì)動(dòng)態(tài)構(gòu)造計(jì)算電路狞甚,因此,在當(dāng)前所有場(chǎng)景下廓旬,zk-SNARKs框架能滿足SERO的需求哼审。

2、我們創(chuàng)新性采用自己編寫的一種Twisted Edwards曲線以取代SHA256哈希生成公鑰孕豹,Pedersen hash進(jìn)行Merkle樹的生成涩盾,這樣可以提升4倍以上交易生成速度。

3巩步、相比于Zcash雙路輸入和輸出的電路構(gòu)造結(jié)構(gòu)旁赊,SERO采用單路輸入和輸出結(jié)構(gòu),每個(gè)描述之間采用資產(chǎn)通道進(jìn)行鏈接椅野,這樣的電路構(gòu)造更加復(fù)雜终畅,但是在多核CPU情況下,相比于Zcash有更高的執(zhí)行效率竟闪。

4离福、Super-ZK的部分代碼由匯編語言進(jìn)行編寫,相比于Zcash的C++實(shí)現(xiàn)炼蛤,有更高的代碼執(zhí)行效率妖爷。

綜合以上優(yōu)化,在交易證明生成速度上,我們相比于Zcash有20倍以上的速度提高絮识,極大的提高了NIZK系統(tǒng)的適用性绿聘。

四、SERO支持智能合約發(fā)行和操作匿名資產(chǎn)原理

1次舌、區(qū)塊鏈賬本的UXTO和ACCOUNT模式

區(qū)塊鏈?zhǔn)欠植际劫~本熄攘,賬本的最小單位是記錄,每一筆賬記錄資產(chǎn)的流入和流出彼念,根據(jù)資產(chǎn)流出記錄方式不同挪圾,有兩種不同的記賬實(shí)現(xiàn),分別為UTXO模式和ACCOUNT模式逐沙,這兩種模式分別對(duì)應(yīng)比特幣和以太坊的模式哲思。

UTXO的特點(diǎn)是:

  • UTXO模式每筆交易是相互獨(dú)立的,這意味著只要能處理好雙花的問題吩案,一個(gè)賬戶下的交易都可以進(jìn)行并行處理棚赔,能充分利用多核CPU的能力。

  • UTXO本質(zhì)上來說是基于歷史的記錄形式务热,即是過程忆嗜,也是結(jié)果,因此在一些需要生成見證證明的應(yīng)用場(chǎng)合下崎岂,具有非常大的優(yōu)勢(shì)捆毫,這也是為什么現(xiàn)在的匿名幣區(qū)塊鏈系統(tǒng)基本都是UTXO模式。

ACCOUNT模式的特點(diǎn)是:

  • ACCOUNT模式直接增減一個(gè)獨(dú)立賬戶的資產(chǎn)冲甘,只需要一個(gè)記錄就可以增減一個(gè)賬戶的任意數(shù)量的資產(chǎn)绩卤。因此,生成記錄大小比同樣情況下UTXO生成的記錄要小很多江醇。

  • ACCOUNT模式本質(zhì)上是基于狀態(tài)的濒憋,輸入和輸出是過程,account是結(jié)果陶夜,因此它天然就很容易把圖靈機(jī)引入進(jìn)來凛驮,這也是為什么支持圖靈完備智能合約的區(qū)塊鏈系統(tǒng)多采用ACCOUNT模式的原因。

ACCOUNT模式

2条辟、SERO獨(dú)特的混合模式

SERO將UTXO和ACCOUNT模式混合應(yīng)用黔夭,在隱私保護(hù)的計(jì)算層采用UTXO模式,同時(shí)可以映射邏輯上等價(jià)的ACCOUNT模式以支持圖靈完備的智能合約虛擬機(jī)的運(yùn)行羽嫡。SERO通過交易本姥、共識(shí)、以及Pedersen Commitment算法杭棵,將兩種模式無縫結(jié)合到一起婚惫,使智能合約能發(fā)揮出令人驚訝的能力。

3、支持智能合約匿名交易的結(jié)構(gòu)

A先舷、交易

SERO的匿名交易Tx擁有一個(gè)匿名的輸入集合“Z ins”艰管,一個(gè)匿名的輸出集合“Z outs”,一個(gè)普通的輸出集合“O outs”和一個(gè)名為“From”的暫存地址密浑⊥苡ぃ“Z ins”是完全匿名的,讓第三方觀察者無法得知來源和內(nèi)容尔破,“Z outs”是完全匿名的UTXO,只有接受者能查看和使用它的內(nèi)容浇衬,“O outs”攜帶的內(nèi)容是非隱藏的懒构,它指向的接受者有兩種情況:一種是指向智能合約地址,一種是指向一個(gè)暫存地址耘擂。From代表交易的發(fā)送者胆剧,同樣也是一個(gè)暫存地址。因此整個(gè)Tx無法讓人確定真實(shí)的用戶是誰醉冤,其中攜帶的資產(chǎn)信息也被最大程度隱藏起來秩霍。

B、“Z ins”輸入

在SERO交易的輸入集合“Z ins”中蚁阳,每個(gè)輸入都是匿名的铃绒,包括來源“UTXO”的Id以及其攜帶的資產(chǎn)信息。每個(gè)輸入都通過零知識(shí)證明生成的Proofs螺捐,指向一個(gè)被隱藏在巨大UTXO序列中的特定某個(gè)UTXO颠悬,這個(gè)序列是SERO歷史的一部分,所有細(xì)節(jié)都被Proofs隱藏起來定血,驗(yàn)證者在不知細(xì)節(jié)的情況下赔癌,通過Proofs能確認(rèn)這個(gè)輸入是否合法。

C澜沟、“Z outs”輸出和“O outs”輸出

“Z out”指向暫存地址PKr灾票,暫存地址只有接受者能解密出身份。由于每個(gè)暫存地址都不一樣茫虽,所以沒有第三方能識(shí)別“Z out”的指向刊苍。“Z out”還攜帶了資產(chǎn)的加密信息“Encrypt Info”席噩,只有持有接受者私鑰的人才能解密這些信息班缰。而OutCM是輸出承諾,只有交易雙方才能復(fù)現(xiàn)OutCM的計(jì)算過程悼枢〔和“OutCM”在證明“Z out”被“ins”引用這一過程中起到關(guān)鍵的作用。

“O out”指向的PKr有兩種形式,一種是由智能合約發(fā)起的莹妒,指向普通賬戶的暫存地址名船。另一種是由普通賬戶發(fā)起的,指向智能合約的地址旨怠。由于暫存地址的隨機(jī)性渠驼,第三方無法得知接受者的身份。

D鉴腻、輸入和輸出的平衡——“Balance”

Tx將“ins”迷扇、“Z outs”、“O outs”打包到一起爽哎,我們使用Perdesen Commitment來防止惡意攻擊者篡改里面的數(shù)據(jù)并確保資產(chǎn)的安全蜓席,它的同態(tài)加密特性使驗(yàn)證者在不知道信息細(xì)節(jié)的情況下,可以確認(rèn)Balance一定是平衡的课锌,即輸入等于輸出厨内。

另外,為了防止惡意攻擊者對(duì)“O outs”的篡改渺贤,我們使用Perdesen Commitment的隨機(jī)特性雏胃,以“Balance”的隨機(jī)部分對(duì)“Tx Hash”進(jìn)行簽名。這樣志鞍,每個(gè)輸入和輸出都可以獨(dú)立進(jìn)行計(jì)算瞭亮,并通過“B Sign”打包到一起。

E述雾、交易發(fā)送者“From”

當(dāng)交易的輸出是指向智能合約時(shí)街州,某些情況下的智能合約會(huì)根據(jù)編寫的規(guī)則,把資源輸出到給定的賬戶玻孟。這時(shí)暫存地址“From”就是承接輸出資源的地方唆缴。“From”在交易生成的時(shí)候就被確定黍翎,并且只使用一次面徽,除了交易發(fā)送者外,其他人無法定位發(fā)送者的身份匣掸。

F趟紊、匿名Token的發(fā)行

Token又被稱為“同質(zhì)化通證”,是SERO系統(tǒng)內(nèi)部的一種資產(chǎn)形式碰酝,相同種類的Token可以任意的分割和混合霎匈。SERO系統(tǒng)上的Token和以太坊Token不同。SERO幣作為SERO系統(tǒng)的第一個(gè)幣種送爸,本質(zhì)上也是一種Token铛嘱。對(duì)于Token資產(chǎn)暖释,除了手續(xù)費(fèi)規(guī)定只能以SERO幣繳納外,在SERO系統(tǒng)內(nèi)部是同一對(duì)待的墨吓,具有相同的基于零知識(shí)證明的安全性球匕。匿名Token可以使用SERO的智能合約任意發(fā)行,一旦匿名Token發(fā)行成功帖烘,智能合約可以將Token以普通交易的形式發(fā)送到某個(gè)賬戶的暫存地址PKr亮曹,這時(shí)這些被發(fā)送的Token將以UTXO的形式脫離智能合約賬戶,并且與SERO幣一樣秘症,進(jìn)入用戶的個(gè)人賬戶中照卦,從而被SERO的零知識(shí)證明隱私機(jī)制所保護(hù)。

G乡摹、SERO系統(tǒng)對(duì)非同質(zhì)資產(chǎn)(Ticket)的支持

Ticket又被稱為“非同質(zhì)化通證”窄瘟,是SERO系統(tǒng)內(nèi)部的另一種內(nèi)涵更為廣泛的資產(chǎn)形式。Ticket和Token不同趟卸,是一種不可分割的,具有個(gè)體唯一性的通證形式氏义。和Token一樣锄列,SERO對(duì)Ticket同樣提供了匿名性的支持。當(dāng)匿名Ticket發(fā)行后惯悠,智能合約將表現(xiàn)為ID形式的Ticket的以普通交易的形式發(fā)送到某個(gè)賬戶的暫存地址PKr邻邮,這些Ticket將會(huì)以UTXO的形式脫離智能合約賬戶,以和SERO幣以及Token類似的機(jī)制克婶,被SERO的零知識(shí)證明隱私機(jī)制所保護(hù)筒严。

Ticket是一個(gè)256Byte的數(shù)字,可以指向在智能合約中保存的復(fù)雜的數(shù)據(jù)構(gòu)造情萤,因此可以適合復(fù)雜業(yè)務(wù)場(chǎng)景的構(gòu)建鸭蛙。Ticket所指向的數(shù)據(jù)結(jié)構(gòu)的簡明示例如上圖,Asset是資產(chǎn)的數(shù)據(jù)結(jié)構(gòu)筋岛,這個(gè)資產(chǎn)的數(shù)據(jù)結(jié)構(gòu)可以是SERO幣娶视,Token或者是Ticket,因?yàn)門icket的對(duì)數(shù)據(jù)的指向性睁宰,所以這種結(jié)構(gòu)可以支持無限的嵌套肪获,組成符合業(yè)務(wù)需求復(fù)雜的資產(chǎn)結(jié)構(gòu)。Data可以保存除資產(chǎn)外的其它數(shù)據(jù)結(jié)構(gòu)編碼而成的數(shù)據(jù)柒傻,這個(gè)數(shù)據(jù)代表的數(shù)據(jù)結(jié)構(gòu)也是可以嵌套的孝赫。Package保存的是用戶用一個(gè)密鑰編碼后的資產(chǎn)或數(shù)據(jù)。利用Ticket功能红符,開發(fā)者完全可以把加密貓這類復(fù)雜的游戲應(yīng)用改造成匿名版本的實(shí)現(xiàn)青柄。

H伐债、SERO系統(tǒng)對(duì)加密的資產(chǎn)或數(shù)據(jù)包(Package)的支持

在以數(shù)據(jù)為中心的應(yīng)用中,這些數(shù)據(jù)包括時(shí)間戳刹前、高價(jià)值的數(shù)據(jù)存儲(chǔ)泳赋、各類證明數(shù)據(jù)或密碼串、資產(chǎn)數(shù)據(jù)等等喇喉,比如類似醫(yī)療數(shù)據(jù)等高度隱私性的數(shù)據(jù)祖今。這些應(yīng)用如果用區(qū)塊鏈來實(shí)現(xiàn),并由智能合約來輸入和輸出拣技,會(huì)遇到了明文數(shù)據(jù)的暴露問題千诬。SERO也提供了相應(yīng)的數(shù)據(jù)保護(hù)技術(shù),讓這些明文數(shù)據(jù)的暴露由用戶自己來控制膏斤,這種技術(shù)叫Package徐绑。當(dāng)前版本的Package應(yīng)用了對(duì)稱性加密技術(shù)ChaCha20,加解密速度很快并且非常安全莫辨。用戶可以在客戶端打包Package傲茄,并得到相應(yīng)的密鑰,打包之后沮榜,這個(gè)Package可以進(jìn)行匿名轉(zhuǎn)移盘榨,或者輸入到智能合約中進(jìn)行相應(yīng)的邏輯操作,在此過程中蟆融,這個(gè)加密Package里的內(nèi)容都是不可被破解的草巡。當(dāng)需要解密時(shí),用戶可以根據(jù)自己的情況型酥,私下把密鑰轉(zhuǎn)移給關(guān)聯(lián)方山憨,讓關(guān)聯(lián)方使用密鑰解密出相關(guān)的資產(chǎn)和數(shù)據(jù)。

SERO幣弥喉、Token郁竟、Ticket、Pagkage這四種類型的資產(chǎn)共同組成了SERO系統(tǒng)匿名資產(chǎn)的生態(tài)档桃,這幾種資產(chǎn)類型都在一套編碼體系內(nèi)完美的融合枪孩,結(jié)合SERO系統(tǒng)的圖靈完備的智能合約對(duì)這些資產(chǎn)的編程,開發(fā)者可以開創(chuàng)性得在鏈上實(shí)現(xiàn)在之前系統(tǒng)上無法實(shí)現(xiàn)的各種隱私保護(hù)相關(guān)的DApp藻肄,適用于各類隱私保護(hù)領(lǐng)域的業(yè)務(wù)需求的實(shí)施蔑舞。

七、SERO適用的場(chǎng)景

隱私保護(hù)是現(xiàn)實(shí)世界中個(gè)人與組織都存在的強(qiáng)烈需求嘹屯。SERO支持圖靈完備的智能合約和各類相關(guān)隱私組件攻询,能支持不同經(jīng)濟(jì)生態(tài)的拓展。由SERO系統(tǒng)開始州弟,匿名資產(chǎn)的發(fā)行和掌控權(quán)將不再為少數(shù)對(duì)密碼學(xué)有深厚造詣的極客組織所獨(dú)享钧栖,普通開發(fā)者低零,只要有相關(guān)業(yè)務(wù)需求,都可以在SERO鏈上發(fā)行自己的匿名資產(chǎn)拯杠,建立自己的隱私生態(tài)掏婶,這極大拓展了區(qū)塊鏈隱私保護(hù)相關(guān)技術(shù)的適用范圍。下面列舉幾個(gè)典型的使用場(chǎng)景:

A潭陪、供應(yīng)鏈體系

區(qū)塊鏈可以解決供應(yīng)鏈體系上下游交易憑證和溯源的難題雄妥,簡化了供應(yīng)鏈中心企業(yè)管理的難度并給上下游企業(yè)的融資提供了相應(yīng)的解決方案。但是依溯,價(jià)格老厌、貨物等敏感數(shù)據(jù),上鏈的話又面臨泄露商業(yè)機(jī)密的難題黎炉。而利用SERO系統(tǒng)枝秤,可以完全解決商業(yè)機(jī)密暴露的難題,同時(shí)慷嗜,又讓參與各方享受到應(yīng)用區(qū)塊鏈系統(tǒng)所帶來效益提升淀弹。

B、醫(yī)療健康

在醫(yī)療健康相關(guān)行業(yè)庆械,數(shù)據(jù)隱私體現(xiàn)于方方面面垦页,從個(gè)人病例到醫(yī)療記錄,面向多角色的隱私保護(hù)和授權(quán)機(jī)制需要十分靈活和安全的隱私保護(hù)能力干奢,涉及到醫(yī)院、患者盏袄、保險(xiǎn)公司忿峻、醫(yī)藥公司等,數(shù)據(jù)隱私的保護(hù)和限制授權(quán)使用顯得尤為重要辕羽。SERO系統(tǒng)逛尚,可以解決患者和醫(yī)院面臨隱私問題,同時(shí)也為保險(xiǎn)公司和醫(yī)藥公司安全合規(guī)并且在患者許可的情況下使用相關(guān)數(shù)據(jù)打開了通道刁愿。

C绰寞、在線競(jìng)拍

在諸多追求公平的在線競(jìng)拍業(yè)務(wù)中,出價(jià)的私密性是非常重要的铣口,但在利益的驅(qū)使下往往難以做到滤钱,而SERO可以提供一個(gè)完全安全、獨(dú)立脑题、公平的競(jìng)價(jià)環(huán)境件缸。

D、在線預(yù)測(cè)相關(guān)行業(yè)

在線博彩業(yè)的發(fā)展一直以來都受到中心化機(jī)制的制約叔遂,在這個(gè)巨大的現(xiàn)金流行業(yè)中他炊,非常需要一個(gè)能夠提供多人出價(jià)争剿、支付、結(jié)算的去中心化智能合約體系痊末,SERO系統(tǒng)能完全支持這類業(yè)務(wù)蚕苇。

E、游戲

大型的游戲往往需要一個(gè)易于流通凿叠、交易和結(jié)算的貨幣體系涩笤,并能基于智能合約發(fā)行和流通,同時(shí)還要兼顧交易的隱私保護(hù)幔嫂。而目前SERO是唯一能做到多貨幣體系能基于同一智能合約體系發(fā)行和流通辆它,且兼顧交易隱私的技術(shù)方案。

還有更多的涉及資產(chǎn)數(shù)字化履恩,又涉及數(shù)字資產(chǎn)隱私敏感的行業(yè)锰茉,如保險(xiǎn)行業(yè)、數(shù)字貴金屬交易切心、期貨交易飒筑、數(shù)字資產(chǎn)交易(如征信和知識(shí)產(chǎn)權(quán)等)、信貸行業(yè)等绽昏。在這些領(lǐng)域协屡,SERO系統(tǒng)都大有用武之地。

八全谤、SERO相關(guān)鏈接

官網(wǎng):https://sero.cash

白皮書 V1.0.6: http://sero-media.s3-website-ap-southeast-1.amazonaws.com/Sero_ENG_V1.06.pdf

Twitter:https://twitter.com/SEROdotCASH

Telegram: https://t.me/SeroOfficial](https://t.me/SeroOfficial

Github: https://github.com/sero-cash/go-sero

Gitter Community:<u>https://gitter.im/sero-cash/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link</u>

SERO區(qū)塊瀏覽器: <u>https://explorer.web.sero.cash/blocks.html</u>

SERO智能合約編輯器:https://remix.web.sero.cash/

SERO介紹視頻:<u>https://v.qq.com/x/page/s0792e921ok.html</u>

SERO vs Zcash加密速度對(duì)比:https://v.qq.com/x/page/r0796jotef8.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肤晓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子认然,更是在濱河造成了極大的恐慌补憾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卷员,死亡現(xiàn)場(chǎng)離奇詭異盈匾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)毕骡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門削饵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人未巫,你說我怎么就攤上這事窿撬。” “怎么了叙凡?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵尤仍,是天一觀的道長。 經(jīng)常有香客問我狭姨,道長宰啦,這世上最難降的妖魔是什么苏遥? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮赡模,結(jié)果婚禮上田炭,老公的妹妹穿的比我還像新娘。我一直安慰自己漓柑,他們只是感情好教硫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辆布,像睡著了一般瞬矩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锋玲,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天景用,我揣著相機(jī)與錄音,去河邊找鬼惭蹂。 笑死伞插,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的盾碗。 我是一名探鬼主播媚污,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼廷雅!你這毒婦竟也來了耗美?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤航缀,失蹤者是張志新(化名)和其女友劉穎幽歼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谬盐,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年诚些,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了飞傀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诬烹,死狀恐怖砸烦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绞吁,我是刑警寧澤幢痘,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站家破,受9級(jí)特大地震影響颜说,放射性物質(zhì)發(fā)生泄漏购岗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一门粪、第九天 我趴在偏房一處隱蔽的房頂上張望喊积。 院中可真熱鬧,春花似錦玄妈、人聲如沸乾吻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绎签。三九已至,卻和暖如春酝锅,著一層夾襖步出監(jiān)牢的瞬間诡必,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工屈张, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留擒权,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓阁谆,卻偏偏與公主長得像碳抄,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子场绿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容