2009 (175)
2010 (261)
2011 (200)
2012 (61)
2017 (5)
最近參加了一個區塊鏈的活動,投入了一個Validator。這個係統之前沒有Validator,徹底去中心化,依賴簡單硬件從世界各地鏈接到互聯網上,每次隨機選取16個節點,做記賬運算之類的處理。群眾感慨,這個係統了得啊,硬是用簡單硬件支持到係統有八萬多節點,在去中心化的行業中,絕對的第一梯隊。
是啊,支撐到了八萬多節點。可是在每增加一萬節點的過程中,係統也沒少出故障。最後這三四萬點,數量上增長很快,差不多隻用了一兩個月的時間,功能與質量的維護則十分艱難。過去的兩三個月裏,出現過數次整條區塊鏈鎖死幾個小時的大故障,始創團隊不得不出手、發出“救援塊兒”來解圍。堪稱伸出了上帝之手。
上周該區塊鏈終於把記賬處理轉移到Validator上,利用地球上各大廠的雲服務器來共同幫助區塊鏈維持穩定。從此,局部中心化的問題誕生了,但目前哪家區塊鏈發展壯大之後又不是這麽做的呢?幸好還有些人對大廠的雲服務不屑一顧,自己搭建自己的服務器,給整個係統帶來一些不一樣的元素。萬一哪家大廠遭遇攻擊或者外星人劫持時,坐落在某些小戶人家的單個服務器們,還能抵擋一陣子。
據說,該區塊鏈使用的集團服務器分布最集中的在美國俄亥俄州,有人戲說:俄亥俄州可別出事兒啊,否則一半的Validators都得掛了。
其實,一半的Validator都掛了又有什麽,現在鏈上的Validator已經多得數不清了。Validator尚未啟動時,大家紛紛預測,會有多少人願意花錢租用商業雲服務來支撐一個Validator?那時的預測是100-1000個。Validator正式上線的那天,大約1550個Validator已經完全與區塊鏈同步,就等著被選入記賬的共識服務小組了。
為什麽急著要被選入共識服務小組呢?因為被選進去、就意味著可以參與分成,在記賬結束時,拿到勞務費,也就是一定數量的數字幣。所以,心理預期100-1000個Validator的群眾,都有些失望。預演測試的時候,從來沒有超過800個Validator參與義務調試,哪裏突然跑出這麽多藏在暗處的參與者,掙數字幣的時候就來了,係統需要錘煉時,怎麽不來出力呢?
這就是去中心化係統,民主製度的狀態。有熱心的支持者,也有躲在一邊乘涼等著好處來了一起分的利己主義者。池子大了,什麽人都有。
不管有多少個Validator吧,既然都來了,就一起玩兒。可是如何才能被選入共識服務小組呢?這可真不是服務器自己說了算的,選的時候,係統自有考量,包括細心的設計和粗心的bug,都會影響誰被選入或不被選入共識服務小組。
可以猜測的是:服務器的地理位置會是一個比較重要的因素,肯定不能一下子都選在西雅圖或者洛杉磯,要均勻覆蓋整個地球。服務器的編號,也是挺重要的,肯定不能從1-16,連著選幾個號,大概率的那個偽隨機數生成器不會在短時間內出既均勻又公平的號碼,這是個純運氣因素。某些號碼在這套隨機數產生器下可能會格外受青睞。當然還有一個因素就是服務器自身的質量,是否跟整個區塊鏈條始終保持同步,是否掉鏈子,是否在共識運算時磕磕絆絆,是否網絡通暢等等,一旦出現表現不佳的狀態,就會被標記一下,在未來被選取時,降低優先級。
這都是說起來易懂的條款,具體實現的時候,可能會遇到各種工程麻煩,畢竟程序都是人寫的,問題和錯誤在所難免。
到今天,Validator上線一周,按照算數計算,每個Validator應該平均被選入共識服務小組7.2次。實際結果呢,最幸運的Validator被選了25次,之後高於15次的一眼望去也有一大堆,後麵呢,還有接近200個Validator從未被選上過,同時Validator的總數也已經上升到1750個,還有很多躍躍欲試的後來者,而這個池子也是大門敞開,來者不拒。據說,要靠市場決定池子的大小,而資本主義的市場,是緩慢流動的。
有人提出,每一個偽隨機數生成器都會有漏洞,就是說從1-1750,隨機抽取一組數,經曆很久很久之後,仍然會有從來都未被選中的數,將有非常長的長尾效應。樂觀的人聚在一起,說要不咱們這些一直不被青睞的Validator組個團,照個相,成立一個不被待見俱樂部?悲觀的人,會不會已經在盤算著到哪兒去鬧一鬧,抗議、示威、拔網線、卸硬盤?
可能這就是生活。我一直不相信運氣這件事,這個星期觀摩Validator係統的運行,不得不說,自己能活成現在這個樣子真是運氣啊。