丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
金融科技 正文
發(fā)私信給吳陽煜
發(fā)送

0

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

本文作者: 吳陽煜 2018-02-11 19:08
導(dǎo)語:Yonatan Sompolinsky提醒道,設(shè)計區(qū)塊鏈網(wǎng)絡(luò)時,區(qū)塊的帶寬和基礎(chǔ)參數(shù)的設(shè)置,會影響到整個區(qū)塊鏈網(wǎng)絡(luò)的運營和目標交易性能,不能只考慮用戶參與度。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

雷鋒網(wǎng)AI金融評論此前報道,此前發(fā)布了DAG區(qū)塊鏈項目SPECTRE的區(qū)塊鏈初創(chuàng)企業(yè)DAG Labs在2月份正式公布了其最新擴容協(xié)議PHANTOM的技術(shù)細節(jié),透露其將兼容智能合約,并實現(xiàn)了在鏈上區(qū)塊的線性排列。據(jù)雷鋒網(wǎng)AI金融評論了解,在由伯克利區(qū)塊鏈主辦的特幣技術(shù)交流大會上,DAG Labs的首席科學(xué)家、GHOST協(xié)議的共同作者Yonatan Sompolinsky為在場聽眾詳細介紹了DAG應(yīng)用區(qū)塊鏈網(wǎng)絡(luò)遇到的具體技術(shù)挑戰(zhàn),并講解了SPRECTRE項目針對區(qū)塊鏈交易的擴展性、安全性的解決方案和基礎(chǔ)參數(shù)調(diào)整。

首先需要明白,區(qū)塊鏈是新生的事物。如果你有一個系統(tǒng),要改善擴展區(qū)塊鏈的性能,在SPECTRE項目上應(yīng)用DAG(Directed Acyclic Graph,有向無環(huán)圖)能很好地實現(xiàn)這一點。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

如圖片所示,首先引出兩個問題。首先,目前區(qū)塊鏈中的交易是怎么樣的?大家可以想象在銀行排隊辦理業(yè)務(wù)的情景,用戶們一個接著一個按序列排好等待,只有當(dāng)上一個用戶完成交易后下一個用戶才能開始行動,通過這樣的方式來保證整個區(qū)塊鏈的一致性和貫徹性。當(dāng)有過多需要辦理業(yè)務(wù)的用戶擠進銀行后,交易堵塞的情況就會變得越來越嚴重。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

出于加快交易處理速率的考慮,節(jié)省用戶在等待交易時耗費的時間,DAG的設(shè)計能實現(xiàn)這樣性能的優(yōu)化。對于這批涌進銀行等待交易的用戶,無論他們手持現(xiàn)金還是辦理銀行卡業(yè)務(wù),DAG網(wǎng)絡(luò)不再進行分類,使他們分成一行行排隊等待,而是加速去為他們辦理業(yè)務(wù)。如果發(fā)生交易沖突,DAG網(wǎng)絡(luò)會先記錄在案,在處理完所有用戶的交易后再對出現(xiàn)的沖突進行處置,從整體上加快整批用戶的交易速率。DAG網(wǎng)絡(luò)通過這樣的安排來取代傳統(tǒng)排序方式的區(qū)塊鏈,由此推廣為DAG應(yīng)用區(qū)塊鏈的日常。

 技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

通常從技術(shù)層面來說,在一個分布式的系統(tǒng)里,開發(fā)人員都遵循著“CAP”定理來進行開發(fā)和維護,它們分別是上述提到的一致性、可用性和隔離性。在以往的區(qū)塊鏈中,首先需要注意的因素即為一致性,分布式賬本需要一致,上鏈后的交易信息要保持一致,創(chuàng)建以區(qū)塊,它里面包含的信息必須要和以往的歷史信息保持一致,整個系統(tǒng)都要設(shè)計為盡力維持這個特性。這就是為什么會出現(xiàn)之前圖中看到的,在銀行排隊等待信息同步的情況。DAG區(qū)塊鏈網(wǎng)絡(luò)則更為注重可用性,保證每個用戶都能在這個網(wǎng)絡(luò)上面完成交易。

 DAG應(yīng)用區(qū)塊鏈的技術(shù)挑戰(zhàn):區(qū)塊混亂生成導(dǎo)致交易沖突

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

在現(xiàn)在,比特幣的交易速度約為3-7筆每秒,那么什么時候才能到達每秒過千筆的交易速度呢?要實現(xiàn)這樣的交易性能,需要對現(xiàn)有的區(qū)塊鏈系統(tǒng)做出什么改造?我們需要先對區(qū)塊鏈的技術(shù)局限有所了解。首先,讓我們來看看在一個包含十個區(qū)塊的區(qū)塊鏈系統(tǒng)簡化圖,每秒的交易流程是什么樣的。如圖所示,在每個區(qū)塊里儲存的信息都會被導(dǎo)向下一個生成的連接著的區(qū)塊,每個分支都導(dǎo)向最初的創(chuàng)世區(qū)塊,使得信息可追溯,從而形成一條條“樹杈”。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

而在DAG應(yīng)用區(qū)塊鏈的網(wǎng)絡(luò)中,每一個區(qū)塊都有相鄰的區(qū)塊可參照,關(guān)注其中一個區(qū)塊,可以發(fā)現(xiàn)其能與其他區(qū)塊相連打通,體現(xiàn)了高度的可用性,但與此同時,區(qū)塊之間打通之后,挖礦行為將由于發(fā)生頻繁有可能導(dǎo)致更多的硬分叉,一致性將遭到挑戰(zhàn)。同時更為嚴重的是:區(qū)塊不再遵循序列來排列之后,在各區(qū)塊里的交易沖突事件將會大幅提升,比如雙花問題(double spending)。

 特別地,針對這些問題,在DAG網(wǎng)絡(luò)中的挖礦協(xié)議里形成了兩條共識原則:規(guī)則1,每個新增的區(qū)塊的誕生,都必須以過往的全部區(qū)塊作為參照;規(guī)則2,所有區(qū)塊生成的交易信息都必須在第一時間公布。

 這樣一套DAG結(jié)合區(qū)塊鏈的系統(tǒng),暴露出來的最大缺點在哪?交易的監(jiān)管是一個大問題。如圖所示,比如用戶在某一個區(qū)塊里發(fā)生交易之后,有礦工想進行挖礦時,其交易信息很快就會被公布到整個區(qū)塊鏈,許多礦工都會很快求得挖礦結(jié)果,沖突累積得非常之快。所以最主要的挑戰(zhàn)在于,在這樣的DAG網(wǎng)絡(luò)曲線圖里,通過參考之前的區(qū)塊生成區(qū)塊之后,如何保證新生成的區(qū)塊包含信息的一致性,及隨之而來在交易中產(chǎn)生的大量沖突?

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

如何分辨抓住針對這個區(qū)塊鏈網(wǎng)絡(luò)發(fā)起的攻擊也是一個難題,比如前面提到的雙花問題。當(dāng)交易發(fā)生后,兩個礦工同時挖出結(jié)果的幾率很大,誰獲得交易費用的獎勵?還有,如何計算不同礦工的工作量證明?另外存儲問題也突出的非常嚴重,如果實現(xiàn)了每秒過千筆交易,產(chǎn)生的交易信息數(shù)據(jù)量將會巨大。還有許多其他隨之而產(chǎn)生的問題,但其中最為重要需要解決的首要問題還是一致性。 

如何針對這些問題研發(fā)解決方案?根據(jù)前面描述的DAG結(jié)合區(qū)塊鏈網(wǎng)絡(luò)應(yīng)用的困境,證明了其只是一個應(yīng)用模型,它本身是一個數(shù)據(jù)結(jié)構(gòu)框架,而非現(xiàn)成的解決方案,具體DAG應(yīng)用區(qū)塊鏈網(wǎng)絡(luò)的案例有好有壞。那么該如何制作一個性能優(yōu)異的DAG應(yīng)用區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議?首先在一個復(fù)雜的區(qū)塊鏈環(huán)境中,區(qū)塊呈鏈條、分支狀結(jié)構(gòu)排列,很難找到隱藏其中屬于攻擊者的區(qū)塊,但它會干擾生成正確的區(qū)塊,并會拖慢整個區(qū)塊鏈環(huán)境的速度。所以一個好的DAG應(yīng)用區(qū)塊鏈的協(xié)議,首先需要做到易于分辨找到這些攻擊區(qū)塊。

建立一個DAG應(yīng)用區(qū)塊鏈的協(xié)議,第一原則是命令每個區(qū)塊按照給定次序排列,以此來得到一致性。如前面顯示的這些區(qū)塊,只有給出排列次序后,用戶才會明白哪個是創(chuàng)世區(qū)塊,哪個接在上個區(qū)塊之后,哪個區(qū)塊的交易是優(yōu)先處理,才能實現(xiàn)追溯和保持數(shù)據(jù)的一致性。

 技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

由此我們從DAG應(yīng)用區(qū)塊鏈的模型進入到具體的解決方案案例分析。在SPECTRE協(xié)議背后,有一個信息投票機制的考量設(shè)計。試想象一下,在一條區(qū)塊鏈上為許多杰出運動員投票,選出最佳,這就意味著用戶需要選出一個優(yōu)勝者,舍棄其他所有剩下的。這就像是在一個社區(qū)里面,投票的人互相告知自己最喜愛的運動員是哪個,要為哪位運動員投票。我們稱之為“單一贏家投票模式系統(tǒng)”(single winner vote system)。

但在這套系統(tǒng)里面,只是憑借最為多數(shù)的投票量選出唯一一個優(yōu)勝者,而無法對所有候選的運動員做出排名。在一個多勝者投票系統(tǒng)(multi-winner voting system)里,用戶可以對所有候選運動員進行投票,分出名次。由此系統(tǒng)可以整合用戶對所有投票對象的偏好信息,擴展補充了這些信息量。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

回到甄別攻擊區(qū)塊的問題上,如圖中所示,我們可以將區(qū)塊與區(qū)塊之間看成是彼此競爭的存在,但針對紅色的這條獨立于主鏈的鏈條,區(qū)塊之間共享所有的信息后也無法得知這條獨立鏈條的存在,所以這條隱藏的孤鏈有小概率的可能在生成區(qū)塊的過程中變成較長的一條,從而奪得對整個區(qū)塊鏈網(wǎng)絡(luò)的控制。

SPECTRE投票機制辨別攻擊

為了防止這種情況,在SPECTRE的DAG區(qū)塊鏈網(wǎng)絡(luò)協(xié)議中,我們采用了全體用戶投票的機制,來形成整個網(wǎng)絡(luò)的架構(gòu)。具體到每個區(qū)塊的生成次序,用戶可以在Z區(qū)塊上決定X區(qū)塊和Y區(qū)塊的生成次序,礦工沒有投票權(quán),只需遵循這樣的順序進行挖掘,去按照算法推導(dǎo)計算Y區(qū)塊在X區(qū)塊之后生成的邏輯過程,防止其出于牟利而主導(dǎo)控制整片區(qū)塊鏈網(wǎng)絡(luò)的生成。當(dāng)指定了具體的投票機制生成區(qū)塊后,在每個區(qū)塊上的投票匯集成大多數(shù)用戶的意見,由此來決定整個區(qū)塊鏈網(wǎng)絡(luò)的生成次序。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

圖中新生產(chǎn)的區(qū)塊,它來源于X區(qū)塊群和Y區(qū)塊群共同投票的結(jié)果,根據(jù)多數(shù)原則,新的區(qū)塊緊跟在X區(qū)塊鏈后生成。藍色的Z區(qū)塊群只承載了X區(qū)塊的信息,沒有參考Y區(qū)塊鏈,這意味著,對于藍色Z區(qū)塊而言,Y區(qū)塊鏈屬于隱藏狀態(tài),沒有辦法得知它的存在。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

這是一個主觀的觀點,同樣的,對于連接在Y區(qū)塊鏈之后的紅色Z區(qū)塊群,由于沒有參考X區(qū)塊的信息,也沒辦法知道X區(qū)塊群的存在。所以,圖中這個黃色區(qū)塊生成的時候,通過參考相鄰的區(qū)塊可以得知,它是一個屬于X的區(qū)塊。依次類推下去,根據(jù)投票機制最終推導(dǎo)出全部區(qū)塊的歸屬,從而確定整個區(qū)塊鏈網(wǎng)絡(luò)的架構(gòu)??梢钥吹剑琘區(qū)塊鏈沒有參考任何可信的區(qū)塊節(jié)點,實現(xiàn)針對這個區(qū)塊鏈網(wǎng)絡(luò)的雙花攻擊辨別。

所以我們可以總結(jié)出來,和一開始提到的其他DAG應(yīng)用區(qū)塊鏈網(wǎng)絡(luò)相比,SPECTRE的網(wǎng)絡(luò)架構(gòu)設(shè)計安全性有了很大的提升,原因在于在這樣的機制下,正常用戶生成區(qū)塊之后,攻擊者的區(qū)塊不可能占大多數(shù)的區(qū)塊來發(fā)起攻擊,可信的區(qū)塊永遠優(yōu)于有問題的可疑區(qū)塊,杜絕了51%攻擊的可能性,同時實現(xiàn)了整個網(wǎng)絡(luò)極高的可用性。這樣的設(shè)計保證了,在一秒生成十個甚至過百個區(qū)塊的前提下,在網(wǎng)絡(luò)上包括的可信區(qū)塊在內(nèi)的所有區(qū)塊,不會缺乏排序指令而互相散亂連接,從而導(dǎo)致開始提到的種種引起混亂的安全性問題。

用戶在鏈上,什么時候應(yīng)該公布他們的交易?在區(qū)塊里,公布交易到整個網(wǎng)絡(luò)的速度會有數(shù)百秒的延遲,然后快速廣播到公網(wǎng)上,如果發(fā)生了由于雙花現(xiàn)象引起的交易沖突,在投票機制下會發(fā)生無限延遲的情況。X區(qū)塊群之所以優(yōu)于Y區(qū)塊群能成為主鏈,在于全體用戶投票生成區(qū)塊的機制,而如果X和Y同時公布交易,系統(tǒng)可能將無法即時判斷作出決定。但這樣只會傷害到攻擊者本身,無法對系統(tǒng)造成損失。作為一個可信區(qū)塊,其根據(jù)序列承載上個區(qū)塊信息生成,不會與相鄰區(qū)塊發(fā)生連接,故不會出現(xiàn)雙花問題。

區(qū)塊帶寬調(diào)整保證交易性能

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

在保證安全性的基礎(chǔ)上,整個區(qū)塊鏈網(wǎng)絡(luò)展現(xiàn)出高擴展性。那么,在這個網(wǎng)絡(luò)上實現(xiàn)每秒過千筆交易的性能,會遇到哪些限制?首要的局限性體現(xiàn)在帶寬上。如果每秒不限制地生成過百個區(qū)塊,太多的區(qū)塊生成累積將會超出承載,沒有辦法解決任何問題。而是需要根據(jù)不同的目標交易量的設(shè)置,來確定不同類型區(qū)塊的最小帶寬。舉個例子,為了實現(xiàn)一萬TPS的交易性能,SPECTRE調(diào)整每秒五MB的帶寬,每秒生成十個零點五MB規(guī)模的區(qū)塊。

區(qū)塊的帶寬限制和交易頻率存在著擴展性和追求去中心化的取舍關(guān)系:降低區(qū)塊的帶寬能允許更多的用戶參與,有利于去中心化的趨勢發(fā)展,但卻會使交易頻率受影響,如何在它們之間保持平衡是需要重點考慮的問題。試著想象,假如將區(qū)塊的最低帶寬調(diào)整到兩MB每秒,那么每秒能處理的交易額遠遠達不到一萬筆,系統(tǒng)可能會被擁堵的交易淹沒。所以在設(shè)計區(qū)塊鏈網(wǎng)絡(luò)時,不能出于單純提高更多用戶的參與度的考慮,任意改變區(qū)塊的帶寬和基礎(chǔ)參數(shù)的設(shè)置,這會影響到整個區(qū)塊鏈網(wǎng)絡(luò)的運營和目標交易性能。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

另一個限制是數(shù)據(jù)儲存的問題。如果以每秒產(chǎn)生一MB的信息計算,每天將會生成八十六GB的數(shù)據(jù)量。在SPECTRE區(qū)塊鏈網(wǎng)絡(luò)上,不可能將所有的數(shù)據(jù)都儲存上鏈,這樣才是合理的選擇。因此,我們提出了一個名為“檢查點運轉(zhuǎn)”(rolling checkpoints)的數(shù)據(jù)儲存解決方案。在每天的挖礦工作結(jié)束后,面對數(shù)百個生成的全新區(qū)塊,SPECTRE會將此前發(fā)生的交易數(shù)據(jù)信息儲存在一個固定的中心化節(jié)點,供整個區(qū)塊鏈網(wǎng)絡(luò)定期檢查更新。

這需要用戶對系統(tǒng)提交信任,相信此前其儲存的信息沒有遺漏錯誤,或者篡改的情況。在這種情況下,儲存數(shù)據(jù)的中心節(jié)點需要驗證演示儲存數(shù)據(jù)的真實性以保證無誤。同樣,在去中心化的數(shù)據(jù)儲存和系統(tǒng)性能之間,我們必須找到不停尋找更好的辦法來達到平衡。

DAG網(wǎng)絡(luò)中的分層框架:應(yīng)用層和數(shù)據(jù)層的相互隔離

從當(dāng)前來看,在分層結(jié)構(gòu)的區(qū)塊鏈網(wǎng)絡(luò)治理中,礦工是非常重要的因素,可以影響協(xié)議更新、激勵機制,還能覺得交易的有效性。假設(shè)現(xiàn)在需要購買集裝箱的儲存服務(wù),只能通過經(jīng)濟激勵的手段來號召工人來提供貨物的搬運儲存服務(wù)。與其相類似,在區(qū)塊鏈數(shù)據(jù)層上的礦工服從于工作量證明的共識機制,在驗證支付的獎勵是正確的之后,才會繼續(xù)進行下一項挖礦工作。沒有完善的激勵和獎懲機制,礦工將有可能隨意處置用戶的交易信息,可能會在公網(wǎng)廣播公布,也可能會將正確發(fā)生的交易處理為無效交易。

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

在SPECTRE的分層結(jié)構(gòu)中,應(yīng)用層和數(shù)據(jù)層相互隔離。在數(shù)據(jù)層上,礦工只負責(zé)收集交易數(shù)據(jù),確保這些數(shù)據(jù)代表了有效發(fā)生的交易,來形成一個可追溯的不可篡改的共享數(shù)據(jù)庫。而在應(yīng)用層上,需要生成分布式賬本來體現(xiàn)數(shù)據(jù),解釋每一筆交易的來龍去脈,由于不同的應(yīng)用遵循著不同的交易邏輯,在DAG網(wǎng)絡(luò)中還要接入智能合約等不同的交易系統(tǒng)來實現(xiàn)執(zhí)行,并最終生成交易數(shù)據(jù)以驗證礦工的工作結(jié)果。

雷鋒網(wǎng)

技術(shù)詳解DAG區(qū)塊鏈項目SPECTRE:圍繞一致性建設(shè),投票機制甄別攻擊杜絕交易沖突

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章

編輯

聯(lián)系郵箱:wuyangyu@leiphone.com
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說