當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 終于,我們越過了“可擴(kuò)展”技術(shù)的“泥淖”,來到了看起來非常美好的無限擴(kuò)展技術(shù)。 在可擴(kuò)展技術(shù)中,我們介紹了可擴(kuò)展的POW的兩種思路——領(lǐng)袖選擇和DAG,以及可擴(kuò)展BFT的思路同時詳細(xì)分析

終于,我們越過了“可擴(kuò)展”技術(shù)的“泥淖”,來到了看起來非常美好的無限擴(kuò)展技術(shù)。

在可擴(kuò)展技術(shù)中,我們介紹了可擴(kuò)展的POW的兩種思路——領(lǐng)袖選擇和DAG,以及可擴(kuò)展BFT的思路同時詳細(xì)分析了HotStuff BFT的三階段共識。然后,從輸出的角度,我們發(fā)現(xiàn)兩者是殊途同歸地達(dá)到了O(N)的消息復(fù)雜度,因此,在輸出上,如果采用一個比較新的,設(shè)計得足夠好的算法,兩者最終都應(yīng)該受限于網(wǎng)絡(luò)傳輸?shù)纳舷蓿热?,在一個節(jié)點數(shù)量在10^2量級的網(wǎng)絡(luò)中,達(dá)到10^3量級的TPS,而不會有本質(zhì)上的區(qū)別。

最終,兩者最本質(zhì)的差別,還是1),類POW可以用于非許可的網(wǎng)絡(luò),而BFT算法需要用于許可,即參與共識節(jié)點已知的網(wǎng)絡(luò);2),兩者達(dá)成的共識類型,確切的說是“一致性”的程度是不同的,中本聰共識達(dá)到的是概率的一致,而BFT共識達(dá)到的是絕對的一致。

當(dāng)然,必須要清楚的一點是——我在這系列文章中做出的分類是基于“可擴(kuò)展性”或者說消息復(fù)雜度這個主線來進(jìn)行的,而不是按照許可/非許可,或者共識類型,所以其實具體到算法,并不是所有基于POW的算法都是非許可的算法或者達(dá)到概率的一致,這點是需要注意的。

閃電網(wǎng)絡(luò)的基本原理

這里面描述了一種叫做“閃電網(wǎng)絡(luò)”的技術(shù),這種技術(shù)可以允許兩個節(jié)點在鏈上定一筆錢開啟一個支付通道,然后雙方可以在鏈下,即不用通過將交易傳輸上鏈的方式進(jìn)行快速的即時確認(rèn)的交易,只要每方交易的總額都小于這個鎖定的數(shù)值。

我先來大概講解一下這個是怎么實現(xiàn)的:

首先Alice與Bob二人想要建立這么一條快速支付通道,于是兩人先草擬一條抵押交易(Funding Tx),這筆抵押交易的格式是:“交易名稱:F;輸入:Alice:100元,Bob:100元;輸出:Alice+Bob 200元?!边@里,Alice+Bob是Alice和Bob的聯(lián)合簽名。這筆交易完全可以通過Alice和Bob雙方在鏈下在不信任對方的情況下生成(具體細(xì)節(jié)有興趣的同學(xué)可以參見白皮書)。但注意,在這個時候,雙方還不對這筆交易的輸入簽名,因為如果這筆抵押交易真的生成了,那么如果這個時候如果對方消失,這筆錢就拿不回來了。

2. 于是,雙方會分別開始構(gòu)建接下來的承諾交易(Commitment Tx),Alice構(gòu)建的交易格式是:“交易名稱:CA;輸入:Alice+Bob 200元;輸出:Alice2+Bob:100元,Bob:100元”,而Bob構(gòu)建的交易格式是:“交易名稱:CB;輸入:Alice+Bob 200元;輸出:Alice+Bob2:100元,Alice:100元”,這里Alice2和Bob2是雙方擁有私鑰的另一個地址。這兩筆承諾交易都會指向之前那個還沒有發(fā)布的交易,因此,如果前面那筆交易沒有發(fā)布,那么這兩筆交易目前還是非法的。

3. 接著,雙方再分別構(gòu)建指向承諾交易的退款交易(Refund Tx),Alice構(gòu)建的交易格式是:“交易名稱:RA;輸入:Alice2+Bob 100元;輸出:Alice:100元,延時:1000區(qū)塊”,而Bob構(gòu)建的交易格式是:“交易名稱:RB;輸入:Alice+Bob2 100元;輸出:Bob:100元,延時:1000區(qū)塊”。這里延時100區(qū)塊的意思是,礦工會判定這筆交易和它指向的那筆交易之間的間隔,只有在1000個區(qū)塊之后,礦工才會認(rèn)為這筆交易是合法的。

4. 接著,雙方互換構(gòu)建的承諾交易和退款交易,并且為對方的交易簽名。以Bob為例,Bob會收到Alice的交易“交易名稱:CA;輸入:Alice+Bob 200元;輸出:Alice2+Bob:100元,Bob:100元”和“交易名稱:RA;輸入:Alice2+Bob 100元;輸出:Alice:100元,延時:1000區(qū)塊”。Bob會簽上兩筆交易中Bob簽名的部分并且將交易發(fā)回給Alice。注意在這個時候,由于第一筆抵押交易還沒被簽名,所以后續(xù)的所有交易都還是非法的,任何在這個階段出現(xiàn)的問題都不會真正影響到雙方的錢。

Alice將兩筆交易發(fā)給Bob,Bob簽完名發(fā)回給Alice

5,當(dāng)雙方都確認(rèn)收到對方簽名的交易之后,就可以在抵押交易上簽名并上鏈了:我們以Bob為例來看這里的邏輯——Bob此時手中握著Alice簽過字的,自己的承諾交易“交易名稱:CB;輸入:Alice+Bob?200元;輸出:Alice+Bob2:100元,Alice:100元”和Alice簽過字的Bob的退款交易:“交易名稱:RB;輸入:Alice+Bob2 100元;輸出:Bob:100元,延時:1000區(qū)塊”。這個時候Bob不擔(dān)心自己的100元的安全,因為如果他想,他可以公布這兩個交易,并且在1000個區(qū)塊之后取回這100元。同時,Alice也拿不走這100元,因為如果Alice想要拿回自己的錢,那么她必須先公布CA,而CA中會立即將100元退回給Bob。于是,到此為止,我們完成了閃電網(wǎng)絡(luò)的一個支付通道的創(chuàng)建。

6,那么,如何支付呢?實際上雙方并不是進(jìn)行支付,而是雙雙更新目前這個通道中的余額狀況。我們假設(shè)Alice想要付給Bob10元錢,那么Alice和Bob需要創(chuàng)建新的承諾交易“交易名稱:CA1;輸入:Alice+Bob 200元;輸出:Alice3+Bob:90元,Bob:110元”和“交易名稱:CB1;輸入:Alice+Bob 200元;輸出:Alice+Bob3:110元,Alice:90元”以及新的退款交易“交易名稱:RA1;輸入:Alice3+Bob 90元;輸出:Alice:90元,延時:1000區(qū)塊”和“交易名稱:RB1;輸入:Alice+Bob3 110元;輸出:Bob:110元,延時:1000區(qū)塊”,并且如之前一般互換簽名,最后,Alice將Alice2的私鑰發(fā)給Bob以完成交易。

7. Alice和Bob此時手中都有兩個同樣對方認(rèn)可過的賬戶余額數(shù):100/100和90/110。那么,如何約束Alice不會在付完錢之后不認(rèn)賬呢?答案就是Alice最終發(fā)給Bob的Alice2的密鑰。如果Alice試圖用之前的CA取回100元,那么她唯一的方法就是先發(fā)布CA然后再發(fā)布RA,但是,RA必須在CA之后的1000個區(qū)塊后發(fā)才是合法的。那么,如果Bob在鏈上發(fā)現(xiàn)了CA,即“交易名稱:CA;輸入:Alice+Bob 200元;輸出:Alice2+Bob:100元,Bob:100元”,由于他已經(jīng)有了Alice2的密鑰,這個時候他可以立即構(gòu)建一個交易“交易名稱:P;輸入:Alice2+Bob 100元;輸出:Bob:100元”來在Alice之前拿走這100元錢。

由上可以看出,我們說閃電網(wǎng)絡(luò)可以擴(kuò)容,或者說提供了一種鏈下小額支付的渠道,實際上是提供了一種新的類似于儲值卡或者積分卡的交易形式。通過這種交易形式,只要雙方提前約定鎖上一筆錢,就可以開啟一個鏈下通道,在鏈下進(jìn)行無限次數(shù)僅限額度的快速交易。

HTLC的基本原理

當(dāng)然,其實大家都能看出來,這種技術(shù)的應(yīng)用場景十分苛刻——一條鏈下通道其實就是一張儲值卡,只供雙方使用。但閃電網(wǎng)絡(luò)實際上并不僅于此,以上所說的這種閃電網(wǎng)絡(luò)被稱為RSMC,然后,還有一種進(jìn)階的閃電網(wǎng)絡(luò),被稱為HTLC。HTLC的具體實現(xiàn)要更復(fù)雜一些,在這里,我們只介紹HTLC的原理。

HTLC全稱叫(Hashed Timelock Contract),基本原理是:假設(shè)A想要發(fā)1BTC給C,但是A和C之間沒有鏈下通道。然而,雙方都與一個節(jié)點B有一條鏈下通道(這條通道必須是支持HTLC并且余額足夠的)。于是,收款方C先設(shè)定一條謎題和答案,實際上就是自己生成一個Y,并且用哈希算出H(Y)=X,并把哈希值Y發(fā)給A。然后,A與B根據(jù)給的Y,協(xié)商出一個鏈下的HTLC:“如果B能在2天內(nèi)給出Y的原像,即X,則可以獲得A的1.1BTC,否則,這個合約失效?!苯又?,B再與C協(xié)商出一個鏈下的HTLC:“如果C能在一天內(nèi)給出Y的原像,即X,則可以獲得C的1BTC,否則,這個合約失效。”當(dāng)兩個合約都建立之后,C給出X,并從B那里獲得1個比特幣,然后,獲得X的B給出X,從A那里獲得1.1個比特幣。這里,0.1個比特幣是B作為中介的費(fèi)用(現(xiàn)實中這個費(fèi)用顯然不會這么高)。然后請注意,這里的“幣”與之前閃電網(wǎng)絡(luò)中的類似,并不是真的幣,而是協(xié)商完成的分配協(xié)議,雙方如果愿意的化,可以根據(jù)這個分配協(xié)議,在給定的時間內(nèi)去鏈上取回自己的幣,或者,在這個分配協(xié)議的基礎(chǔ)上再次更新分配協(xié)議。

以上是正常的情況,那么我們看看這里如果有惡意節(jié)點會怎么樣:首先A沒有作惡的空間,因為至始至終他只能出錢。而在合約建立之后,C是收款者,所以沒有理由不愿意提供X來收到錢。而如果C提供了X,那么B也沒有理由不去用X從A那里收錢。這個原則適用于有多個中介的情況——收款方會先提供X拿到自己的錢,而后一個理性的中繼節(jié)點自然不會愿意平白無故地掏這筆錢,于是一定會用X從他上一個節(jié)點那里拿到錢。當(dāng)然,這個支付鏈條的構(gòu)建需要滿足一個原則,即鏈條越長,最初付款的時候設(shè)定的時間需要越寬松,因為每個節(jié)點都需要給自己預(yù)留足夠的時間來防止來不及從上家那里拿錢——

加入說,如果B跟C的協(xié)定是“如果C能在47小時內(nèi)給出Y的原像,即X,則可以獲得C的1BTC,否則,這個合約失效?!蹦敲?,如果C拖到47小時的最后一分鐘給出X,這個時候,由于A的期限是兩天,于是B就只剩下1小時從A那里拿到“錢”。注意,這里的“錢”需要打引號是因為這仍舊只是在閃電網(wǎng)絡(luò)中的交易“協(xié)議”。B可以憑借這個協(xié)議從鏈上拿到錢,但是那樣就需要關(guān)閉這個閃電網(wǎng)絡(luò)通道,并且B只有在鎖定期之后才能拿到真正的“錢”。所以說,B需要的是在這一小時內(nèi)和A通過鏈下協(xié)商一個新的“財產(chǎn)分配協(xié)議”,然后,如果A不配合的話,B會把去鏈上拿回錢作為“迫不得已的選擇”。因此,如果B給自己的時間太少,它大概只能做出“迫不得已的選擇”。甚至連這個選擇都來不及做了。

為了避免這種情況,每個節(jié)點都會預(yù)先告知一個自己需要預(yù)留的時間,就相當(dāng)于“想從我這過可以,但是除了交易費(fèi)之外,你得給我一天的處理時間”,于是,路徑越長,這個時間也會累加得越長。但除此之外,我們還是說這個技術(shù)是“安全”的。這里“安全”需要打個引號,具體原因,我們放在下一篇再說。

閃電網(wǎng)絡(luò)的局限性

有了HTLC之后,我們就實現(xiàn)了一個較為理想的狀態(tài)——每個人都將一定的資金鎖定在鏈上,而日常的小額支付都可以通過這種中繼的方式通過鏈下進(jìn)行。這個方法看起來很繁瑣,但是所有的這些步驟都是在鏈下進(jìn)行的,這也是最早二層網(wǎng)絡(luò)這個詞的由來——在支持者眼中,區(qū)塊鏈的理想狀態(tài)應(yīng)該是第一層的結(jié)算網(wǎng)絡(luò),加上第二層的支付網(wǎng)絡(luò)。

那么,我們能說因此我們實現(xiàn)了無限擴(kuò)展嗎?看起來好像又有哪里不對。因為從應(yīng)用上說,閃電網(wǎng)絡(luò)的確可以解決一部分的支付場景,但是一方面,我們無法把所有的支付場景都用儲值卡或者積分卡代替,另一方面,閃電網(wǎng)絡(luò)的反對者也并不是完全在危言聳聽——一個將大部分交易場景都挪到第二層的網(wǎng)絡(luò)是不安全和相當(dāng)中心化的。一種可能是,第一層的交易減少會減少交易費(fèi),使得整個區(qū)塊鏈的安全模型受到影響,而如果想要避免這種情況出現(xiàn),如果還需要維持第一層網(wǎng)絡(luò)的安全性,則需要提高交易費(fèi),于是導(dǎo)致第一層網(wǎng)絡(luò)完全無法進(jìn)行日常交易,于是這個系統(tǒng)難免退化成一個日常交易完全需要依靠某些能夠付得起交易費(fèi)有高額抵押的大節(jié)點進(jìn)行的中心化系統(tǒng)。

當(dāng)然,即便是這樣,鏈下技術(shù)看起來還是很有前途的,畢竟其實在生活中我們有很多需要先提供抵押的支付場景,而且,儲值卡和積分卡在現(xiàn)實之中也不少見。于是,有沒有可能我們在加密貨幣這個領(lǐng)域,在小額快速支付的領(lǐng)域推廣這種方法呢?

答案是很難,我們來對比一下閃電網(wǎng)絡(luò)實現(xiàn)的功能與普通交易、積分卡和充值卡之間的區(qū)別。

本質(zhì)上,區(qū)塊鏈的交易假設(shè)交易發(fā)起者是理性的:交易發(fā)起者想要發(fā)起交易,例如付款買東西,因此,向交易接收者證明交易成功是交易發(fā)起者的職責(zé)。于是,交易發(fā)起者需要能夠提供一個接收者能夠接受的證據(jù)——在中心化系統(tǒng)里,這個證據(jù)是來自可信第三方的交易確認(rèn),而在區(qū)塊鏈系統(tǒng)里,這個證據(jù)是這筆交易上鏈,并且得到了確認(rèn)。為了取得這個證據(jù),交易發(fā)起者要么自己出塊,參與共識過程,要么把交易發(fā)給礦工,委托礦工做這個事情,然后付一定的交易費(fèi)。而在這里面,接收者只需要記好自己的私鑰,并且一次性的驗證自己的錢收到了,就可以高枕無憂了。

以上的這個邏輯是順暢的,也是非常接近于傳統(tǒng)中心化系統(tǒng)的,只不過把傳統(tǒng)中心換成了礦工+區(qū)塊鏈。于是,其實大部分的現(xiàn)實場景都可以無縫第對接到這樣的系統(tǒng)中來,用區(qū)塊鏈來實現(xiàn)。

然而,閃電網(wǎng)絡(luò)交易需要同時假設(shè)交易發(fā)起者和接收者都是理性的。實際上如果你仔細(xì)分析閃電網(wǎng)絡(luò)的話,你們交易的并不是真的錢。

在區(qū)塊鏈的交易中,一筆交易是“A付給B10塊錢?!?/p>

這個交易經(jīng)過所有節(jié)點的認(rèn)證,所以不能被逆轉(zhuǎn)。

而在閃電網(wǎng)絡(luò)中,一筆交易的實質(zhì)是“A付給B10個積分,憑借著這些積分B可以:a)和B之間當(dāng)作錢用;b)在一天之后付出一定手續(xù)費(fèi),換成10塊錢;c)如果一天之內(nèi)發(fā)現(xiàn)A嘗試作弊,那么發(fā)現(xiàn)A作弊并且及時反制,獲得A的100元抵押;d)在一天之內(nèi)A作弊你沒能及時反制,于是積分作廢?!?/p>

這個憑證的真實性,只需要通過B的驗證。

其中,b相當(dāng)于是一個儲值卡的作用,而且是個相當(dāng)不錯可靠的儲值卡——相比于儲值卡的好處在于,首先,你不用擔(dān)心你充的錢退不回來,相當(dāng)于不用擔(dān)心對方跑路,但是,你通常需要等到約定的時間結(jié)束才能解鎖這筆錢,除非對方愿意重新和你協(xié)商一個解鎖時間。但大家仔細(xì)想想儲值卡的使用場景——如果不是因為儲值卡通常有優(yōu)惠,誰會使用儲值卡呢?但功能b并不提供優(yōu)惠,而僅僅提供交易的便捷性和低手續(xù)費(fèi)。那么,采用儲值卡對于普通用戶有多少吸引力就大打折扣了。

以上說明,閃電網(wǎng)絡(luò)能夠作為一個沒有折扣的儲值卡。但比較復(fù)雜的地方是a,c和d,也就是儲值卡之外的部分——也就是這張卡不僅能儲值,還能收積分,積分還能換錢,但雖然這個積分規(guī)則上說的是和貨幣1比1等值兌換,實際上積分的價值不僅跟你自身的能力有關(guān),還跟網(wǎng)絡(luò)的安全性有關(guān)。在閃電網(wǎng)絡(luò)中,接收者不僅僅只需要一次性的驗證接收者發(fā)出的交易結(jié)果,而且還要不定期在線觀測主鏈以防交易發(fā)起方作弊。如果交易發(fā)起方作弊的話,交易接收方需要發(fā)起反制拿走交易發(fā)起方的保證金。

綜上所述,閃電網(wǎng)絡(luò)的應(yīng)用場景受到以下幾個限制:

1,無論是用作付款(儲值卡)還是收款(積分),使用者都需要是非常高頻的交易者,才能夠有意愿為了降低交易費(fèi)付出流動性和積分無法兌換的風(fēng)險。然而,這必須建立在閃電網(wǎng)絡(luò)交易費(fèi)低于鏈上交易費(fèi)的前提下。

2,閃電網(wǎng)絡(luò)的使用者需要更高的技術(shù)門檻——一筆收到的錢并不保險,他們必須同時保持定期觀察鏈上。如果更現(xiàn)實一點說,比特幣的技術(shù)門檻已經(jīng)可以讓大部分普通用戶望而卻步了,但是好歹在了解了基本概念之后,一個比特幣的非活躍交易者還是可以自己用一個錢包,自己記住助記詞,當(dāng)一個真正意義上的比特幣“用戶”。但是如果換做要用閃電網(wǎng)絡(luò),尤其是還需要通過閃電網(wǎng)絡(luò)收款的話,那么基本上你除了依賴于提供閃電網(wǎng)絡(luò)服務(wù)的機(jī)構(gòu)別無選擇,因為任何人都無法保證隨時觀察鏈上并且及時反制。于是,

3,閃電網(wǎng)絡(luò)不是全無副作用的升級,而是另一種支付選擇——閃電網(wǎng)絡(luò)需要抵押,同時贖回抵押需要較高的延遲以防止作惡。因此,實際上使用閃電網(wǎng)絡(luò)的用戶實際上并不僅僅是把一筆錢放進(jìn)了閃電網(wǎng)絡(luò)用于快速支付,而且還必須自愿承擔(dān)當(dāng)你不需要使用這個服務(wù)時需要超過了鎖定期才能把錢拿回來的流動性風(fēng)險,同時,還需要面對錢有可能拿不回來的風(fēng)險(這個我們最后再說)。

那么,閃電網(wǎng)絡(luò)的應(yīng)用場景有哪些呢?我們留到下篇再說。

鏈下技術(shù)發(fā)展的局限性

閃電網(wǎng)絡(luò)本身就像開啟了一扇門,讓很多人誤以為跨過了這扇門,后面就是廣闊的一望無際的新天地了。于是,有了閃電網(wǎng)絡(luò)就開始讓無數(shù)人暢想第二層網(wǎng)絡(luò)是什么樣子——它應(yīng)該和閃電網(wǎng)絡(luò)一樣,有一個在主鏈上的錨定做抵押,然后,在鏈下世界,就應(yīng)該有無限可能,所有我們能夠想到的在鏈上的場景,甚至,那些現(xiàn)實中我們還不知道怎么搬到鏈上的場景,統(tǒng)統(tǒng)都可以在鏈下,在第二層實現(xiàn)……

然而,實際上,在這扇門后的并不是一個新世界,而是一個漆黑的迷宮,和一扇又一扇的門。

閃電網(wǎng)絡(luò)這種技術(shù)并不是通用的——當(dāng)放在交易這種場景的時候,它看上去好像天然就是成立的,因為在交易中我們可以假設(shè)交易接收者因為有利益驅(qū)使(如果不定期觀察鏈上的話交易接收方收到的錢就沒有了)。但是這種假設(shè)僅僅適用于交易接收方有利益驅(qū)使的場景,而并不適用于普遍的場景。

有人可能會問——你說的這種場景是什么呢?

其實這種場景有很多——例如存證,例如溯源,例如幾乎所有基于真實評價而成立的平臺……這些場景都無法用類似于閃電網(wǎng)絡(luò)的技術(shù)搬到鏈下,因為我們找不到一個有利益驅(qū)使的接收者負(fù)責(zé)一致觀測一致性是否被篡改。比如一個文件的存證,我們可以解決第一步,說文件存證方需要提供一個證明給某個節(jié)點證明文件確實存證了??墒亲C明方有什么動機(jī)去一直觀測這條鏈呢?或者換個場景,B通過100塊在鏈上的擔(dān)保進(jìn)行了某份文件的存證,那么如果后來這份成了某個涉及到幾百萬元利益的商業(yè)糾紛的關(guān)鍵證據(jù)時,B會不會放棄自己100塊的擔(dān)保呢?

這就是閃電網(wǎng)絡(luò)和鏈下技術(shù)的最大局限所在——

首先,閃電網(wǎng)絡(luò)只能用于參與方都有利益因此愿意長期觀測主鏈并且反制對方惡意行為的場景。

其次,鏈上押金的設(shè)計和應(yīng)用場景強(qiáng)相關(guān),因此對于每個場景的鏈下技術(shù)都是不通用的。甚至說,已有的技術(shù)隨著場景的增加和改變都有可能不再安全。

那有人可能會說——實際上我們有個通用的方案啊:

無論是什么場景,我們干脆就找一個節(jié)點A放押金在鏈上,他負(fù)責(zé)驗證某些事情e,然后,如果我們發(fā)現(xiàn)他作惡,我們就可以拿走他的押金。

然而這又引入了第三個問題——如何定義或者描述節(jié)點A作惡這個事情呢?

在我看來,一個理想的鏈下技術(shù)應(yīng)該能夠用智能合約實現(xiàn)如下功能:

對于某個場景,一個節(jié)點A放押金在智能合約內(nèi),他負(fù)責(zé)驗證某些事情e并且保證能夠即時地給出他們驗證過e,并且e正確的證明p(e)。然后,如果B需要知道e和e的正確性的時候,他們就聯(lián)系A(chǔ),A會給他們提供e和p(e)。如果,A沒有能夠提供這個證明,那么B可以提供自己“沒有獲得應(yīng)有服務(wù)”的證據(jù),記為p(e,A,fail),然后拿走智能合約中那部分押金。

這就是第二層網(wǎng)絡(luò)技術(shù)發(fā)展得舉步維艱的原因——

1,我們知道小額支付,即充值卡這個場景,是個很實際,很有用,而且可以緩解鏈上壓力的場景。而且這個場景中閃電網(wǎng)絡(luò)看起來是個完美的解決方案,不需要依賴可信第三方,而且完全保證安全,因為沒有人會冒著大概率丟掉100塊的風(fēng)險去偷10塊錢。但對于其他場景,多少押金才是一個合適的擔(dān)保,這一點本身就很難通用化。我們也還是需要針對不同的場景,設(shè)計不同的擔(dān)保模型。如果最終我們認(rèn)為“抵押了一筆足夠大的金額就是可信的”的話,那么實際上,這和傳統(tǒng)的中心化金融系統(tǒng)就并無區(qū)別了。

2,這里最難的部分,在于我們需要針對不同的事件e,設(shè)計數(shù)學(xué)上可證明的p(e)和p(e,A,fail)。而這一點本身就很難找到一個通用的解決方案,比如零知識證明就是這個問題的最貼近的技術(shù),然而現(xiàn)有的零知識證明方案本身就不是通用的,它對于不同問題的證明難度大相徑庭,同時,把一些場景用數(shù)學(xué)的方式描述出來就已經(jīng)很困難了。于是,在很多時候,我們還是只能依賴于可信第三方來提供p(e)和p(e,A,fail)。而這在我看來就失去了大部分的鏈下技術(shù)的意義。因為同樣的事情,我們可以對比一下以下的幾種實現(xiàn)方案:

我們希望能夠?qū)τ谀硞€事件e的真實性進(jìn)行驗證。

1)中心化方案:某個權(quán)威機(jī)構(gòu)或者某個可信第三方對其進(jìn)行驗證,并負(fù)責(zé)提供關(guān)于這個事件為真的聲明s(e)。

2)聯(lián)盟鏈方案:某些權(quán)威機(jī)構(gòu)對其進(jìn)行驗證并提出關(guān)于這個事件為真的聲明s(e),通過BFT類共識算法達(dá)成共識,并發(fā)布上鏈。只要超過2/3的機(jī)構(gòu)是可靠的,那么e就是真實的。

3)公有鏈方案:礦工對其進(jìn)行驗證并提出關(guān)于這個事件為真的聲明s(e),通過共識算法達(dá)成共識,并發(fā)布上鏈。只要超過1/2的算力/權(quán)益/抵押/被選出的節(jié)點……是可靠的,那么e就是真實的。

3.5)基于抵押的POS方案:礦工對其進(jìn)行驗證并提出關(guān)于這個事件為真的聲明s(e),通過共識算法達(dá)成共識,并發(fā)布上鏈。只要超過1/2的進(jìn)行抵押的節(jié)點是可靠的,那么e就是真實的。

4)真·鏈下方案:某個礦工A在鏈上進(jìn)行一部分抵押,對于e進(jìn)行驗證,并提供e為真的證明p(e)。如果礦工驗證有誤或者無法在需要的時候提供p(e),則其他人可以用p(e,A,fail)拿走A的抵押。如果p(e)和p(e,A,fail)可靠的話,我們保證如果e的價值小于抵押,那么e就是真實的。

5)偽·鏈下方案:某個礦工A在鏈上進(jìn)行一部分抵押,對于e進(jìn)行驗證,并提供e為真的一個通過可信第三方T認(rèn)證的證明p(e)。如果礦工驗證有誤或者無法在需要的時候提供p(e),則其他人可以通過可信第三方T獲取p(e,A,fail)并拿走A的抵押。那么,如果可信第三方可靠,并且e的價值小于抵押,那么e就是真實的。

鏈下方案的局限性通過以上方案的對比就很明顯了:

如果對于一個作惡獲利嚴(yán)格小于抵押的場景,并且存在數(shù)學(xué)上可證明的p(e)和p(e,A,fail),真·鏈下方案是非常有意義的。

如果作惡獲利無法準(zhǔn)確估計,或者對于通用的場景,那么采用抵押的鏈下方案,相比于基于抵押的POS方案,相當(dāng)于將e的安全性從整條鏈1/2的抵押,降為了A一個節(jié)點的抵押。相應(yīng)的,輸出也得到了相應(yīng)的提升,因為這筆交易不再通過所有參與抵押的礦工驗證,而僅通過A驗證。

如果不存在數(shù)學(xué)上可證明的p(e)和p(e,A,fail),那么鏈下方案實際上只是用更復(fù)雜的方案實現(xiàn)了一個依賴于可信第三方的認(rèn)證或者仲裁系統(tǒng)而已。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉