1. 程式人生 > >當未來比特幣交易資料非常大時,普通使用者節點該怎麼辦

當未來比特幣交易資料非常大時,普通使用者節點該怎麼辦

一、可擴充套件的支付驗證網路        現在安裝一個比特幣完整的節點錢包,總共需要大概100G左右的硬碟空間,計算方法為每一個區塊的大小為1M左右,乘以現在的總區塊數目就是完整節點的大小了;區塊鏈的區塊是一直都會增加的,意味著全節點的大小也會無止境的增長。    在未來由於全節點的大小變得非常大,我們普通使用者是 不大可能會擁有全節點了,比特幣的全節點就會變得非常少,這是我們不願意看到的結果。    在未來由於全節點資料量非常大,並且總的TXID在不斷的增加,所以為了實現節點的去中性化,必須使用輕節點的方案。輕節點指的是按照中本聰在白皮書上寫的錢包只儲存高度修剪過的區塊鏈,大致可以理解為輕節點錢包只儲存與錢包主人交易相關的區塊。但是這樣的話會面臨安全性的挑戰,輕節點無法驗證一個完整的區塊,如果比特幣網路最終由少數的全節點和挖礦節點控制,輕節點時不能發現這些少數的完整節點發起的硬分叉和雙花問題的出現。    中本聰欺詐證明(Fraud Proofs)可以作為簡單支付驗證(SPV)的安全策略;能解決輕節點無法驗證一個完整區塊鏈的問題。   SPV能替代輕節點解決了無法驗證完整區塊鏈的問題後,防止少量完整節點的雙花和硬分叉問題成了SPV節點是否安全的關鍵。     SPV錢包有三個辦法可以確認交易是否可信任 :     一、是如果交易的輸入被發現缺少大於0的輸入,那就直接判斷為交易欺詐;     二、是建立花費警告,如果交易裡不含警告,就可以提高信任的概率;     三、是完善本地交易驗證規則 ;         還有一種辦法提高SPV錢包的安全性,就是對整個網路的結構做優化。其中的辦法叫在節點間建立“分片過濾器(split filters)”、節點迴圈、布隆過濾器等。         提高SPV節點的安全性還有一個辦法就是強化SPV節點的功能。包含加入“證明者”、“證明發現者”等功能。          比特幣網路最終將變成少量的完整節點和挖礦節點,再配上大量的SPV節點,再配上一些交易中繼站、和各種其他錢包組成的一個網路。這種網路結構就非常有利於擴充套件。    

二、目前比特幣所存在的問題分析    目前比特幣系統主要存在以下幾大問題:    1、處理交易量有限(主要是區塊大小隻有1M);    2、協議進化是非常緩慢的,開發非常低效;    3、沒有經歷過大規模的廣播風暴;     因為比特幣經歷過延展性攻擊輔助了一次大規模的壓力測試,是在2015年末發生的。那一次攻擊,因為有延展性漏洞的輔助,傳送和接收了幾筆比特幣,但均過了超過十天才完成。那一段時間,幾乎所有的比特幣錢包全部崩潰了。比特幣網路完全不像個可以用的樣子。這裡的崩潰指的是當時比特幣網路完全無法正常處理交易,無論你支付多少手續費,都有大概率無法得到確認。還有,崩潰不是指真正爆炸死掉了。分析過擴充套件性漏洞,發現導致錢包崩潰的根本原因就是壓力測試形成的廣播風暴。延展性 漏洞只不過是放大了廣播風暴的量級。究其原因就是目前比特幣網路一秒鐘最多能處理7筆交易,平均是一秒鐘3筆交易,如果突然網路上發起每秒300筆的交易,網路上的節點錢包就會處於崩潰的邊緣。    通過大型網路設計的相關研究表明,在目前的比特幣網路在超大規模的網路風暴下是非常容易崩潰的。    主要原因是目前比特幣的點對點網路是一種比較單一的網路。比特幣的網路節點基本就是家庭電腦,公司伺服器上的節點,這種節點是不具備處理超大型規模廣播風暴的能力的。    現在的網際網路之所以能夠處理海量的資料資訊廣播,是因為網際網路的節點 包括了各種伺服器、超級資料中心、和大量的交換機和路由器。其中交換機和路由器這種職業化的資訊轉接和傳送機器就是處理資訊廣播風暴的關鍵裝置。     比特幣目前的網路完全沒有類似現在的交換機和路由器的裝置,傳送交易、接收交易、廣播區塊、接收區塊,現在還完全是依靠的是家庭電腦和伺服器電腦。這種網路結構不可能成長為一種大型的網路結構的。     當比特幣網路面臨超級大的交易廣播時,恐怕目前的比特幣網路結構是無法應對的。理想上的純粹去中心化,所有人都是對等的節點,這種網路結構是死路一條。除非我們的前程就是每秒3筆交易。     純粹的對等網路是無法大規模擴充套件,比如我們現在有大約6000個節點,服務著大約全球百萬級別的使用者。如果增加到一百萬個節點,甚至一千萬個節點,我看到那時候這種對等網路就掛掉了。     比特幣網路結構以後一定要有超級節點,就和現在的EOS設計的超級節點類似,能夠處理海量的資料。它能夠儲存所有的資料。這可不單單儲存區塊鏈資料,它還要能承擔大量的區塊鏈瀏覽器和SPV錢包的資料訪問的查詢工作。     比特幣網路結構以後還一定要引進如網際網路上的交換機和路由器一樣的裝置。 類似的比特幣交換機和路由器就專門用來發送和轉接交易,它們不需要儲存區塊資料。三、比特幣網路發展方向
    現在比特幣網路的結構是不完善的; 一、是無法承接大規模的廣播風暴;二、是這種結構本身無法擴充套件,也就是節點數量無法大規模增加,否則網路就會出現問題。     就目前的網路結構無法大規模擴充套件網路結點這個事,其本質上就是說我們不可能有足夠多的使用者去執行節點,哪怕是已經有很多使用者了。這個網路節點可不是僅僅指完整節點,甚至是指輕錢包節點數量也是不可能大規模的擴充套件的。就比如現在我們有6000多個完整節點,可能有上百萬個手機等終端裝有輕錢包節點,而同時線上的輕錢包可能只有數萬個。如果這個線上的輕錢包數量增加到數千萬個,那比特幣網路就可能會無法正常工作。四、解決方案