比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > USDT > Info

區塊鏈:技術解讀|鏈上擴容技術引卷(一):數據層與網絡層

Author:

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

鏈上擴容是針對區塊鏈協議層的擴容,是對底層區塊鏈進行改造,包括其數據層、網絡層、共識層和激勵層,使得區塊鏈自身變得更快、容量變得更大,達到擴容的目的。本文將從共識層、網絡層以及數據層出發介紹現有鏈上擴容技術。

數據層

有向無環圖

DAG是一種數據結構。原本是計算機領域一種常用數據結構,因為獨特的拓撲結構所帶來的優異特性,經常被用于處理動態規劃、導航中尋求最短路徑、數據壓縮等多種算法場景。

作為最新的分布式賬本主力競爭技術,DAG可以用來解決傳統區塊鏈的效率問題。最早是在2013年的bitcointalk論壇中作為“Ghost協議”被提出,這一提議是為了解決當時比特幣的擴容問題,Vitalik在以太坊紫皮書描述的PoS共識協議Casper,也是基于GHOSTPoW協議的PoS變種。后來,在NXT社區,又有人提出了DAGofblock,將DAG的拓撲結構用來存儲區塊并解決性能問題。

傳統區塊鏈只有一條單鏈,打包出塊無法并發執行,而DAG的網狀拓撲可以并發寫入。通過將把同步記賬提升為異步記賬,DAG被認為可以解決傳統區塊鏈的高并發問題,是區塊鏈從容量到速度的一次革新。

什么是有向無環圖?

簡單來講,有向無環圖就是多條支鏈跟隨主鏈,這些鏈的大方向一致且不存在環路。

圖:有向無環圖數據結構

DAGvsBlockchain

資料來源:https://medium.com/@kotsbtechcdac/dag-will-overcome-blockchain-problems-dag-vs-blockchain-9ca302651122?

區塊鏈的組成單元是block,DAG的組成單元是tx。

區塊鏈是單線程的,DAG是多線程的。

區塊鏈所有交易記錄記在一個個區塊中,DAG每筆交易單獨記錄在每筆交易中。

區塊鏈上最新的區塊只需要加入到最長的一條鏈上,DAG中的新增交易需要加入到之前的所有“鏈”上。

區塊鏈需要礦工,DAG不需要礦工。

優點:

提高交易速度:DAG可以多線程交易,而區塊鏈只能單線程交易,而且DAG中交易者越多速度越快。

節省成本:DAG把交易確認的環境直接下放給交易本身,因此不需要手續費,這一點將有助于提升交易量。

聲音 | 騰訊金融李康寧:可利用區塊鏈技術解決供應鏈金融市場諸多痛點:據中證網今日消息,騰安基金銷售公司總經理、騰訊金融科技首席理財專家李康寧表示,可在傳統供應鏈金融的基礎上結合區塊鏈技術,利用區塊鏈技術不可篡改、去中心化的特點解決供應鏈金融市場各環節參與者的諸多痛點。核心企業在區塊鏈上對其應付賬款進行確權后,形成數字債權憑證,應收賬款通過區塊鏈不可篡改、雙重記賬的方式流轉至多級,穿透覆蓋至長尾端供應商,并可以在任何一個環節追溯到核心企業。有核心企業的應付賬款作為信用保證,金融機構風險降低,在鏈條上的供給供應商就可以向金融機構發起融資需求,以改善小微企業融資難、融資貴問題。[2019/3/20]

節約資源:DAG中沒有礦工角色,所以不需要消耗社會資源。

缺點:

交易時間難確定:DAG是一種異步通訊模式,異步通訊所帶來最大的問題在于一致性不可控,因此確認時間會更長。

雙花問題難解決:DAG是多鏈結構,因此很容易出現雙花問題,并且這個問題目前還沒有很好地解決方案。

交易冗余:很容易出現多條鏈處理同一交易的情況、從而造成系統壓力指數增長。

DAG?

項目:

圖:DAG相關項目,圖片來源:https://www.daglabs.io

IOTA、?Byteball?以及?NANO?作為代表項目,分別提出了各自的創新點,例如IOTA提出的Tangle是基于DAG的分布式賬本結構。這幾個項目其實挺有意思,這里先挖個坑,后面有時間來填。

總結

總的來說,DAG憑借其速度快、吞吐量高的優勢,有望在區塊鏈數據層這一塊被使用以尋求突破。但作為一個較新的數據結構,其安全性和一致性等問題還亟待解決,大規模的測試也還需要一定時間。我們關注到,越來越多基于DAG的創新項目和DApp正源源不斷的涌現,DAG值得我們保持持續關注。

隔離見證or擴塊

我們知道,BTC的出塊時間約為10分鐘=600秒,每個區塊的大小為1MB,每筆交易的交易狀態和見證數據的大小約為250B,這樣算下來,BTC的每秒交易上限約為1,000,000/250/600≈7tps(txpersecond)。7tps意味著什么呢,與現有的銀聯、支付寶等交易系統動輒上百萬的tps相比,實在相形見絀。我們再來看看這個簡單的公式,BTC的吞吐量由三個因素決定:分子——區塊大小,分母——一筆交易的大小和出塊間隔時間。

吞吐量≈區塊容量大小/(交易數據大小*出塊間隔時間)

出塊間隔時間

中本聰在比特幣網絡中,使用difficulty參數,每間隔2016個區塊會動態調節一次新區塊的產生速率,使得平均出塊時間約等于10min不變。這么做是有原因的,出塊間隔時間是由驗證時間、傳播時間和共識時間構成的,一味降低出塊間隔,會使得分叉率上升,BTC選擇的10min作為出塊間隔時間其實是對于網絡效率和網絡安全性的一個折衷。看來縮短出塊時間帶來的提升有限且對于BTC而言暫時是行不通的。

聲音 | 全國工商聯副主席:開發基于區塊鏈技術解決民營企業“走出去”的問題:據京鏈傳媒報道,達沃斯世界經濟論壇期間,中國區塊鏈代表團拜會了全國工商聯副主席王永慶。王永慶建議開發基于區塊鏈的技術來解決中國民營企業“走出去”的問題。鄧迪表示,達沃斯之行結束后,將立即組織中國區塊鏈應用研究中心理事共同研究,盡早拿出解決方案。[2019/1/28]

單筆交易大小

比特幣的交易信息主要包括兩個部分,交易狀態和見證數據。這兩個部分的數據大小約是相同的,實際情況是,并不是所有的參與者都需要關心這兩部分數據。也就是說,如果將見證數據從從單筆交易數據中抽離出來,即使在區塊大小不變的情況下,也能提升打包區塊中的交易數量,從而提升比特幣的吞吐量,這一技術,稱為隔離見證。

隔離見證,即?Segregated?Witness,由PieterWuille在2015年12月首次提出。見證在比特幣里指的是對交易合法性的驗證。隔離指的就是把見證數據從交易信息里抽離出來,單獨存放。

大致上隔離見證的底層數據變化如下:

1)SegWit為區塊中定義了一個新的數據結構,增加了一個屬性“witness”;

2)將原區塊數據中的見證數據部分,挪到witness數據結構中,

并且該結構數據是與交易數據獨立分開提交到區塊中的。

3)在witness結構中的數據只與驗證交易有效性有關,與實際的交易詳情數據無關。

4)在“隔離見證”版本中,增加了一種新的權重計量單位:WU。每個區塊的大小最大允許4MWU。

處在原始1MB區域中的數據,每1字節大小等于4WU;處在witness數據結構中的數據,每1字節大小等于1WU。

5)雖然隔離見證并沒有直接提升原始區塊大小,但將見證數據抽離,簽名等信息后移,實際上的區塊容量大小已經到了1.8MB

在此之外,隔離見證更主要的目標是

解決比特幣的交易延展性問題。

為閃電網絡鋪路。(Ref:?BTCLightningNetwork)

雖然隔離見證能夠將比特幣進行一次軟擴容,但僅僅使用隔離見證,在單筆交易大小上做文章帶來的性能提升是有限的,與理想的性能之間仍然存在著好幾個數量級的差距。

區塊容量大小

也就是擴塊。區塊大小調整的話題爭論喋喋不休,甚至牽扯到信仰與底層哲學,導致BTC、BCH、BSV三足鼎立的局面,詳盡的來龍去脈請自行谷歌#區塊鏈擴容之爭#,在這里不再贅述。

簡單來將,所謂擴塊,就是將比特幣的區塊容量大小的限制由1MB擴大到2MB、4MB甚至TB級別,以求達到擴容的目的。我們試著來總結一下擴塊之爭這核心矛盾:

主要矛盾來自于比特幣開發者團隊內部,對于比特幣的底層哲學以及信仰的分歧,有點虛,但的確是根本原因。

動態 | 利用區塊鏈、物聯網傳感器和食品傳感技術解決食品安全問題:據coinjournal消息,世界經濟論壇(WEF)的一項新研究表明,包括物聯網(IoT)傳感器、區塊鏈和食品傳感技術在內的新興可追溯技術有潛力支持食品系統的積極轉型。[2019/1/24]

擴大區塊容量大小,需要修改比特幣代碼,帶來的直接影響是硬分叉,也就是后來的BCH、BSV等分叉鏈的出現,當然硬分叉本身具有兩面性,仁者見仁智者見智。

區塊大小的增加,對于需要下載整個賬本的全節點來說,其硬件及網絡的投入成本及維護成本會越來越高,這會使得資源集中的大型礦場愈發獲得優勢,越來越多的節點會被淘汰,而節點的減少將不利于整個網絡的安全性和去中心化。

區塊大小增加,對礦池而言需要更大的網絡帶寬和網絡延時,對于擁有4/5大礦池但網絡帶寬不足的中國礦業來說,是難以接受的。往遠了說,不公平競爭明顯是違背區塊鏈的愿景的。

我們再來看看比特幣以及其兩個分叉幣:

BTC電子黃金,采用隔離見證+閃電網絡的軟擴容方向,區塊大小仍保持1MB。

BCH電子現金,在2017年8月1日從BTC中分叉出BCH,將區塊大小從1MB提升至8MB,并降低交易費用,號稱自己才是中本聰“點對點電子現金系統”的真正體現。

BSV全球賬本,2018年11月15日,BCH內部再次因為BCH的未來發展方向出現分歧,11月15日進行了硬分叉誕生了Nchain系BCHSV,區塊大小為128MB。2019年7月24日,BitcoinSV進行了協議升級,區塊上限調整為2GB。

我們再來看看這三條鏈的現狀,如下圖所示,BTC還是當之無愧的龍頭老大,BCH和BSV的市值也分別成功擠進加密貨幣的前5位與前11位。

在線全節點數?BTC遙遙領先BCH和BSV,這從一方面代表了礦業及全網算力的支持度,也是硬分叉之后礦主用腳投票的結果。

從網絡安全層面來看,BCH的算力維持在2.13EHash/s,約為BTC的1/40。BSV維持在903PHash/s,約為BTC的1/80。

鏈上交易次數?從圖上看到的結果似乎差距沒有那么大,但其實,另一項數據報告顯示:BCH、BSV目前大部分是?OP_RETURN?操作碼開頭的數據記錄輸出,而非真正的交易。

如果某個交易輸出,其鎖定腳本以OP_RETURN操作碼開頭,這筆交易也被稱為OP_RETURN交易,或NullData交易,會隨交易一同被寫到賬本中,但不會被當成UTXO,不會帶來UTXO集的膨脹,所以其金額通常為0。BCH和BSV對其數據大小的限制是220B。

BCH及BSV的交易手續費遠遠低于BTC,這得益于大區塊所帶來的以低手續費就能吸引礦工來打包區塊的優勢,以及BCH及BSV的設計策略。

聲音 | 李國都:輕工產業鏈期望通過區塊鏈技術解決傳統供應鏈金融痛點:近日,“第五屆未來金融科技”在北京舉辦,該活動由財視中國主辦,中國輕工企業投資發展協會,中國輕工企業投資發展協會科技金融創新發展專業委員會特別支持。

中國輕工企業投資發展協會理事長李國都表示,李克強總理做政府工作報告時,多次提到要規范發展地方性中小金融機構,解決中小企業融資難、融資貴問題,為響應國家政策,輕工產業鏈金融服務平臺期望通過在系統上導入區塊鏈技術,解決傳統供應鏈金融的痛點。[2018/9/26]

圖:BTC、BCH和BSV的現狀

BTC、BCH、BSV關于區塊鏈擴容之爭,簡單來講,主要就是區塊大小之爭,那我們來看看這三者的實際區塊大小與其區塊大小上限的現狀:

我們簡單地使用公式區塊使用率=區塊實際大小/區塊大小上限來得出。

BTC的區塊使用率維持在80%左右,幾乎出于滿負荷的狀態,可以想象一旦交易需求增長,網絡將會陷入擁堵狀態。值得注意的是,圖中所統計的值是隔離見證以及閃電網絡上線后的情況。

BCH及BSV的區塊使用率通常不足1%,尤其是在BSV擴塊到2GB之后更是如此。值得注意的是,BCH和BSV與BTC的交易構成完全不同,如上文所提及的那樣,BCH和BSV大部分交易是由OP_RETURN交易構成的,而OP_RETURN交易的數據大小上限僅為220B,這是與BTC做對比的一個非單一變量。

圖:2019年BTC、BCH、BSV實際區塊利用率現狀

其實在理論上,從設計的角度來講比特幣的區塊大小是有上限的,在《OnScalingDecentralizedBlockchains》這篇論文中提到:

Theblocksizeshouldnotexceed4MB,giventoday’s10min.Averageblockinterval(orareductioninblock-intervaltime).A4MBblocksizecorrespondstoamaximumthroughputofatmost27transactions/sec.

根據論文中一系列的論證過程,得出的結論是:在目前區塊間隔10分鐘的情況下,區塊大小不應該超過4MB,相應的吞吐量至多為27筆交易/秒。

總結

以上,我們分析了BTC與BCH&BSV不同的擴容策略:BTC采取的是不改變區塊大小1MB的情況下,通過隔離見證+閃電網絡的“軟”擴容方案,而BCH、BSV采取的是擴塊以及增加操作碼的“硬”擴容策略。同時我們還分析了三者目前的現狀,以及實際的區塊利用率。

動態 | IBM將利用區塊鏈技術解決無人機安全問題:據ccn報道,美國專利商標局(USPTO)周四公布的文件中顯示,IBM已申請了一項系統專利,該系統將使用分布式賬本技術(DLT)來解決與商用和娛樂應用中無人機使用量增加相關的隱私和安全問題。在專利申請中,作者詳述了區塊鏈分類賬如何用于存儲與無人駕駛飛行器(UAV)飛行相關的數據,“特別是當安全風險被認為相對較高時”,確保空域管制員和監管機構可以監督無人機。[2018/9/21]

個人認為,BTC目前的鏈上擴容方案能夠增強吞吐量及降低交易費用,但其瓶頸也顯而易見,很難適應未來的大批量交易的需求,而BCH尤其是BSV的大區塊策略,雖然能夠有效提升交易吞吐量和降低交易費用,但由此引發的趨中心化的問題以及帶來的安全性問題仍然是個巨大挑戰,尤其是BSV將區塊大小由128MB擴大到2GB這一行為在以上兩個問題沒有得到解決之前顯得有些盲目,完全沒有必要。似乎話題又回到了區塊鏈的“不可能三角”問題,如何在擴展性、安全性、及去中心化這三個問題中尋找微妙的平衡,既是哲學,也是信仰。

網絡層

分片

分片概念源于數據庫領域。分片指數據庫中數據的水平分區,每個分片都保存在一個單獨的數據庫服務器實例上,以分散負載。區塊鏈分片的基本思路是將區塊鏈網絡中的節點分成若干個相對獨立的分片,單個分片處理規模較小的事務甚至只存儲部分網絡狀態,多個分片并行處理事務,理論上整個網絡的吞吐量將會提升。

在Near的官網上看到一篇博客,介紹了主流分片協議的思想,非常值得參考。下面我們從這篇文章的觀點出發,介紹分片技術分類以及分片所面臨的挑戰,來構建我們對這個區塊鏈未來方向的協議的認知。

分片面臨的挑戰:

網絡安全性

網絡安全性最直接的挑戰就是作惡成本降低,網絡分片中通過將網絡中的節點按照既定規則分配到不同的分片以達到擴容的目的,這會帶來一個問題:單個分片中的算力大小和驗證人節點數將遠小于原來的整個網絡,這將使得攻擊單個分片較攻擊整個網絡的成本大大降低

針對PoW共識網絡發起51%攻擊

針對非PoW共識網絡發起女巫攻擊

分片前后作惡成本對比如下:

圖:攻擊非分片網絡與攻擊分片網絡分區對比,圖片來源:nearprotocol.com

針對網絡安全性的問題,現在的分片設計主要思路集中在采用何種共識算法、如何劃分分片大小、隨機節點分配等來降低單片分片被攻擊的概率以及提升作惡成本。

數據有效性

數據有效性主要是關于如何識別不合法區塊。

典型的一個場景如下圖所示,作惡節點共謀在1號分片上產生一個不合法區塊B,在區塊B中打包了一筆不合法交易使得Alice獲得了1個token,作惡者之后在B區塊之上出了一個合法區塊C,企圖混淆不合法區塊B,并在C中發起一筆跨分片交易,將這1個token轉移給了Bob,至此,不合法交易的token停留在了正確的分片2以及合法的區塊Y中。

圖:跨分片交易數據有效性問題示例,來源:nearprotocol.com

解決以上問題的一個有可能的方案是采用無向圖的結構來排列分片,其中每個分片都與其他幾個分片連接,并且僅允許相鄰的分片之間執行跨分片交易,非相鄰分片之間進行跨分片交易需要通過多個分片進行路由,每個分片中的驗證人都需要同時驗證本分片以及相鄰分片的所有交易。采用這一實現的是?Kadena的Chainweb。

圖:采用無向圖的分片結構

有意思的是,雖然強制驗證人同時驗證相鄰分片可以解決單個分片被攻陷的潛在風險,但是如果多個分片被攻陷的共謀作惡仍然會出現上述問題。例如下圖:分片2與1、3相鄰,但分片1與3不相鄰,其中分片1、2是由作惡節點控制的分片,3是可信任分片。如果分片1、2共謀作惡,在分片1上產生的不合法交易通過跨分片交易在分片2中被確認并打包,請注意,此時在分片2上被打包的區塊Y是完全合法的可以通過分片3驗證人驗證的,但分片3無法驗證分片1上發生的不合法交易。

圖:利用無向圖解決數據有效性的失敗場景,來源:nearprotocol.com

目前看到的正確解決數據有效性的主要方向有兩個:釣魚人機制和計算加密證明

釣魚人機制

釣魚人方案的思路是在有跨分片傳遞區塊頭信息時設置質疑期,期間任何誠實節點都可以提供區塊無效證明,只要在分片中至少有一個誠實驗證人節點,這種方法就能保證系統的安全性,如下圖所示:

圖:Fisherman機制示意,資料來源:nearprotocol.com

在目前提出的協議中,這是主要的方法,但是這會存在兩個主要的缺點:

質疑期需要足夠長,這樣才能保證誠實節點能夠下載潛在的無效區塊并進行驗證和發起質疑,這會降低網絡效率。

第二個問題是質疑的存在使得攻擊者可以將其作為新的攻擊媒介,攻擊者通過無效質疑向網絡發起大量垃圾信息從而拖延誠實節點進行有效質疑,使不合法的交易順利通過質疑期。

無獨有偶,釣魚人的機制也同樣在其他擴容方案中被采用,雖然釣魚人的方案已經比直接確認無效區塊的方案要更優化,但以上兩個問題的解決目前還沒有看到較好的答案,后續發展值得關注。

簡潔的非交互式知識論證

第二種解決方案是通過使用某種加密結構證明某個計算是正確執行的,關于SNARK以及zk-SNARKs是什么,請自行Google。這里推薦Zcash的一篇介紹文章:Whatarezk-SNARKs?

zk-SNARKs的主要挑戰來自:

性能,創建證明本身需要一定的時間,例如?Coda?協議中每筆交易需要大約30s來創建證明。

該技術本身還處在初期研究階段,也未經過長時間的測試。

“Toxicwaste”/“有廢物”。SNARK依賴于一個信任預設,在這個預設中一部分人執行一些計算并會守信地丟棄掉計算中間產物。反過來,一旦所有參與者共謀并保留計算中間產物,那么造假和欺騙就會發生。

系統設計引入了額外的復雜性。

具有圖靈完備的智能合約語言的協議將無法使用SNARK來證明鏈的有效性。

數據可用性

數據可用性簡單來講就是指一個區塊上記錄的數據是否可用。

通常,操作特定區塊鏈的節點分全節點和輕節點。那么,在分片的場景下,每一個分片中的驗證者實際上是該分片的全節點,而系統中的其他參與者則充當輕節點。

圖:全節點共謀破壞數據可用性場景示意,資料來源:nearprotocol.com

現在,如果大部分的全節點共謀,它們可以生成一個有效或無效的區塊,并將哈希提供給輕節點,套取利益,之后全節點不再分發這個區塊內容,即使下個區塊的驗證人是可信的,也無法阻止節點惡意刪除歷史數據導致區塊不可用的問題。而這類問題,在全節點數量更小的分片場景下,作惡成本更加低廉。

解決這一問題的輔助方法主要有監護證明和糾刪碼

圖:監護證明示意圖,資料來源:nearprotocol.com

監護證明的主要思路是讓公證人比驗證人更頻繁地在分片之間輪換。公正人唯一需要做的事情是證明區塊能夠被下載即數據是可用的。因為公證人不需要下載完整的區塊數據,所以可以更快、更頻繁地在不同分片之間進行輪換和驗證。

圖:糾刪碼示意圖,資料來源:nearprotocol.com

另一種思路是使用糾刪碼的結構,使得即使在區塊的部分不可用的情況下仍然可以完整恢復整個區塊。Polkadot和EthereumSerenity也在圍繞糾刪碼進行設計,以保障其輕節點能夠確認區塊數據是可用的。

總結

本文中我們簡單介紹了區塊鏈擴容中鏈上擴容技術的一部分,包括數據層和網絡層的主流思路和技術,在后文中,我們會主要從共識層展開來繼續分析鏈上擴容,并對上卷的內容作一定補充,包括零知識證明等。

參考文獻

TheauthoritativeguidetoBlockchainSharding,part1-NEARProtocol

UnsolvedProblemsinBlockchainSharding-NEARProtocol

深度介紹區塊鏈鏈上擴容解決方案之分片Sharding

白話DAG:第3代區塊鏈技術DAG全面盤點

下一代區塊鏈DAG技術研究室

報告|比特幣擴容之爭始末

Tags:區塊鏈DAGBTCBCH區塊鏈通俗易懂的說法DAGO幣CWBTC幣bchat幣聊

USDT
區塊鏈:一周要聞回顧 | 俄央行測試穩定幣,四川規范比特幣挖礦

摘要 事件:近日,俄羅斯的中央銀行俄羅斯銀行已開始在監管沙箱中測試與實際資產掛鉤的穩定幣,并密切關注其潛力與影響。四川甘孜出臺方案,規范比特幣挖礦活動.

1900/1/1 0:00:00
FOM:明知玩Just.Game大概率虧損,緣何仍有不少人“火速入坑”?

原創:五火球教主 近些天,如死水一般的幣價波動讓區塊鏈行業內的人士無聊到了極點,幾個原本異常活躍的群也開始逐漸陷入冰點,不再有人說話.

1900/1/1 0:00:00
區塊鏈:浙江法院上線“e鍵智能送達”,全流程通過區塊鏈技術上鏈存證

來源:中新網 編者注:原標題為《浙江法院上線“e鍵智能送達”,全流程無人工干預》 “e鍵智能送達”上線儀式.

1900/1/1 0:00:00
Tornado : 為以太坊引入隱蔽交易機制

作者:?TornadoCash翻譯&校對:?曾汨?&阿劍 來源:以太坊愛好者 默認情況下,你在以太坊上所有的交易歷史和余額都是公開的.

1900/1/1 0:00:00
THE:觀點 | 合成工具將成為通往DeFi未來、實現DeFi普及的階梯

作者:?JoelJohn翻譯&校對:?閔敏?&阿劍 來源:以太坊愛好者 編者注:原標題為《引介|??DeFi中的資產合成工具:Synthetix》注:我本人與Synthetix團.

1900/1/1 0:00:00
區塊鏈:從GB到KB,零知識證明如何打造簡潔的區塊鏈?

寫在前面:本文作者為區塊鏈開發者RonaldMannak。他在文章中通過簡單的描述說明了零知識證明對區塊鏈可擴展性的意義。很多人都寫過關于零知識證明的技術文章.

1900/1/1 0:00:00
ads