編者按:本文來自鏈聞ChainNews,作者:王嘉平,創新工場執行董事,Odaily星球日報經授權發布。從2008年11月中本聰SatoshiNakamoto發表論文「Bitcoin:APeer-to-PeerElectronicCashSystem」算起,比特幣即將迎來第一個十周年。這十年中,比特幣與其背后的區塊鏈技術蓬勃發展,以去中心化技術之名,大有變革整個在線數字世界的氣勢和雄心。不過,雄心歸雄心,正蓬勃發展的區塊鏈技術,尤其是公鏈領域,有一個瓶頸卻一直有待突破:以當今數字世界的規模和體量,任何一個在線系統,如果沒有一個大容量、高吞吐的基礎設施,就無法承載哪怕僅僅一個互聯網級別的應用。很可惜,中本聰的論文中完全沒有考慮到這個問題,也許是走出這第一步實屬不易,他也沒想太多之后的事情,也許是這樣的一個高性能的設計,在徹底去中心化的系統中難度太大。總之,近10年過去了,為了提高區塊鏈系統的性能,前赴后繼出現了大把項目,但到今天為止,并沒有出現能夠承載互聯網級別應用的解決方案。這是一個世界性的難題,全世界最聰明的學者、開發者都在嘗試解決這個問題。我曾在微軟工作多年,擔任微軟研究院主管研究員,很長一段時間專注于分布式系統方面的研究;離開微軟之后,我又在創新工場擔任負責區塊鏈和人工智能投資方向的執行董事。多年在分布式系統方面的研究心得,以及在區塊鏈投資領域評估多個公鏈項目的經驗,讓我深深明白,在徹底去中心化的系統中實現高性能設計,是一項難度極高、極具挑戰的工作。我看到行業內存在大量對于區塊鏈公鏈性能瓶頸及解決方法的討論,有些充滿洞見,令人受益匪淺,但也有不少謬誤,更有很多為了自身項目宣傳而編造的似是而非的見解,頗有把討論引入歧途的風險。在和多位該行業頂尖的學者、開發人員、投資人多次深入交流之后,他們都鼓勵我把自己的看法分享出來。再三思索之后,我決定把自己對該話題的一些拙見記錄下來,這樣既可以讓自己的一些思考能夠沉淀,同時,也希望能和對該話題感興趣的更多同仁進行一些探討。不要只關注性能瓶頸,而忽略了容量瓶頸
在美上市區塊鏈中概股全線下跌:今日美股行情,三大股指小幅低開,在美上市區塊鏈中概股全線下跌。嘉楠科技下跌5.34%,人人網平盤,寺庫下跌0.75%,迅雷下跌10.34%,獵豹移動下跌3.49%,蘭亭集勢下跌3.11%,中網載線下跌8.23%,億邦國際下跌2.90%。[2020/8/8]
先說一下我的一個結論:在當前以類金融為主流應用場景的情形下,區塊鏈系統最首要的性能瓶頸是區塊數據的廣播延遲造成的,本質上受限于互聯網的帶寬和通訊延遲,這一點直接制約了吞吐量TPS。只要是「ChainofBlocks」的系統,無論具體采用了什么共識算法,無論是工作量證明PoW、權益證明PoS、拜占庭容錯BFT,還是委托權益證明DPoS,在出下一個區塊之前,都需要保證前一個區塊在全網有一定的同步率,從而約束了每個區塊不能太大,出塊頻率也不能太高,然后,這個問題無解。請注意,這里說的區塊鏈系統特指「ChainofBlocks」的系統,其特征是要保證系統能最終收斂到一條單一的鏈表結構,并只有這條鏈上面的區塊才是被確認的,反例是「GraphofBlocks」系統,例如所采用的DAG結構IOTA。假設物理網絡的帶寬和延遲可以被忽略,例如基于數據中心高速鏈路的EOS,系統第二個瓶頸是受限的賬簿容量,本質上受限于單臺全節點的內存容量,這一點直接制約了鏈上可以承載多少個用戶地址以及多少個DApp。無論具體采用了什么共識算法,只要交易驗證/執行過程隨時可能涉及到任何一個用戶,那么單臺全節點就必須隨時保持全網每一個用戶、每一個DApp相關的狀態在內存里面,以供交易驗證實時訪問。當前所有主流的「ChainofBlocks」的系統,包括比特幣區塊鏈、以太坊、EOS等,都有這個問題,并且同樣的,這個問題也是無解的。多級緩存的數據庫技術,例如RocksDB,可以稍微改善一下這個限制,使得只有活躍用戶受到內存限制,而總用戶基數受限于硬盤的容量。但是這并不從根本上解決問題。「容量」這個問題的關注度遠遠少于吞吐量,原因很簡單:因為吞吐量這個短板還沒解決,所以容量問題被掩蓋住了。請記住,一旦吞吐量實現了大幅提升,容量問題馬上就會出現:在一個高吞吐的系統上,如果用戶量上不去,很可能高性能根本跑不滿。一個典型的例子是EOS。當EOS以喪失去中心化特性為代價而解決了吞吐量問題之后,容量的問題馬上就凸顯出來了。然后,EOS把賬簿容量瓶頸這個問題包裝成了一個稀缺資源,并將其代幣化,成了EOSRAM虛擬幣。當然除了內存,單臺全節點CPU也會成為容量的瓶頸,所以也被代幣化,成了EOSCPU虛擬幣。不過,在類金融應用場景中,通常計算復雜度非常低,所以,內存會是主要瓶頸。另外,我的另外一個觀點是:共識算法其實幫不了解決性能和容量的瓶頸,試圖從標新立異的共識算法出發,提升「ChainofBlocks」系統性能的努力,基本上不會讓系統性能有實質上的大幅提升。總之,解決上面所提及的兩個瓶頸問題,需要的是分布式系統設計上的巧思妙想,這和共識算法相關,也和密碼學相關,但是本質的出發點不是共識算法和密碼學。性能瓶頸:一個出塊節點在做什么
聲音 | 中國十大青年科學家王東臨:存儲是區塊鏈最佳落地應用場景 ?:中國十大青年科學家、Yottachain創始人王東臨發表題為《當阿里云、騰訊云都不靠譜之后》的演講。在演講中指出:數據存儲量呈指數式增長的現代,中心化云服務器勢必宕機,而區塊鏈的天然落地場景就是存儲,其在數百億美元的持久化存儲和網絡加速領域有壓倒性優勢。并介紹了Yottachain創新性區塊鏈存儲的解決方案。[2019/3/26]
首先出塊節點也是全節點,接受全網的已確認區塊以及未確認交易,并構造成鏈,不斷維護賬簿的最新狀態,然后抓緊機會試圖在鏈尾追加新的區塊。無論采用哪種共識算法,都會歷經以下幾個步驟:第一個步驟,根據賬簿的最新狀態,在未確認交易集合中選出若干驗證合法的交易,然后構造一個新的區塊;第二個步驟,為這個新的區塊,參與出塊的權力的競爭或者候選,在這個階段,大概率會因為賬簿狀態更新了即其他節點成功出塊了而中斷,回到第一步;第三個步驟,獲得出塊的權力之后,向全網廣播這個新的區塊,更新賬簿狀態,回到第一步。不同的共識算法,其核心差異在于如何完成其中的第二個步驟的出塊權的競爭或者候選。但是無論哪種共識算法,都有一個不可調和的性能矛盾,本質上由區塊數據的廣播延遲導致。這個矛盾使得如果每次出塊比較大可以包含更多的交易,就必須有比較長的出塊間隔,以保障該區塊在下一次出塊之前,在全網被充分傳播如果傳播不充分,在PoW和PoS系統中,將表現為較高的分叉率出了無效的塊,而在BFT系統中則表現為較高的失敗率區塊拿不到2/3的同意票。Proof-of-Work和Proof-of-Stake
PoW通過設定一個HashTarget,要求Hash值必須小于一個特定的值例如,將256位的Hash值當成一個大整數看待。而Hash值必須根據新區塊數據拼合一個Nonce數據計算而得。找到滿足HashTarget對應Nonce的任何一個節點,便獲得了出塊的權力。由于只能通過隨機窮舉的方式找Nonce,所以這個競爭就轉換成了計算Hash的算力的競爭。PoS如Peercoin是PoW的一個變種,引入了消耗CoinAge來增大HashTarget的機制,使得出塊權力的競爭可以部分地被數字貨幣持有的時間和數量所代替。可以看到,PoW機制最大的好處是用一個簡潔的算法,實現了完全非許可premissionless的出塊權隨機指定,競爭節點之間完全不需要協同和通訊,可以輕松支持任意數量的出塊節點共同競爭,具有極佳的去中心特性。也正是由于這一點,這個算法導致了區塊廣播延遲和出塊間隔之間的矛盾。當出塊間隔較短時,一個新的區塊尚未充分全網廣播之前,就有另一個礦工在同樣的高度出了另一個新的區塊,即發生了所謂的分叉Fork。這種情況下,最終其中一個區塊會被拋棄掉ophaned。發生這種情況的概率不能太高,否則會顯著降低原為51%的算力攻擊基準SelfishMining,極端情況甚至會導致分叉始終無法到達穩定收斂。區塊廣播延遲主要由區塊大小和全網各個節點間的帶寬決定。當前的互聯網環境,大致需要10秒可以廣播到90%以上的節點。所以在比特幣網絡中,10分鐘左右的出塊間隔使得區塊分叉的概率極其低。2018年整個上半年,僅出現兩次分叉。而在以太坊網絡中,15秒左右的出塊間隔使得區塊分叉的概率始終保持在10%左右,即使其區塊遠小于比特幣的區塊。要注意一點,PoW的出塊間隔是統計意義上的,實際情況是出塊間隔時大時小,而統計期望是10分鐘。這個并不是全網算力波動造成的,而是因為搜索Nonce的過程是個隨機刺探過程撞大運,所以很多礦池都給出了自身的運氣值曲線。對于比特幣網絡來說,10分鐘的出塊間隔其實在現今的互聯網環境中是有很大保留的,要知道,畢竟這是在10年前提出的方案,這使得擴大區塊大小就可以實現簡單的擴容方案,但是由于區塊廣播延遲這一根本矛盾的存在,這種提升只在一定程度上有效。另外,值得提一下GHOST協議。該協議給出了一個新的準則來判定分叉的時候,哪個叉是被接受的。其將中本聰最初提出的最長鏈原則,改成了包含算力最多的子樹。兩個準則在分叉概率很低的時候是完全等價的,但是當概率比較高的時候,比如ETH的10%分叉,GHOST協議可以規避SelfishMining,提高安全性。但是無論采用GHOST協議與否,對公鏈的性能無實質幫助。PoW帶來算力競爭,即所謂的挖礦,確實消耗了大量能源。不過這也為PoW系統發行的每一個幣奠定了一個基礎成本,使之價值有個底線。需要指出的是,PoW的算力和區塊鏈系統的性能沒有任何聯系,任何加速hash算法的軟件或者硬件都不會提高區塊鏈系統單位時間的吞吐量。這就是為什么比特幣區塊鏈的全網hash算力提高了萬億倍,但是其吞吐量一直是7TPS左右。另外,任何宣稱節省挖礦能源的公開技術,都是不可能在實際上減少能源消耗的。因為投入挖礦的能源總量在一個個礦場建立的時候已經確定,當有更高能效的挖礦技術或者設備出現時,算力競爭將導致所有礦工都應用新的技術,最終哄抬了全網的挖礦難度罷了。所以實際的總能源消耗,在宏觀上,只和幣價、電價以及數字貨幣的投資信心相關,和挖礦效率無關。拜占庭容錯BFT
動態 | 西班牙畢爾巴鄂市招標以開發公共區塊鏈網絡:據cointelegraph報道,11月12日,西班牙畢爾巴鄂市宣布推出了17.1萬美元的招標,以開發公共區塊鏈網絡。申請投標的截止日期定于11月23日,獲得合同的公司必須在六個月內開發區塊鏈網絡。[2018/11/17]
拜占庭容錯類共識算法采用隨機算法確定每一次出塊的節點,根據賬簿上的數字貨幣地址,而不是IP地址。所有參與出塊候選的節點無須競爭。新的區塊將被委員會一組驗證者所有成員驗證并簽名投票,然后廣播全網,繼而開始下一個出塊的流程。與PoW不同的是,BFT出塊候選是一個協作的過程,期間至少涉及O(n^2)的通訊復雜度,而PoW在出塊競爭過程中無須任何通訊代價。基于BFT的協作過程將不會導致分叉,也不需要消耗稀缺資源算力或者CoinAge,但是由于這個協作的過程涉及到相當多的數據通訊,所以這個過程無法在全網候選,驗證并簽名的過程無法在全網展開。這就是為什么BFT類算法一定會涉及到一個委員會的構建過程,并且驗證簽名只在一個小范圍里面發生,剩下的人相信他們就好了。最近出現的很多基于BFT的公鏈項目,比如Algorand,在如何安全公平的選出這個委員會方面做了很多工作,雖然這些工作對系統性能的提升沒有直接關系。BFT類算法的投票通常是有權重的,以規避女巫攻擊SybilAttack。而這個權重多與參與者的權益相關,和PoS的精神類似,進而現在很多人將BFT的這類投票算法稱為了PoS算法。而事實上,BFT類共識算法和一開始提出的PoS算法是本質不同的機制。上面我們提到,不同的BFT類算法其具體選定出塊節點以及委員會成員的過程和系統的性能關系不大。和PoW/PoS類似,其吞吐性能同樣決定于每次出塊的大小,以及出塊的周期。在BFT系統中,如果想要允許每次出塊比較大,就需要出塊的周期也比較大,從而大概率保證新出的塊及其委員會的簽名數據在委員會內部完全傳播。如果這個傳播不充分,將可能導致委員會成員無法達成2/3以上的投票,進而使得委員會內部驗證并簽名過程超時,最終在本出塊的周期內出塊失敗。理論上說,委員會的規模遠小于全網,BFT類算法中的廣播延遲會比同等規模的PoW/PoS網絡小。事實上也確實如此,但是基于Gossip協議的廣播延遲和網絡規模的對數成正比而不是線性,所以廣播延遲并沒有小很多。加之BFT類算法依賴一些額外的周期性全局同步等安全措施,使得實際效果中,BFT類算法并沒有比PoW/PoS系統有太多性能優勢。無論哪種算法,均無法大幅提升性能
動態 | 四大會計師事務開始試用區塊鏈財務報告平臺:據Coindesk消息,臺灣金融信息服務公司(FISC)與20家銀行共同開發了區塊鏈財務報告平臺,將上市公司的交易數據轉移到區塊鏈上。德勤,安永,畢馬威和普華永道四家會計師事務所均在審計上市公司的中期財務報告時進行試用。[2018/7/19]
PoW/PoS系統每個出塊周期需要充分傳播一個區塊,BFT類系統每個出塊周期也需要充分傳播一個區塊,加上所有委員會成員的簽名。但是PoW/PoS系統的廣播范圍是全網(例如幾萬個節點),而BFT系統的范圍限于委員會成員,這一點使得后者充分傳播的時間較短一些。不過,基于Gossip協議實現充分傳播的時間,和傳播的數據量呈線性關系,和傳播的節點數量呈對數關系,所以BFT在傳播時延上也沒有太大的優勢。結果就是,無論哪種算法,都有不可調和的區塊大小和出塊間隔之間的矛盾,從而無法大幅提升性能。容量瓶頸:一個不出塊的全節點在做什么
單鏈的「ChainofBlocks」的系統中,大致有三種角色的節點:出塊的全節點,不出塊的全節點和輕量節點。全節點無論出塊與否,都會驗證并接力廣播新的區塊和未確認交易,這里的廣播工作占據了主要的通訊量以及磁盤I/O的負荷,對于TPS只有十幾的以太坊geth來說,這個通訊量約為1.5Mbps。為了可以實時完成對新區塊和未確認交易的驗證,所有用戶的賬簿以及所有智能合約狀態都需要駐留在內存中,這個占據了主要的內存開銷,當前規模的以太坊會占用將近4GB的內存。每一個全節點都會需要承擔這樣的一個負荷,如果要出塊PoW的挖礦節點或者PoS的驗證節點還需要做額外的事情。這些負荷的代價,換來的是安全的徹底去中心化,任何一個全節點不需要預先信任任何其他節點,任何全節點也沒有能力去欺騙其他全節點。普通全節點的價值體現在兩個方面:接力廣播合法的數據和維護全網賬簿的最新狀態以供用戶或者輕量節點查詢。例如手機錢包這樣的輕量節點不驗證也不接力廣播區塊數據或者未確認交易,它依賴并信任預先設定好的一個或者多個全節點,通過這些全節點來獲取特定用戶的狀態,例如賬戶余額,以及發起轉賬交易。輕量節點自身完全沒有驗證信息真偽的能力,更像是區塊鏈世界里的一個終端而已。對于單鏈的「ChainofBlocks」的系統,如果系統的吞吐量TPS提升100倍,需要150Mbps的通訊量;或者用戶規模都擴大100倍,需要400GB的內存,那么基本上大部分互聯網上的普通服務器都無法順利部署一個全節點了。全節點的參與門檻,是影響區塊鏈系統去中心化程度重要因素。如果全節點只能由專業礦場操作,普通人無法獨立部署一個全節點的話,那么整個系統就會退化成一個多地部署的中心化云服務了,而變得容易被攻擊,也容易被封禁。所以,這兩個瓶頸不僅僅對于出塊節點需要解決,對于普通全節點也需要解決。何不換種思路,尋找新的出路
樂心醫療:計劃2018年下半年推出基于區塊鏈技術的高端智能手表 明日復牌:財聯社3月25日訊,樂心醫療(sz300562)公告稱,公司和佰客云設立的區塊鏈研究實驗室目前已經選定辦公區域,相關辦公設施將于4月初準備完畢。計劃于2018年下半年推出一款基于區塊鏈技術的高端智能手表。2018年全年計劃投入實驗室的資金不超過700萬,預計為公司貢獻1500-3000萬的銷售額。股票將于3月26日復牌。[2018/3/25]
前面已經說到性能瓶頸和容量瓶頸,在現在單鏈的「ChainofBlocks」的系統中,很難有大的提升,尤其是容量瓶頸。這就是所謂的區塊鏈不可能三角的由來。縱觀計算機技術發展史,大容量高吞吐的設計范式,屢獲大規模成功的只有一個:橫向擴展Scale-Out。舉個例子,GPU用了幾千個性能普通的Core一起并行工作,實現超越CPU計算性能幾個數量級的性能提升,而GPU所依賴的半導體技術并沒有和CPU芯片有什么本質的不同。再如,現今的在線云服務系統,是用幾千甚至上萬臺性能普通的服務器一起并行工作,來支持大容量高吞吐的在線服務。我在這里不妨大膽設想:也許一個大容量高吞吐的區塊鏈系統會是類似的方案,即,讓成千上萬個同質的單鏈實例一起并行工作,切分全網的工作量,以實現整體上的大容量和高吞吐。這樣的一個系統,可以在大幅提高TPS的同時,支持10億以上級別的用戶量,并且保持每一個參與到這個網絡的中的全節點僅有一個合理的負荷,讓大部分互聯網上的普通服務器都可以輕松部署一個全節點,共同參與網絡的維護和治理。不過,在這樣一個徹底去中心化的設定下,如何一起并行工作,如何切分工作量,又如何保證每個單鏈實例的安全,都是極具挑戰的問題。這樣的系統似乎并不容易實現,但也絕非不可能實現。我先拋出這個想法,也歡迎所有有興趣的同仁共同思考,或批判,或貢獻聰明的設想。
本文來自:白話區塊鏈,作者:JoshStark,翻譯:李麗詩,有刪改,星球日報經授權轉發。對以太坊來說,2018年是專注于基礎設施的一年.
1900/1/1 0:00:00據bitcoin10月11日報道,美國證券交易監督委員會正在“秘密”調查數以百計的創業公司,原因在于參與ICO.
1900/1/1 0:00:00近日,美國法官羅伯特·斯科拉對在暗網中心夢幻市場進行交易的GalVallerius判處20年有期徒刑,罪行是洗錢和販運罪,并將在佛羅里達州南部開始服刑.
1900/1/1 0:00:00編者按:本篇來自日本博客作家、企業家Misha。近期,為了弄清楚區塊鏈從業者的真實狀態和所思所想,他采訪了全球30多個區塊鏈行業的CEO,試圖從中勾勒這出個行業及其從業者的真實畫像.
1900/1/1 0:00:00今年下半年以來,二手礦機市場迎來一波拋售潮。礦機從年初的2萬一臺到如今的2000一臺,有時甚至還面臨賣不出去的狀況。實際上,礦機拋售現象的背后,我們可以看到這個市場正在經歷一次洗牌.
1900/1/1 0:00:00本文作者:江卓爾,原地址:https://www.weibo.com/ttarticle/p/show?id=2309404305777891366168#_0一、為什么算力能成為比特幣的最高仲.
1900/1/1 0:00:00