什么是區(qū)塊鏈糾纏和比特幣側(cè)鏈
為了不讓更多第三方參與雙向錨定,每個(gè)區(qū)塊鏈可以通過協(xié)議來實(shí)現(xiàn)強(qiáng)制執(zhí)行的共識(shí)。一個(gè)區(qū)塊鏈系統(tǒng)性能能夠理解其它區(qū)塊鏈的共識(shí)系統(tǒng),能夠?qū)崿F(xiàn)在獲得其它區(qū)塊鏈系統(tǒng)提供的鎖定交易證明之后,自動(dòng)釋放比特幣。
描述:
然而,當(dāng)使用比特幣的側(cè)鏈時(shí)存在幾個(gè)問題:
大多數(shù)公共區(qū)塊鏈沒有最終結(jié)算方案。如果第二層區(qū)塊鏈也沒有最終結(jié)算方案,那么比特幣區(qū)塊鏈就不能確認(rèn)第二層區(qū)塊鏈的交易是否被第二層區(qū)塊鏈網(wǎng)絡(luò)所接受。(例如:鎖定第二層鏈代幣(secoins))它所能得到的只是一個(gè)概率保證:越多的工作量證明被用來驗(yàn)證一個(gè)交易,就意味著它越有可能已經(jīng)被接受。
? 即使第二層區(qū)塊鏈有最終結(jié)算方案,如果沒有區(qū)塊鏈糾纏(見下一節(jié))那么第二層區(qū)塊鏈將遇到與比特幣區(qū)塊鏈相同的問題。如果存在糾纏,那么第二層區(qū)塊鏈的出塊率不能高于比特幣的出塊率。
? 比特幣的側(cè)鏈需要一個(gè)軟分叉或者硬分叉來添加新的復(fù)雜操作碼。Blockstream的方案現(xiàn)在是不完整的,沒有解決簡(jiǎn)單支付驗(yàn)證(SPV)證明的工作量證明(POW)的驗(yàn)證問題。
區(qū)塊鏈糾纏
解決雙向錨定缺乏最終交易確認(rèn)問題的一種方式是區(qū)塊鏈糾纏,例如在第一層區(qū)塊鏈中鎖定交易的被撤消,就等同于第二層區(qū)塊鏈中解鎖交易的撤消。有幾種區(qū)塊鏈糾纏的方式:
1. 第二層區(qū)塊鏈的交易被嵌入到第一層區(qū)塊鏈的交易中(例如嵌入到OP_RETURN 支付載荷中,像合約幣(Counterparty))
2. 第二層區(qū)塊鏈的區(qū)塊有兩個(gè)父塊,一個(gè)在第二層區(qū)塊鏈,一個(gè)在第一層區(qū)塊鏈。第二層區(qū)塊鏈節(jié)點(diǎn)驗(yàn)證第一層區(qū)塊鏈里的父塊是否是在比特幣的最長(zhǎng)鏈。
3. 第二層區(qū)塊鏈的區(qū)塊被錨定在被監(jiān)管的第一層區(qū)塊鏈的加密交易中。提供確認(rèn)區(qū)塊頭部信息(header),因?yàn)榈诙訁^(qū)塊鏈客戶端也保存了一份比特幣區(qū)塊鏈的副本(第一種方式中的整個(gè)區(qū)塊鏈,第二種方式是只保存區(qū)塊頭
部信息)。而第三種方式并不可行。下圖顯示了側(cè)鏈將比特幣轉(zhuǎn)移到第二層區(qū)塊鏈中而無需額外確認(rèn)(以比特幣盡可能快的速度):
區(qū)塊鏈糾纏有以下幾個(gè)缺點(diǎn):
? 它阻止了第二層區(qū)塊鏈以比比特幣更高的速率創(chuàng)建區(qū)塊,因?yàn)樵阱^定前,區(qū)塊鏈分支的接受情況存在不確定性。有可能出現(xiàn)描定的是一條短鏈,而不是錨定在最長(zhǎng)鏈嗎?
? 在比特幣交易中嵌入了第二層區(qū)塊鏈的交易時(shí),第二層區(qū)塊鏈的所有用戶都需要處理兩個(gè)鏈的交易。
? 區(qū)塊鏈糾纏解決了最終結(jié)算方案的某方面問題,但沒有解決第一層區(qū)塊鏈中被鎖定的比特幣的監(jiān)管問題。