比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > Coinw > Info

SPV:觀點 | 關于錯誤性證明(Fault Proof)的沉思(一)_SPV價格

Author:

Time:1900/1/1 0:00:00

編者注:一般而言,我們會將FaultProof認為是與Layer-2相關的概念,是Layer-2將自己的狀態報告給Layer-1時采取的模式。但在本文中,作者使用的是廣義的錯誤性證明概念,考慮的是如何設計一種錯誤性證明模式,使SPV節點獲得更高的安全性。

錯誤性證明是個極為復雜且煩人的概念,但如果你想知道我的一些心得,請耐著性子跟我一起思考吧。

-BenihimeMorgan?的河流藝術作品-

簡而言之,言而簡之

SPV節點非常易于運行及擴展;借助錯誤性證明,SPV節點可以具備和全節點相同的安全性。

我要在此引入“SPV+”模式;常規的SPV節點只需要保存區塊頭,而SPV+節點還需要保存每個區塊中的第一筆及最后一筆交易。

“SPV+”節點必須與一個全節點建立支付通道,或是建立一個LN連接。

每驗證一個區塊的正確性,SPV+節點都必須向這些全節點支付小額費用;我估計這筆費用不會超過50刀/月。

后續就是添幾個新操作碼的事:我們需要一個鏈下的rangeproof,搭配類似“SegWit”的witness-commitment技術,就能方便且低成本地使用SPV+節點了。

1.背景

A.如何讓比特幣更像實體黃金

比特幣在設計上對標的是黃金;雖然在很多方面,比特幣已遠勝于黃金,但是一談到收款,問題就來了——你怎么知道錢到賬了?如果以黃金等實物手段支付,有沒有到帳是很簡單的——就跟所有一手交錢一手交貨的情形一樣;但如果使用比特幣支付,保障資產所有權就會變成一件很抽象的事。

對于這個問題,中本聰提出了一個完美的軟件解決方案,讓你能夠知道錢到賬沒有——它就是“比特幣”軟件。

等會!這不又兜回原點了嗎?究竟這個軟件是如何運作的

謎底揭曉,比特幣軟件使用一種特殊的機制與其它運行軟件的計算機進行同步;這個機制有點類似Dropbox,但不同之處在于,由每個文件自身保證同步性,因此不會有版本控制的問題。換言之,“得知錢已到賬”和“得知你已實現同步”是一碼事。

觀點:幸存者偏差導致加密生態系統失衡:10月9日消息,幸存者偏差指的是當取得資訊的渠道,僅來自于幸存者時,此資訊可能會與實際情況存在偏差,未幸存者已無法發聲。 人們只看到經過某種篩選而產生的結果,而沒有意識到篩選的過程,因此忽略了被篩選掉的關鍵信息 。在2016-2017年的加密初創公司時代,許多公司推出了承諾以區塊鏈為動力的產品,包括區塊鏈社交網絡、通訊、物流、法律技術、電子商務技術等,大多數這些項目失敗的原因很普遍,包括產品市場不匹配或缺乏對產品的網絡效應驅動。而早期區塊鏈產品時代的贏家大多是金融產品,這導致加密貨幣中的金融產品占主導地位。區塊鏈對金融經濟的關注過多,以至于從某種意義上說,加密基本上已經放棄了實體經濟。從產品的角度來說,關注整個行業的發展是極其重要的。加密貨幣必須發展成為一個高效的市場,人們可以輕松地使用加密貨幣購買服務和產品;也就是說,需將其用作各種易于使用和直觀的產品和服務的支付媒介,而不僅僅是用于金融投機。(Cointelegraph)[2021/10/9 20:16:47]

中本聰在白皮書中提出了兩種“確認錢已到賬”的方法:

運行軟件,等待實現完全同步。

首先,運行一個“輕客戶端”——只會策略性地對某些簡單部分進行同步;然后注意是否出現“alert”。

第一種方法就是所謂的“全節點”,依靠的是?

positiveproof——你理應看到X,一旦你看到X,就知道自己已經收到錢了;第二種方法稱為“SPV模式”?

1,依靠的是?

negativeproof——你本不應看到Y,一旦你看到Y,就知道自己沒有收到錢。這里的Y就是白皮書中提到的“alert”,現在大家可能更常聽到另一種叫法——“錯誤性證明”。

B.“alert”的理論支撐

我個人覺得最有意思的,反向證明機制與實際生活中的很多行為方式類似。

試想以下例子:

我們不會試圖100%杜絕兇案發生,而是在兇案發生后盡全力抓捕犯人。

我們不會試圖100%杜絕奸商存在,但如果真的出現奸商,我們會期待他被市場淘汰,然后由良商取而代之;如果有太多利益糾葛,我們會通過侵權法或規章制度淘汰我們不想要的商人。

觀點:SEC至少要到 2023 年才會批準比特幣 ETF:8月12日消息,據美國廣播公司(ABC)商業真人秀節目《創智贏家》(Shark Tank)明星兼知名投資人Kevin?O 'Leary透露,美國證券交易委員會至少要到 2023 年才會批準比特幣 ETF,他解釋說:“我個人認為SEC不會在明年批準BTC ETF,我看不出這件事會發生,當然這是我個人意見,我沒有比任何人獲得更多信息,但我聽過監管機構試圖解讀一些東西,我認為他們會慢慢進入這一領域。”8月11日,FTX宣布聘請Kevin O'Leary擔任官方新聞發言人,并以加密貨幣支付工資。(blockworks)[2021/8/13 1:51:50]

我們不會試圖保證每一項發布的科研成果是100%零錯誤的,而是最大程度地公開它們,并期待能收到批評或指正。

我們不會試圖100%防止司法腐敗。但是我們確實要求所有法律訴訟環節都必須記錄下來,保證庭審的公正性可由公眾及法律學者在事后追查。

我們不會試圖變得“全知全能”。但是我們希望能夠在書籍、網站中找到所需的知識技能,并希望未來會有專家讓這些信息變得更準確。

通常我們會假設一切事情都沒什么問題,直到出現足夠嚴重的錯誤,我們再去修正。如果不這么做,現實生活中我們其實很難驗證每一件事情都是100%正確的。

C.“alert”面臨的理論挑戰

“alert”的問題在于,Satoshi實際上并未實現這個想法。上個月,EricLombrozo也在

推文中也提到這一點。

-EricLombrozo:“許多我聊過的頂尖技術專家都說,錯誤性證明實在是太難實現了,而且在最糟糕的情況下甚至是不可能的。中本聰似乎認識到了其中的難度,因此從未提出過解決方案。”-

若要實現錯誤性證明,主要有以下兩個難點:

抗DoS攻擊:比特幣全節點之所以對DoS攻擊有很強的抵御能力,是因為工作量證明機制所具備的不對稱性——每隔10分鐘才能產出一個新區塊,驗證這個區塊卻只要很短的時間。不過這是否適用于“alert”?“alert”實行PoW機制嗎?誰來為服務買單?如果沒有人買單,如何阻止惡意節點濫發假的“alert”來掩蓋真的“alert”?

觀點:加密業務應該先建立良好的產品和用戶基礎,再實現去中心化:CryptoBriefing文章稱,為了讓Web 3.0成功,首先需要集中化。去中心化長期以來是加密市場的熱門詞匯。因此,這個萌芽的生態系統中的公司被期望從第一天起就實現這種精神。不幸的是,由于創建真正的分布式網絡帶來嚴重的權衡問題,可能會給早期初創企業帶來問題。在技術進步之前,加密初創公司一直面臨可擴展性三重困境。這個問題表明,在可擴展性、安全性和去中心化方面,創始人和開發人員只能擁有三者中的兩個。更重要的是,未能充分實現這三個特征可能會招致加密社區的憤怒。專注于DeFi的風險投資基金Framework Ventures聯合創始人Michael Anderson建議以逆向思維方式來思考加密業務應該如何發展。作為理性主義者,他認為最開始的集中化有利于新協議。“先建立良好的產品和用戶基礎,然后進行去中心化。”例如,Synthetix以類似方式開始,Synthetix基金會持有每份合約的密鑰。基金會也是唯一能夠執行協議升級的實體。但隨著協議的發展,Synthetix已開始轉向DAO治理模型,ProtocolDAO執行所有主要的治理決策。(CryptoBriefing)[2020/4/23]

反向證明:惡意的/粗心的礦工可能會丟棄區塊內的一部分數據,更極端地說,礦工可能會在根本不知曉區塊里有什么的情況下,創建出一個區塊!如果區塊里包含錯誤交易,我們怎么發現呢?如果沒人發現得了,又如何提醒他人呢?

針對第一個問題,我們可以采用區塊鏈以外的方法來抵御DoS攻擊,也就是支付通道。

針對第二個問題,我們可以將“審核資源”放在驗證區塊的特定部分——簡單來說,我們可以讓節點聲明自己確實知道整個區塊所包含的內容,然后讓驗證者驗證該聲明并為其背書。

2.問題

A.SPV模式

中本聰的SPV模式(

白皮書第8章處):

比特幣的區塊頭非常小,且易于驗證,不受區塊所含交易數量的影響。

可以很容易地證明,區塊中包含了某個東西“X”——只要有“X”本身、區塊頭,以及包含兩者的有效?MerkleBranch?即可。

還不太明白的人,可以參考下面的例子:

觀點:新冠肺炎疫情正在影響比特幣礦業市場發展:3月30日消息,新冠肺炎正在影響比特幣礦業市場的發展狀況。F2Pool業務主管Thomas Heller表示,市場低迷已經使得一些比特幣礦商無法盈利。F2Pool已從客戶處(亞洲和歐洲)損失了10%的比特幣算力,而一些競爭對手可能損失已經接近30%。同時北美比特幣采礦業務也受到了影響,在加拿大油田經營比特幣礦場的Upstream Data創始人Steve Barbour表示,至少到目前為止,分配資源進行比特幣挖礦的公司較少。這些公司幾乎都在強調不要花錢節約成本,而Upstream Data是這些公司的服務商,雖然此前公司利潤一直在增長,本月持平,但預計下月盈利開始下降。與此同時,冠狀病危機正在威脅全球比特幣采礦硬件供應鏈。有伊朗礦工表示,其業務停滯正是因為比特幣采礦設備無法到達。此外,許多伊朗礦商正考慮將比特幣礦業遷往俄羅斯或其他擁有廉價電力的地方,因為伊朗政府目前正積極致力于對采礦業務征稅。(CoinDesk)[2020/3/31]

假設我們有三個區塊頭:headerA、headerB、headerC;每個區塊頭都分別包含一個hashMerkleRoot:hA、hB、hC。

交易Tx是否存在于這些區塊的任意一個之中?

是的,因為h()=ht,且

h(ht,hs1)=hi1

h(hi1,hs2)=hi2

h(hi2,hs3)=hA

其中:

ht是交易Tx的哈希值;

hs1、hs2、hs3是由全節點提供的哈希值。

hi1、hi2是SPV節點計算得出的中間哈希值。

上述證明的實際含義是,有一棵以hA為根哈希值的默克爾樹,它有兩個分支hi2和hs3,哈希值為證,別無其它可能;hi2也只有hi1和hs2兩個分支……層層遞推,最終可證,ht必定存在于這棵默克爾樹中,

MerkleBranch非常小,僅以log(n)的速率增長。付款者可以輕松獲得/生成MerkleBranch,并伴隨著交易一起發送給收款者;這種成本是可以忽略不計的。

也就是說,只要有比特幣區塊頭,你就能知道“錢是否已經到賬了”。區塊頭又很容易獲得,因此SPV模式似乎很容易就能實現無限吞吐量。

第21屆MIT全球峰會在曼谷舉行 公鏈Penta CEO David Ritter參加會議并發表獨到觀點:泰國當地時間2018年3月27日,第21屆MIT全球峰會輪值到曼谷舉行。此次大會以“dream big.dream tech.tools for innovation-driven entrepreneurship”為主題,吸引了全球眾多頂尖學術專家及世界前沿科技項目團隊參與。MIT科技專利辦公室董事Lesley Millar-Nicholson、 泰國數字經濟部部長Pichet Durongkaveroj、泰國總理辦公室主任Kobsak Pootrakool、MIT副院長、美國國家科學院科學技術和經濟政策委員會主席Richard Lester、MIT技術研究室主任Lesley Millar-Nicholson 等重量級嘉賓出席了本次峰會。區塊鏈領域近來受到業界矚目的公鏈Penta也在峰會現場引發與會者關注,其CEO David Ritter作為特邀嘉賓參加了區塊鏈科技的圓桌會議并發表獨到觀點。在當地時間19:30分MIT校友會舉行的私密VIP晚宴上,David Ritter也應主辦方邀約特別分享了Penta的應用落地情況。區塊鏈與MIT這類頂尖學府的密切交流,讓技術與學術交融,促使整個區塊鏈行業的發展愈發蓬勃。[2018/3/28]

B.SPV模式的問題

問題在于,我們永遠無法確定一個80字節的區塊頭是否真的是“比特幣區塊頭”。

唯一的方法是檢查對應區塊的全部信息。如果存在一筆無效交易或雙花交易”),整個區塊就會被視為無效區塊。

C.好消息

雖然我們無法驗證一個80字節的區塊頭是否是比特幣區塊頭,但是好在我們能對照當前出塊難度,通過計算區塊頭的哈希值來驗證區塊頭的工作量證明。

如此一來,我們就能檢驗礦工是否真的進行了哈希運算;可惜的是,我們還是無法確定這個區塊頭是否有價值。這就好比你托礦工Matthew幫你買一盒巧克力,你很容易就能驗證“Matthew是否真的花了300多刀買了一盒巧克力”,但是你無法確定這些巧克力是否好吃,也無法確定它們是否真的含有巧克力成分。

D.正向/反向證明回顧

你可以吃掉盒子中的每一顆巧克力,證實每一塊巧克力都很好吃,這就是“正向證明”。

或者你可以順著以下思路進行反向證明:這盒巧克力是被包裝好了的,看起來沒有被動過手腳;再加上這盒巧克力有品牌背書,我國又嚴格執行品牌法/商標法;已經有很多人買過這個牌子的巧克力,如果質量有問題,我只要隨手搜一下就能看到相關新聞/差評。

另一個采用反向證明的例子是退款承諾。假設你要買輛車,現在有三款車子,目前你對CarC最感興趣。

若想獲得正向證明,你就要把CarC開上個數千英里,隨行配有一支龐大的機械工程師團隊一路檢查這輛汽車每個零部件,并匯報問題給你。

如果是反向證明的話:假設CarA和CarB都提供一個具有法律效力的聲明“里程數不到40000英里的車子發生故障,即可退款”;但是CarC?沒有這種承諾,那就反向證明了CarC的質量不行。

要實現比特幣上的錯誤性證明,我們需要一樣東西——在區塊合法的情況下出現;在區塊不合法的情況下絕不出現。

在博弈論中,這被稱為“信號博弈””)中的“分離均衡”。其中,錯誤性證明的發送者分為“誠實”和“不誠實”兩類,我們正試圖通過低成本的手段淘選掉不誠實的那一類。

E.我們的需求

我們需要找到一種方法能提醒我們注意?

“區塊錯誤”。理想情況下,這種警示要來的又快又準確要在“20~30分鐘內”做出響應)。

舉個具體的例子,理想情形應該如下:

“Sally”因為某些原因收到了一筆比特幣,對方向她展示這筆交易的信息,Sally也看到這筆交易是合法的。

Sally想要在不運行全節點的情況下知道這筆交易是否經過6個區塊的確認。因此,她先是下載了所有比特幣區塊頭,接著向全節點要了MerkleBranch。她得到了一個?MerkleBranch?,然而不幸的是(她根本不知道):里面的區塊頭因為某些原因是無效的……

就在此時,“Fred“必須意識到出現問題了——有一個區塊存在一到多個“缺陷”。

必須通過某種激勵措施促使Fred向Sally發起某種警告。

在其他正常情況下,不能讓Fred有動力發起警告。

F.區塊錯誤的類別

區塊可能會出現很多種缺陷(詳見?

validation.ccp,特別是“CheckBlock”)。我將它們分為四類:

“第一類”——不良交易。

“第二類”——區塊數據缺失上,與Sally交易所在位置相鄰的節點數據處于未知或不可見狀態——這可能是人為或無意導致的)。

“第三類”——不良區塊。

“第四類”——不當累加。

第一類錯誤

第一級錯誤非常好對付。Sally可以直接通過驗證交易并reversingtheoutcome(sothat"false"validationreturens"true")來檢驗該交易的有效性,詳見下文。在SPV模式下,甚至能檢驗nLockTime和CSV,因為Sally掌握了MerkleBranch和所有區塊頭。只要觀察到兩筆交易有相同輸入,就能輕松檢查出雙花交易。重復的交易必然無法通過測試,因為它們必然屬于雙花交易。

第二類缺陷

第二類缺陷與SPV用戶的相關性最強——SPV用戶必須假設區塊的剩余部分是完整的,但是無法檢查是否真是如此。更糟糕的是,礦工可以在不核實區塊內容的情況下,創建一個新的區塊,他們也確實會這么做。因此,新創建出的區塊內可能存在無人知曉的內容,上述假設明顯是不合理的。

我將證明,從理論上來說,只要能向Sally提供有效的“區塊頭+MerkleBranch”,就應該存在一個完整的MerkleTree。因此,所有與區塊鏈數據缺失有關的缺陷,本質上就是“MerkleTree相關數據缺失”的問題。可以說,這種缺陷就是未知哈希值原像的問題,又或者說的具體點,可以通過對未知哈希原像進行采樣來解決這個問題。

我提出的解決方案是要求Sally除了區塊頭,還需要下載每一個區塊的最后一條交易?2。

第三類缺陷

ClassIII第三類缺陷

第三類缺陷非常普遍,但我相信這種小毛病可以通過一種特定的簡單方法解決。舉例來說,區塊版本如果出錯,SPV節點可以直接從自己維護的區塊頭中獲得正確的區塊版本。

其他大多數的信息缺失,可以從?coinbase交易中找到;因此除了所有的區塊頭,SVP節點還需要保存每個區塊的coinbase交易。有了這些信息,SPV節點就能知道:coinbase交易是否只出現一次且出現在正確的位置;“見證數據”是否存在及見證的內容;確定所有Withdrawal_DB和大多數Escrow_DB的正確性。

至于drivechain的Escrow_DB,主鏈?3上的SPV節點必須注意區塊中鏈間交易的累加影響;解決的方法放在第四類缺陷介紹。

所以我們要增加一些開銷——引入“SPV+”模式。“SPV+”節點除了要同步比特幣區塊頭,還要同步每個區塊的第一筆和最末尾交易,外加與這兩筆交易相關的MerkleBranch。

舊式:同步區塊鏈中每個區塊的區塊頭;每收到一筆新交易就進行一次匯總。

新式:80byte/區塊+/區塊+兩個MerkleBranch/區塊;每收到一筆新交易就進行一次匯總;與其他幾個節點建立支付通道。

SPV+模式會增加多少存儲開銷?我不確定,但假如coinbase交易約1000bytes,“最末尾交易”約280bytes,每個區塊約裝有5000筆交易,那么同步一個區塊的開銷就會提升為2192bytes/區塊?

4,而不僅僅是80bytes,而且開銷的增速不只是O(1),會大幅提高到O(log(n))。

按照一年約產出52596個區塊,因此存儲花銷會變為約115MB/年,不只是4MB/年。這看似大幅增加開銷,但從全局的角度來看,SPV+仍然是非常節省的方案。如果Sally想要完整的檢查交易有效性,她只需要對每個區塊多下載這些數據:最近六個月產出的區塊,或是那些記錄她收到比特幣的區塊,以及一些隨機的檢查信息。

第四類缺陷

第四類缺陷非常有意思。本文第7章會介紹如何將第四類缺陷轉換成第一類缺陷,不過簡單講,要解決第四類缺陷,我要求交易哈希值不僅僅作為交易自身的保證,還要說明自己對累加指標造成的影響。舉例來說,交易不僅要保證自己是“277bytes”,還要說明“加上自己之后,宿主區塊大小從500809bytes增加為501086bytes”。這樣一來,所有的“假交易”就能被孤立且識別出來了。也就是說,最末尾交易會提供很重要的信息。

在我深入更多技術細節之前,為了避免有人因為聽不懂而掉隊,我將以故事的形式再次說明“整個邏輯”。

(未完)

注1:“全節點”與“SPV節點”的區別也許并不像人們認為的那么清楚。簡言之,當一個全節點在下載一個新區塊時,相對于再下一個塊,它自身是處于SPV模式中的。另外,再假設51%的算力在秘密運行一個新軟件,該新軟件默認增設區塊延展數據。那么,即便別的節點想成為“全節點”,也不得不變成部分全節點、部分SPV節點的混合模式。如果那些礦工后面又把協議改回去了,去除掉了延展數據要求,那么我們就又成為了100%的全節點。但是,在這個過程中可能你都沒有意識到節點形態轉變了,實際上你也沒辦法知道。所以,只有假設協議本身固定不變的情況下,使用這些數據才有意義,當然,本文也就是這么假設的。不過,實際上,協議可能變更,也確實會變更,礦工永遠可以選擇運行定制化的軟件。

注2:準確點說,是對所有她想用SPV模式來“完全驗證”的區塊都要這么做。

注3:對于自身是側鏈的那些區塊鏈,鏈間交易出錯可以被歸類為第一類錯誤。要得到錯誤警示,側鏈的SPV節點需要找出兩筆交易,一筆在主鏈上提供存款的交易,另一筆是在側鏈上記錄存入金額的交易。因此,側鏈上的Sally必須檢查主鏈和側鏈兩條鏈才能發現錯誤。

注4:單塊的全部存儲成本是:“區塊頭+第一筆交易+第二筆交易+2×(32×log2(n))”,這里的“log2(n)”指的是“根據區塊中交易的數量可得的空間占用上限”。因此,在本例中,單塊的存儲成本是“80+1000+280+2×(32×log2(5000))”,大概是2192bytes。注意,我們不需要coinbase交易的位掩碼,因為我們已經知道其確切結構,但我們可能需要知道最后一筆交易的。

原文鏈接:?http://www.truthcoin.info/blog/fraud-proofs/作者:?PaulSztorc翻譯&校對:?IANLIU&阿劍

Tags:SPV比特幣MER區塊鏈SPV價格比特幣是什么shibmerican幣最新消息區塊鏈存證是什么意思

Coinw
數字貨幣:A股市場節前小幅震蕩 數字貨幣概念放量拉升_platment

來源:證券時報 作者:毛軍 隨著春節的日益臨近,A股市場開啟節日模式,滬深兩市周三繼續縮量小幅震蕩,上證指數、深成指小幅下跌,中小板指、創業板指則探底回升微幅上漲.

1900/1/1 0:00:00
區塊鏈:百億美元市場!區塊鏈如何賦能數字藝術?_USDG幣

曾風靡一時的“以太坊加密貓”拍出過令人咂舌的上百萬元,如今備受關注的數字藝術市場越來越大,動則上百萬美元也已不再稀缺,這個市場究竟會走向何方? 數字藝術市場 從巴黎到紐約.

1900/1/1 0:00:00
POC:Lava解讀 | PoC2+升級:新標準能為PoC領域帶來什么?_Yield Yak AVAX

前言: 本次訪談,是針對近期Lava技術團隊提出的“PoC2+”新P盤標準,選取了社區關注的若干問題,專門邀請Lava技術開發團隊親自作出解答.

1900/1/1 0:00:00
加密貨幣:分析 | 機構投資者入場真的會讓比特幣價格上漲嗎?_比特幣

在經歷了2017年年底的瘋狂過后,加密貨幣市場的話題性在2018年徹底爆發,雖然比特幣的一輪熊市下跌導致加密貨幣市場總市值出現了大幅萎縮.

1900/1/1 0:00:00
區塊鏈:觀點:區塊鏈2.0的最大機會在“監管科技”_數字貨幣被騙過程

文/劉明瑞 編輯/王巧 彼得?德魯克說:動蕩時代最大的危險不是動蕩本身,而是仍然用過去的邏輯做事.

1900/1/1 0:00:00
區塊鏈:區塊鏈周報 | 區塊鏈企業援鄂物資陸續抵達 歐美多國出臺加密貨幣相關新政_加密貨幣

PA周刊第九十一期2020.01.27-2020.02.02特別關注|武漢新型冠狀病,支持湖北,區塊鏈行業在行動!歐科集團:首批援鄂醫用物資全部送達.

1900/1/1 0:00:00
ads