一個(gè)和橢圓曲線加密技術(shù)具有相同元素的Mimblewimble技術(shù)解析
橢圓曲線加密是區(qū)塊鏈的基礎(chǔ)技術(shù)之一,而Mimblewimble是對(duì)它的優(yōu)雅應(yīng)用,它使用Pedersen commitment實(shí)現(xiàn)完全保密交易,并消除了對(duì)地址和私鑰的依賴。同時(shí),它與Bulletproofs相結(jié)合,帶來(lái)了更輕量的匿名和隱私,這對(duì)于物聯(lián)網(wǎng)同時(shí)實(shí)現(xiàn)擴(kuò)展性和隱私保護(hù)來(lái)說(shuō)有重要的意義。
2017年和18年主要關(guān)注可擴(kuò)展性的話題。各種分叉和項(xiàng)目都把“擴(kuò)展性”作為他們專屬的口頭禪。這場(chǎng)辯論給我們帶來(lái)了解決方案,并向我們表明,當(dāng)和未來(lái)的計(jì)劃結(jié)合在一起的時(shí)候,就可以滿足當(dāng)前的需求。未來(lái)幾年的重點(diǎn)將是匿名性和同質(zhì)性的大規(guī)模采用。
在快速發(fā)展的互聯(lián)數(shù)據(jù)世界中,隱私正成為一個(gè)非常重要的話題。事實(shí)上,我們將隱私權(quán)委托給中心化的公司,其安全性通過(guò)你的密碼強(qiáng)度以及攻擊者破解密碼需要付出的努力來(lái)保證。隨著我們進(jìn)入互聯(lián)網(wǎng)的新時(shí)代,所有東西都是相互連接的,無(wú)須中介的信任和加密隱私必須成為其所依賴一切的基礎(chǔ)。在未來(lái),面臨風(fēng)險(xiǎn)的不僅僅是照片和信用卡號(hào)碼,而是你與之交互的一切,以及它所收集的數(shù)據(jù)。
如果目標(biāo)是在一個(gè)去中心化和無(wú)須中介信任的網(wǎng)絡(luò)中做到這一點(diǎn),那么面臨的挑戰(zhàn)將是找到一系列適用性的解決方案,這些解決方案具有生態(tài)系統(tǒng)的多樣性并能匹配所預(yù)測(cè)的規(guī)模。了解到這一點(diǎn),INT已經(jīng)開始研究如何在其網(wǎng)絡(luò)中實(shí)施兩種不同的隱私協(xié)議,以及搞定物聯(lián)網(wǎng)的兩個(gè)主要需求:可擴(kuò)展的隱私交易和隱私智能合約。
Mimblewimble
Mimblewimble是和橢圓曲線加密技術(shù)具有相同元素的一種全新的實(shí)現(xiàn),后者是大多數(shù)加密貨幣的基礎(chǔ)。
2016年8月,在bitcoin-wizards IRC頻道,一位匿名用戶發(fā)布了一個(gè)白皮書的Tor鏈接,聲稱它是“一種改進(jìn)比特幣隱私的想法”。緊接著是一個(gè)區(qū)塊鏈提案,它使用的交易結(jié)構(gòu)與今天看到的任何方案都完全不同,創(chuàng)造了迄今為止看到的橢圓曲線加密技術(shù)最優(yōu)雅的用途之一。
雖然發(fā)布的白皮書足以闡述支持該理論的想法和推理,但它不包含明確的數(shù)學(xué)或者安全性分析。Blockstream的數(shù)學(xué)家兼研究總監(jiān)Andrew Poelstra立即開始分析它的價(jià)值,在接下來(lái)的兩個(gè)月里,他創(chuàng)建了一份詳細(xì)的白皮書,概述了創(chuàng)建獨(dú)立區(qū)塊鏈所涉及的密碼學(xué)、基本定理和協(xié)議。
作為一個(gè)協(xié)議,它所要做的是完全隱藏交易中的值,并消除對(duì)地址的需求,同時(shí)解決擴(kuò)展性問(wèn)題。
保密交易
假設(shè)你想隱藏發(fā)送的金額。一個(gè)眾所周知而且快速的隱藏信息的好方法:哈希!哈希允許你確定性地生成一個(gè)長(zhǎng)度恒定的隨機(jī)字符串,而不用管輸入的長(zhǎng)度,并且不可逆轉(zhuǎn)。然后我們可以對(duì)金額進(jìn)行哈希并在交易中把它發(fā)送出去。
X = SHA256(amount)
或者
4A44DC15364204A80FE80E9039455CC1608281820FE2B24F1E5233ADE6AF1DD5 = SHA256(10)
但是由于哈希是確定性的,有人會(huì)把所有可能金額的哈希編成一個(gè)目錄,這樣就無(wú)法達(dá)到隱藏的目的了。所以,我們不只是對(duì)金額進(jìn)行哈希,而是先用一個(gè)私有的盲因子乘以金額。如果保持盲因子私有,就無(wú)法知道哈希中的金額。
X = SHA256(blinding factor * amount)
這被稱為承諾(commitment),你承諾一個(gè)值而不去透露它,并且在不更改承諾的結(jié)果值的情況下,它是無(wú)法更改的。
但是,節(jié)點(diǎn)如何使用這種承諾方式來(lái)驗(yàn)證交易呢?最起碼,需要證明你滿足兩個(gè)條件:一是你有足夠的幣,二是你沒有在這個(gè)過(guò)程中造幣。大多數(shù)協(xié)議驗(yàn)證這一點(diǎn)的方法是消耗之前的一個(gè)(或多個(gè))輸入交易,并且在該過(guò)程中創(chuàng)建不超過(guò)輸入總和的輸出。如果我們對(duì)這些值進(jìn)行哈希,而沒有辦法驗(yàn)證這種情況,那么就可以憑空造幣。
input(commit(bf,10), Alice) -》 output(commit(bf,9), BOB), outputchange(commit(bf,5), Alice)
Or
input(4A44DC15364204A80FE80E9039455CC1608281820FE2B24F1E5233ADE6AF1DD5, Alice) -》
output(19581E27DE7CED00FF1CE50B2047E7A567C76B1CBAEBABE5EF03F7C3017BB5B7, Bob)
output(EF2D127DE37B942BAAD06145E54B0C619A1F22327B2EBBCFBEC78F5564AFE39D, Alice)
如上圖所示,后面的進(jìn)行哈希過(guò)的值看起來(lái)和其他內(nèi)容一樣有效,卻導(dǎo)致Alice創(chuàng)造了4個(gè)幣作為交易找零。在任何交易中,輸入之和必須等于輸出之和。我們需要某種方法對(duì)這些進(jìn)行哈希過(guò)的值進(jìn)行數(shù)學(xué)運(yùn)算,以證明:
commit(bf1,x) = commit(bf2,y1) + commit(bf3,y2)
如果是有效的交易,則:
commit(bf1,x) - commit(bf2+bf3,y1+y2) = commit(bf1-(bf2+bf3),0)
或者僅僅是剩下的盲因子的承諾。
由于哈希算法的特性,這是不可能實(shí)現(xiàn)的。為了驗(yàn)證這一點(diǎn),我們必須公開所有的盲因子和金額。但是這樣做,就沒有秘密可言了。那么,我們?nèi)绾尾拍芄_一個(gè)由私有值生成的值,既不能逆向推導(dǎo)私有值,又仍然能驗(yàn)證它滿足某些條件?聽起來(lái)有點(diǎn)像公鑰和私鑰加密…
我們?cè)跈E圓曲線密碼學(xué)入門中學(xué)到的是,通過(guò)使用橢圓曲線來(lái)定義我們的數(shù)字空間,可以使用曲線上的一個(gè)點(diǎn)G,將其乘以任意數(shù)字x,得到的是同一曲線上的另一個(gè)有效點(diǎn)P。這個(gè)計(jì)算是很快的,但是根據(jù)結(jié)果點(diǎn)和公開的生成元點(diǎn)G,幾乎不可能計(jì)算出使用了什么乘數(shù)。這樣我們就可以用點(diǎn)P作為公鑰,數(shù)字x作為私鑰。有趣的是,它們還具有可加和可溝通的奇妙特性。
如果取點(diǎn)P等于x ? G,點(diǎn)Q等于y ? G,它們相加的結(jié)果點(diǎn)W=P+Q等于用數(shù)字組合x+y創(chuàng)建的一個(gè)新點(diǎn):
這個(gè)性質(zhì)稱為同態(tài),允許我們用我們不知道的數(shù)字做數(shù)學(xué)運(yùn)算。
因此,如果在承諾中不使用原始的金額和盲因子,而是將它們乘以橢圓曲線上的已知生成元點(diǎn),我們的承諾現(xiàn)在可以定義為:
這被稱為Pedersen承諾,是所有保密交易的核心。
我們把盲因子稱為r,金額稱為v,并使用同一橢圓曲線上的生成元點(diǎn)H和G(不深入討論Schnorr簽名,出于驗(yàn)證的目的,我們只接受在盲因子和金額的承諾中使用兩個(gè)不同的點(diǎn))。代入我們之前的承諾中:
而私鑰則是盲因子之間的差值。
所以,如果輸入之和減去輸出之和在曲線上產(chǎn)生了一個(gè)有效的公鑰,則表明這些值已經(jīng)平衡到了零,并且沒有幣被創(chuàng)造出來(lái)。如果結(jié)果差值不是這種形式:
對(duì)于某個(gè)剩余盲因子,它將不是曲線上的有效公鑰,我們會(huì)知道它不是一個(gè)平衡的交易。為了證明這一點(diǎn),用這個(gè)公鑰對(duì)交易進(jìn)行簽名以證明交易是平衡的,并且所有的盲因子都是已知的,在這個(gè)過(guò)程中,沒有泄露交易的任何信息。
以上所有的討論都假設(shè)這些數(shù)字是正的。使用負(fù)數(shù)同樣可以創(chuàng)建一個(gè)有效的平衡的交易,允許用戶在每筆交易中創(chuàng)造新幣。這被稱為范圍證明,每筆交易必須伴隨一個(gè)零知識(shí)論證以證明私有承諾值位于預(yù)定的取值范圍內(nèi)。
Mimblewimble和Monero都使用了Bullet Proofs,這是一種新的計(jì)算證明的方法,它將交易的大小減少了80-90%。
(當(dāng)前網(wǎng)絡(luò)中看到的平均交易大小,假設(shè)MW的交易大小平均是2個(gè)輸入2.5個(gè)輸出)
到目前為止,所描述的協(xié)議在Mimblewimble和Monero之間或多或少是相同的。差異點(diǎn)是如何對(duì)交易進(jìn)行簽名。
在Monero中,有兩組密鑰/地址,即支付密鑰和查看密鑰。支付密鑰用于生成簽名交易,而查看密鑰用于“接收”交易。交易是用一種被稱為環(huán)簽名的方法進(jìn)行簽名的,該簽名由花費(fèi)的輸出產(chǎn)生,證明密鑰組中的一個(gè)密鑰擁有支付密鑰。這是通過(guò)使用你的私鑰創(chuàng)建一個(gè)組合的Schnorr簽名,以及使用以前交易的公鑰創(chuàng)建的混合誘餌簽名者來(lái)完成。這些誘餌簽名者在數(shù)學(xué)上都是等效的,從而導(dǎo)致無(wú)法確定哪個(gè)是真正的簽名者。由于Monero使用了上面提到的Pedersen承諾,因此這些地址從不公開可見,僅用于索賠、交易簽名和產(chǎn)生盲因子。
另一方面,Mimblewimble不使用任何類型的地址。沒錯(cuò),沒有地址。這是協(xié)議的真正亮點(diǎn)。Jedusor證明了Pedersen承諾和對(duì)零承諾中的盲因子可以作為一次性公鑰/私鑰對(duì)來(lái)創(chuàng)建和簽名交易。
使用橢圓曲線加密的所有基于地址的協(xié)議都以基本相同的方式生成公鑰-私鑰對(duì)。通過(guò)將一個(gè)非常大的隨機(jī)數(shù)(k_priv)乘以橢圓曲線上的一個(gè)點(diǎn)(G),其結(jié)果(K_pub)是同一曲線上的另一個(gè)有效點(diǎn)。
這是所有地址生成的核心??雌饋?lái)熟悉嗎?
回憶一下上面的承諾:
每個(gè)盲因子乘以生成元點(diǎn)G(紅色)就是它!r?G是私鑰r的公鑰!因此,我們可以使用這些盲因子來(lái)構(gòu)建簽名以證明我們擁有輸入和輸出,而不是使用地址。
這種看似微小的變化消除了地址的關(guān)聯(lián)性以及對(duì)使用scriptSig過(guò)程來(lái)檢查簽名有效性的需求,大大簡(jiǎn)化了保密交易的結(jié)構(gòu)和大小。當(dāng)然,這意味著(此時(shí))交易過(guò)程需要各方之間的交互來(lái)創(chuàng)建簽名。
CoinJoin
盡管所有地址和金額現(xiàn)在都隱藏起來(lái)了,但仍然有一些信息可以從交易中收集。在上面的交易格式中,仍然可以清楚地看到哪些輸出被消耗,交易產(chǎn)生了哪些輸出。這個(gè)“交易圖”可以揭示有關(guān)盲因子所有者的信息,并根據(jù)所看到的交易活動(dòng)構(gòu)建用戶畫像。為了進(jìn)一步隱藏和壓縮信息,Mimblewimble實(shí)現(xiàn)了來(lái)自Greg Maxwell的叫做CoinJoin 的想法,它最初是為比特幣開發(fā)的。
CoinJoin是一種將多個(gè)交易的多個(gè)輸入和輸出組合在一起的無(wú)信任方法,將它們連接到一個(gè)交易中。這樣做是為了掩蓋哪個(gè)發(fā)送者支付給哪個(gè)接收者。要在比特幣中實(shí)現(xiàn)這一點(diǎn),用戶或錢包必須進(jìn)行交互以加入相同數(shù)量的交易,這樣你就無(wú)法區(qū)分兩者。如果能夠在不共享私鑰的情況下組合簽名,那么就可以為許多交易(類似于環(huán)簽名)創(chuàng)建組合簽名,而不需要受到相同數(shù)量的約束。
(在這個(gè)CoinJoin交易中,3個(gè)地址擁有4個(gè)輸出,無(wú)法把地址和輸出關(guān)聯(lián)起來(lái))
在Mimblewimble中,對(duì)一個(gè)或多個(gè)交易執(zhí)行余額計(jì)算仍然可以得到有效的對(duì)零承諾。我們需要做的是為合并的交易創(chuàng)建一個(gè)組合簽名。Mimblewimble天生就能夠?yàn)檫@些使用Schnorr簽名構(gòu)造的承諾構(gòu)建組合簽名。使用“單向聚合簽名”(OWAS),節(jié)點(diǎn)可以在創(chuàng)建區(qū)塊的同時(shí)將交易組合為具有聚合簽名的單個(gè)交易。使用該方法,Mimblewimble將區(qū)塊級(jí)別的所有交易連接起來(lái),將每個(gè)區(qū)塊作為包含所有消耗的輸入和創(chuàng)建的輸出的一個(gè)大交易來(lái)創(chuàng)建。這同時(shí)模糊了交易圖,并且具有移除區(qū)塊內(nèi)消耗的中間交易的能力,減小了區(qū)塊的總大小和區(qū)塊鏈的大小。
切斷(Cut-through)
我們可以更進(jìn)一步。為了驗(yàn)證這個(gè)完全“連接”的區(qū)塊,節(jié)點(diǎn)將把所有的輸出承諾加在一起,然后減去所有的輸入承諾,并驗(yàn)證結(jié)果是否是有效的對(duì)零承諾。為什么我們只連接同一個(gè)區(qū)塊內(nèi)的交易呢?理論上,我們可以組合兩個(gè)區(qū)塊,刪除在這些塊中創(chuàng)建和使用的任何交易,結(jié)果還是一個(gè)有效的交易,它只包含未消耗的承諾,而沒有其他內(nèi)容。然后我們可以一路回到創(chuàng)世塊,將整個(gè)區(qū)塊鏈縮減到一個(gè)未消耗承諾的狀態(tài)。這被稱為切斷。
在執(zhí)行該操作時(shí),我們不需要保留已消耗輸出的范圍證明,它們已經(jīng)經(jīng)過(guò)了驗(yàn)證,可以丟棄。這將會(huì)導(dǎo)致區(qū)塊鏈增長(zhǎng)的大幅減少,將增長(zhǎng)從O*(交易數(shù)量)減少到O(未消耗輸出數(shù)量)。
為了說(shuō)明這一點(diǎn)的影響,讓我們?cè)O(shè)想一下,如果Mimblewimble從一開始就在比特幣網(wǎng)絡(luò)中實(shí)施,網(wǎng)絡(luò)位于576000高度,區(qū)塊鏈大約為210 GB,總交易量為413675000,總未花費(fèi)輸出量為55400000。在Mimblewimble中,交易輸出約為5 kB(包括范圍證明~5 kB和Pedersen承諾~33字節(jié)),交易輸入約為32字節(jié),交易證明約為105字節(jié)(對(duì)零承諾和簽名),區(qū)塊頭約為250字節(jié)(Merkle證明和PoW),非保密交易可以忽略不計(jì)。對(duì)于完全同步所有信息的區(qū)塊鏈來(lái)說(shuō),這意味著高達(dá)驚人的5.3 TB,其中“只有”279 GB是UTXOs。
當(dāng)我們執(zhí)行“切斷”時(shí),不希望丟失交易的所有歷史記錄,因此我們保留所有交易以及UTXO集合和所有區(qū)塊頭的證明。這將區(qū)塊鏈減小到322 GB,大小減少了94%。結(jié)果基本上是一個(gè)完全一致的狀態(tài),只有那些擁有完整歷史證明的未花費(fèi)承諾,大大減少了新節(jié)點(diǎn)的同步時(shí)間。
如果實(shí)現(xiàn)了Bulletproofs,范圍證明可以從5 kB減小到1 kB,從而將上例中的UTXO集合從279 GB縮減到57 GB。
(基于上面的假設(shè)和計(jì)算)
在具有明確最終性的PoS區(qū)塊鏈中也有一個(gè)有趣的含義。一旦獲得了最終性,或者在超過(guò)它的任意區(qū)塊鏈深度上,就不再需要保留范圍證明。這些交易已經(jīng)過(guò)驗(yàn)證,并在其之上構(gòu)建了共識(shí)狀態(tài),它們占據(jù)區(qū)塊鏈大小的絕大部分。
在這個(gè)例子中,最終性發(fā)生在100區(qū)塊深度上,并且假設(shè)UTXO集合的10%處于準(zhǔn)最終狀態(tài),這將使區(qū)塊鏈大小再減少250 GB,使得完全同步只需要73 GB,減少了98.6%(就算和當(dāng)前狀態(tài)相比也減少了65%)。想象一下吧。一個(gè)73 GB的區(qū)塊鏈,用于10年的完全匿名比特幣交易,是當(dāng)前區(qū)塊鏈大小的三分之一。
需要注意的是,切斷不會(huì)影響隱私或者安全性。每個(gè)節(jié)點(diǎn)可以選擇是否存儲(chǔ)整個(gè)鏈,而不執(zhí)行任何切斷操作,唯一的成本是增加了磁盤存儲(chǔ)需求。切斷純粹是一種可擴(kuò)展性功能,使得基于Mimblewimble的區(qū)塊鏈平均比比特幣小三倍,比Monero小十五倍(即使最近實(shí)現(xiàn)了Bulletproofs)。
這對(duì)物聯(lián)網(wǎng)來(lái)說(shuō)意味著什么?
物聯(lián)網(wǎng)網(wǎng)絡(luò)中的交易需要速度、能擴(kuò)展到巨大容量、適應(yīng)各種用途和設(shè)備,并能夠保持敏感信息的私密性。到目前為止,物聯(lián)網(wǎng)網(wǎng)絡(luò)只專注于擴(kuò)展,創(chuàng)建的網(wǎng)絡(luò)可以在不同程度的去中心化和不關(guān)注隱私的情況下進(jìn)行海量交易。如果沒有隱私,這些網(wǎng)絡(luò)只會(huì)讓那些使用它的人成為向攻擊者提供彈藥的目標(biāo)。
Mimblewimble革命性地使用橢圓曲線加密技術(shù)為我們帶來(lái)了一個(gè)隱私協(xié)議,它使用Pedersen承諾進(jìn)行完全保密交易,在這個(gè)過(guò)程中,消除了我們對(duì)地址和私鑰的依賴。該交易框架與Bulletproofs相結(jié)合,帶來(lái)了輕量級(jí)的隱私和匿名性,與Monero不相上下,如果充分使用“切斷”的話,區(qū)塊鏈大小可以減小15倍。這為滿足INT網(wǎng)絡(luò)可擴(kuò)展性要求的隱私交易提供了解決方案。
Grin和Beam這兩種不同的實(shí)時(shí)網(wǎng)絡(luò)中已經(jīng)實(shí)現(xiàn)了Mimblewimble協(xié)議。兩者都是純粹的交易型網(wǎng)絡(luò),專注于隱私和匿名的價(jià)值轉(zhuǎn)移。Grin采用了一種類似比特幣的方式,通過(guò)社區(qū)資助開發(fā),無(wú)預(yù)挖或者創(chuàng)始人獎(jiǎng)勵(lì),而Beam則以創(chuàng)業(yè)的心態(tài),利用風(fēng)險(xiǎn)投資資助開發(fā),高度重視用戶體驗(yàn)。
另一方面,INT正在研究在主鏈上實(shí)現(xiàn)該協(xié)議,所有INT資產(chǎn)轉(zhuǎn)移都以隱私的方式創(chuàng)建,或者作為可選的附加子鏈,允許用戶將他們的INT從非隱私鏈轉(zhuǎn)移到隱私鏈,反之亦然。
不足之處
協(xié)議的革新之處同時(shí)也是限制它的東西。幾乎所有協(xié)議,如比特幣、以太坊等,都使用基本的腳本語(yǔ)言,在實(shí)際交易數(shù)據(jù)中調(diào)用函數(shù),告訴驗(yàn)證者使用什么腳本來(lái)驗(yàn)證它。
在最簡(jiǎn)單的情況下,隨輸入提供的數(shù)據(jù)調(diào)用“scriptSig”,并提供兩部分?jǐn)?shù)據(jù),即與交易相匹配的簽名和證明你擁有對(duì)應(yīng)私鑰的公鑰。輸出腳本使用提供的數(shù)據(jù)及其傳遞的邏輯,向驗(yàn)證者顯示如何證明允許他們進(jìn)行消費(fèi)。使用提供的公鑰,驗(yàn)證者計(jì)算哈希并檢查是否與輸出中的公鑰哈希相同,如果相同,就可以確保提供的簽名與輸入簽名相匹配。
該驗(yàn)證協(xié)議允許一些有限的腳本能力,以便告訴驗(yàn)證者如何處理所提供的數(shù)據(jù)。比特幣網(wǎng)絡(luò)可以通過(guò)更新功能,使其適應(yīng)新的流程或數(shù)據(jù)。使用該方法,比特幣協(xié)議可以驗(yàn)證多個(gè)簽名,在定義的時(shí)間跨度內(nèi)鎖定交易,并執(zhí)行更復(fù)雜的操作,如在帳戶中鎖定比特幣,直到采取一些外部操作。
為了實(shí)現(xiàn)更廣泛適用的公開智能合約(如以太坊的智能合約),需要以非屏蔽的方式提供數(shù)據(jù)或者創(chuàng)建屏蔽證明來(lái)證明你滿足智能合約的條件。
在Mimblewimble中,由于使用了盲因子作為密鑰對(duì),大大簡(jiǎn)化了簽名驗(yàn)證過(guò)程,基本協(xié)議中沒有正常的編寫腳本的機(jī)會(huì)。區(qū)塊鏈上記錄的只是:
? 使用的輸入——花費(fèi)了的舊承諾
? 新的輸出——要發(fā)布的新承諾
? 交易內(nèi)核——包含多余的盲因子、交易費(fèi)和鎖定高度的交易簽名
而且這些項(xiàng)目不能相互關(guān)聯(lián),并且不包含任何有用數(shù)據(jù)來(lái)驅(qū)動(dòng)操作。
對(duì)于這個(gè)問(wèn)題,有一些創(chuàng)造性的解決方案建議通過(guò)執(zhí)行所謂的無(wú)腳本腳本來(lái)實(shí)現(xiàn)。通過(guò)利用所使用的Schnorr簽名的屬性,可以實(shí)現(xiàn)多簽名交易和更復(fù)雜的基于條件的交易,如原子跨鏈交換,甚至可能是閃電網(wǎng)絡(luò)類型的狀態(tài)通道。然而,這還不足以滿足物聯(lián)網(wǎng)智能合約的所有需求。
基于以上的分析,實(shí)現(xiàn)切斷可能會(huì)刪除智能合約交易或依賴它們的交易。
因此,你可以看到,在這種設(shè)計(jì)中,我們可以成功地隱藏值和所有權(quán),但僅限于一維數(shù)據(jù)點(diǎn)和數(shù)量。做任何比轉(zhuǎn)移代幣所有權(quán)更復(fù)雜的事情都超出了它的能力范圍。但是所有權(quán)證明和對(duì)零承諾實(shí)際上只是一種特定類型的零知識(shí)證明(ZK)。那么,如果我們不去隱藏一個(gè)值,而去隱藏一個(gè)證明呢?