摘要:區塊鏈世界通過共識算法、加密、點對點網絡以及獎勵機制等,可以形成一個自治的社區,形成一個通過挖礦機制來達成一種不通過中心機構來達成的信任,最終實現點對點的價值流通。談到不同的共識機制,就有很多話題可以說了,甚至可以說區塊鏈的發展就一直伴隨著共識機制以及算法的改進,那我們就來介紹一下不同的共識機制、算法及其原理:其實關于共識機制和算法,現在經常被混于一談,但是要分辨開來的話,那就是機制主要是指POW,POS與DPOS,算法則主要指的是POW下的各種算法。在EKT中Token鏈是一個并行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,并自由的選擇共識算法和加密算法。首先我們介紹一下POW機制里所采用的各種算法:如上所言,我們經常說的POW算法本質是一個Hash函數。Hash函數是一個無比神奇的東西,說他替中本聰打下了半壁江山一點不為過,學習比特幣應該從學習Hash函數入手,理解了Hash函數再去學比特幣原理將事半功倍,不然將處處感覺混沌,難以開竅。而中本聰也將Hash函數的所有特性使用得淋漓盡致:已經有很多Hash函數被設計出來并廣泛應用,不過Hash函數一般安全壽命都不長,被認為安全的算法往往沒能使用多久就被成功攻擊,新的更安全的算法相繼被設計出來,而每一個被公認為安全可靠的算法都有及其嚴格的審計過程。在區塊鏈世界中我們經常說某某幣發明了某種算法,其實主要都是使用那些被認證過的安全算法,或是單獨使用,或是排列組合使用。礦工在處理交易數據的同時不斷的進行哈希計算,求得一位前23位為0的哈希值,這個值成為nonce黃金數。當全網有一位礦工哈希出nonce時,他就會把自己打包的區塊公布出去,其他節點收到區塊驗證區塊后就會一致性認為這個區塊接到了區塊鏈上,就繼續進行下一個區塊的打包和哈希計算。在這個過程中,中本聰是通過算力的比拼犧牲了一部分最終一致性并且需要等待多個確認,但是這種簡單暴力的方法卻保證了整個區塊鏈系統的合法性,而且把區塊鏈系統的健壯性提升到極致,就算全網只剩下一個節點運行,這個區塊鏈系統還是會繼續運行下去。最后POW也充分提高了區塊鏈系統的安全性,依靠51%攻擊理論去破壞區塊鏈系統是在以往被認為只有政府或者瘋子才會采取的方法。但最近似乎在比特黃金這個項目上,有人真的嘗試控制50%以上算力并改寫了區塊。SHA(SecureHashAlgorithm,譯作安全散列算法)是美國國家安全局(NSA)設計,美國國家標準與技術研究院(NIST)發布的一系列密碼散列函數,經歷了SHA-0,SHA-1,SHA-2,SHA-3系列發展。NSA于2007年正式宣布在全球范圍內征集新新一代算法設計,2012年公布評選結果,Keccak算法最終獲勝成為唯一官方標準SHA-3算法,但還有四種算法同時進入了第三輪評選,分別是:BLAKE,Gr?STL,JH和SKEIN,這些算法其實也非常安全,而且經受審查,被各種競爭幣頻繁使用。比特幣采用SHA256算法,該算法屬于SHA-2系列,在中本聰發明比特幣時被公認為最安全最先進的算法之一。除了生成地址中有一個環節使用了REPID-160算法,比特幣系統中但凡有需要做Hash運算的地方都是用SHA256。隨著比特幣被更多人了解,大家開始好奇中本聰為何選擇了SHA256,同時對SHA256的安全性發表各種意見,SHA256妥妥經受了質疑,到目前為止,沒有公開的證據表明SHA256有漏洞,SHA256依然牢牢抗住保衛比特幣安全的大旗。當然大家心里都明白,沒有永遠安全的算法,SHA256被替代是早晚的事,中本聰自己也說明了算法升級的必要和過程。后來隨著顯卡挖礦以及礦池的出現,社區開始擔心礦池會導致算力集中,違背中本聰“一CPU一票”的最初設計理念。在那段時間,中心化的焦慮非常嚴重,討論很激烈,比特幣一次又一次“被死亡”,直到現在,針對礦池是否違背去中心化原則的爭論仍在繼續。無論如何,有人將矛頭指向SHA256,認為是算法太容易導致礦機和礦池出現,并試圖尋找更難的算法。恰逢其時,使用SCRYPT算法的萊特幣橫空出世。據說SCRYPT是由黑客開發,由于沒有得到諸如SHA系列的嚴格的安全審查和全面論證,一直沒被廣泛推廣使用。與SHA256算法相比,SCRYPT占用的內存更多,計算時間更長,并行計算異常困難,對硬件要求很高。很顯然,SCRYPT算法具有更強的抵御礦機性,萊特幣還將區塊時間改為2.5分鐘,在那個山寨幣還鳳毛麟角年代,萊特幣依靠這兩點創新大獲成功,長期穩坐山寨幣第一寶座位置。后來有人在SCRYPT的基礎上稍作修改形成Scrypt–N算法,改進思路都一樣,都是追求更大的內存消耗和計算時間,以有效阻止ASIC專用礦機。很快,萊特幣的成功催生了各種各樣的算法創新,2012至2014年間,算法創新一直都是社區討論的熱門話題,每一個使用創新算法的幣種出現,都能刮起一陣波瀾。重新排列組合是人類一貫以來最常用的創新發明方法。很快,有人不滿足于使用單一Hash函數,2013年7月,夸克幣發布,首創使用多輪Hash算法,看似高大上,其實很簡單,就是對輸入數據運算了9次hash函數,前一輪運算結果作為后一輪運算的輸入。這9輪Hash共使用6種加密算法,分別為BLAKE,BMW,GROESTL,JH,KECCAK和SKEIN,這些都是公認的安全Hash算法,并且早已存在現成的實現代碼。這種多輪Hash一出現就給人造成直觀上很安全很強大的感覺,追捧者無數。現今價格依然堅挺的達世幣接過下一棒,率先使用11種加密算法,美其名曰X11,緊接著X13,X15這一系列就有人開發出來了。S系列算法實際是一種串聯思路,只要其中一種算法被破解,整個算法就被破解了,好比一根鏈條,環環相扣,只要其中一環斷裂,整個鏈條就一分為二。有人串聯,就有人并聯,Heavycoin率先做了嘗試。HVC如今在國內名不見經傳,當時還是名噪一時,首次實現鏈上游戲,作者是俄羅斯人,后來不幸英年早逝,在幣圈引起一陣惋惜。HVC算法細節:a.對輸入數據首先運行一次HEFTY1運算,得到結果d1b.以d1為輸入,依次進行SHA256、KECCAK512、GROESTL512、BLAKE512運算,分別獲得輸出d2,d3,d4和d5c.分別提取d2-d5前64位,混淆后形成最終的256位Hash結果,作為區塊ID。之所以首先進行一輪HEFTY1哈希,是因為HEFTY1運算起來極其困難,其抵御礦機性能遠超于SCRYPT。但與SCRYPT一樣,安全性沒有得到某個官方機構論證,于是加入后面的四種安全性已經得到公認的算法增強安全。對比串聯和并聯的方法,Quark、X11,X13等雖使用了多種HASH函數,但這些算法都是簡單的將多種HASH函數串聯在一起,仔細思考,其實沒有提高整體的抗碰撞性,其安全性更是因木桶效應而由其中安全最弱的算法支撐,其中任何一種Hash函數遭遇碰撞性攻擊,都會危及貨幣系統的安全性。HVC從以上每種算法提取64位,經過融合成為最后的結果,實際上是將四種算法并聯在一起,其中一種算法被破解只會危及其中64位,四中算法同時被破解才會危及貨幣系統的安全性。比特幣只使用了一種Hash算法,假如未來某日SHA256被證明不再安全時,雖然可以更該算法,但考慮到如今“硬分叉猛于虎”的局面,屆時引發動蕩不可避免,但如果使用并聯算法,就可以爭取平靜的硬分叉過渡時間。EKT的中心思想是設計一個社區的機制,讓開發者可以輕易的開發一個DAPP,其他的交給EKT來處理。由于貨幣需要一個穩定的系統,智能合約設計的越復雜出錯的可能性就越高,所以在早期中本聰認為貨幣系統是不需要圖靈完備的語言的,比特幣之所以不支持智能合約也是覺得貨幣需要極高的穩定性。那么,如何運行區塊鏈里保持貨幣穩定的同時又可以開發Dapp呢?有一種比較好的解決辦法就是把Token鏈和DApp鏈分開。在EKT中Token鏈是一個并行多鏈的結構,多鏈多共識,共享用戶基礎。設計并行多鏈有兩個原因:1.每個Token發行者或者鏈的發行者對共識的要求是不同的,對去中心化程度要求比較高的可以選擇PoW,對TPS要求比較高的可以選擇DPOS,每個鏈的Token進行交易的時候消耗的是當前鏈的主幣作為交易費,也提高了發行鏈的靈活性。2.并行多鏈可以共享用戶,不同鏈的擁有者是一個互利關系,可以很方便的進行不同鏈的資產轉移,而且多鏈并行理論上整個網絡的TPS是沒有上限的。在EKT中Token鏈是一個并行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,并自由的選擇加密算法。在項目初期,EKT除了默認提供的DPOS共識算法以外,還會陸續支持工作量證明以及股權證明機制。用戶在基于EKT主鏈的代碼部署自己的主鏈時,可以選擇使用哪種共識算法。在部署完以后再去EKT的客戶端中進行注冊。共識算法一旦選定就會記入EKT主鏈,不可更改。至于為何EKT在一開始就越過了POW算法,直接在主鏈上選擇了DPOS共識,我將在下周的文章中繼續分享。前言:由于貨幣需要一個穩定的系統,智能合約設計的越復雜出錯的可能性就越高,所以在早期中本聰認為貨幣系統是不需要圖靈完備的語言的,比特幣之所以不支持智能合約也是覺得貨幣需要極高的穩定性。在上一篇中,我們了解了EKT中的Token鏈是一個并行多鏈的結構,多鏈多共識,共享用戶基礎,這也意味著使用EKT公鏈,可以把Token鏈和Dapp鏈分離,并自由的選擇共識算法和加密算法。用戶在基于EKT主鏈的代碼部署自己的主鏈時,可以選擇使用哪種共識算法。本篇我們將繼續探討為何EKT從一開始就越過了POW算法,直接在主鏈上選擇了DPOS共識。我們繼續回顧POW機制里所采用的一些算法:正當一部分人在越來越復雜的算法探索之路上越走越遠時,另一部分“環保人士”也提出了尖銳的批評,那就是指責POW浪費能源。雖然彼時POS機制已經實現,但顯然所有礦工都不愿意輕易承認自己的礦機/顯卡正在干一件毫無意義的蠢事。POW黨雖極力維護,但也承認耗費能源這一事實。這一指責打開了另一條探索之路,即如果能找到一種算法,既能維護區塊鏈安全,這些Hash運算又能在其他方面產生價值,那簡直完美。在這條探索之路上最讓人振奮人心的成果來自于SunnyKing發明的素數幣。素數幣算法的核心理念是:在做Hash運算的同時尋找大素數。素數如今已被廣泛應用于各個領域,但人類對他的認識還是有限。質數在數學界中,存在著很多的疑難問題,比如著名的哥德巴赫猜想、黎曼猜想、孿生質數猜想、費馬數、梅森質數等等,這些問題的解決,可以對人類的科學技術的發展,起到非常重要的促進作用。素數在數軸上不但稀有,而且分布不規律,在數軸上尋找素數只能盲目搜索探測,這正是POW的特征。質數幣發布以后,憑借其全新的創意和對數學學術界帶來的貢獻,引起電子貨幣行業極大關注。質數幣是全世界第一個為數學問題而提出的電子貨幣,號稱挖礦運算有實用科研貢獻的加密貨幣。POW還有另一個要求是容易驗證,這方面人類經過幾百年探索已經獲得一些成果。素數幣使用兩種方法測試,首先進行費馬測試,通過則再進行歐拉-拉格朗日-立夫習茲測試,依次通過測試則被視為是素數。需要指出的是,這種方法并不能保證通過測試的數百分百是素數,不過這并不影響系統運行,即便測試結果錯誤,只要每個節點都認為是素數就行。由于素數在數軸上分布不均勻,且根據目前掌握的知識來看,數越大,素數越稀有,尋找難度并不是線性遞增,耗時也就不可預估,但是區塊鏈要求穩定出塊。正因為這點,素數幣算法沒有得到熱捧,但這種探索并非沒有意義,利用POW工作量的“幻想”并沒有停止,探索還在繼續。以太坊其實在一開始就計劃使用POS方式,但由于POS設計存在一些問題,開發團隊決定在以太坊1.0階段使用POW方式,預計在Serenity階段轉入POS。由于比特幣的PoW算法是計算困難型,所以導致了ASIC專業礦機的出現,從而導致了挖礦中心化。以太坊吸取了比特幣的教訓,專門設計了Ethash,它是內存困難型算法,它的特點是挖礦的效率與計算關聯度不大,而與內存的性能正相關。雖只是一個過渡算法,但開發團隊一點也不含糊,采取了一種非常繁瑣的設計風格。Ethash是Dagger-Hashimoto改良算法,是Hashimoto算法結合Dagger算法產成的一個新變種。該算法的基本流程如下:1)通過掃描區塊頭得到一個種子seed;2)通過該種子產生一個16M的偽隨機緩存;3)基于緩存生成大約1GB的數據集,稱為DAG。DAG中的每一個元素由緩存中的某幾個元素計算產生,也就是說,只要有緩存,就可以快速地計算出DAG中指定位置的元素;4)“礦工”從DAG中隨機選擇元素并對其進行Hash運算,DAG是一個完整的搜索空間,挖礦的過程就是從DAG中隨機選擇元素進行Hash運算。5)驗證者只需要利用緩存就可以驗證Hash運算的正確性。注:緩存和DAG中每增加30000個區塊更新一次,所以Ethash的主要時間消耗在從DAG中讀取數據,而DAG一般存儲在內存,所以主要瓶頸在內存性能以及它的帶寬。以太坊初期100%采用PoW挖礦,但是挖礦的難度除了因為算力增長而增加之外,還有一個額外的難度因子呈指數級增加,這就是難度炸彈。由于PoS的運用將會降低挖礦的門檻,因為礦工不需要再去購買價格高昂的硬件礦機,只需要購買一定數量的ETH,將其作為保證金通過權益證明的方式驗證交易有效性,即可拿到一定的獎勵。因此,對礦工來說他們花高價購買的礦機將無用武之地,這勢必會引起礦工的不滿。為了防止PoW轉PoS的過程中礦工聯合起來抵制,從而分叉出兩條以太坊區塊鏈,難度炸彈被引入。難度炸彈指的是計算難度時除了根據出塊時間和上一個區塊難度進行調整外,加上了一個每十萬個區塊呈指數型增長的難度因子。2017年10月,由于以太坊基金會還在為過渡到其混合PoS系統Casper奠定基礎,以太坊將拆除“難度炸彈”的計劃推遲了一年。但是隨著以太坊轉POS的日程漸進,一旦以太坊轉移到PoS,ETC的網絡可能會有希望以當前形式繼承大部分專供ETH的挖礦哈希算力。當大量算力涌入ETC,而其區塊產出不變時,有可能會因為挖礦成本的上升而引起幣價躍升。加密貨幣世界里,實現“全匿名”的,風頭最勁的莫過于Zcash,該幣種最大的特點是使用零知識證明實現隱私交易。Zcash對于算法的選擇非常慎重,在先后考量了SHA256D,SCRYPT,CUCKOOHASH以及LYRA2等算法后,最終選擇Equihash。Equihash算法由AlexBiryukov和DmitryKhovratovich聯合發明,其理論依據是一個著名的計算法科學及密碼學問題——廣義生日悖論問題。零知識證明能夠成立需要具備三個要素,即完整性、可靠性和零知識。舉個例子來說就是,假設有一個環形走廊,出口和入口相鄰但不互通,在這個環形走廊中間的某處有一道鎖起來的門,只有擁有鑰匙的人才可以通過;這時A要向B證明自己擁有打開這道門的鑰匙,用零知識量證明來解決就是,B看著A走進入口并在出口等待,如果A從入口進入通過走廊并從出口走出,則可以證明其擁有打開中間那扇門的鑰匙,而在這個過程中,他完全不用向B提供鑰匙的具體信息。所以零知識證明實際上是一種概率證明而非確定性證明。Zcash現在采用的Equihash是一個內存依賴型算法,機器算力大小主要取決于擁有多少內存,根據兩位發明者的論文描述,該算法執行至少需要700M內存,1.8GHzCPU計算30秒,經Zcash項目優化后,目前每個挖礦線程需要1G內存,因此Zcash官方認為該算法在短時間內很難出現礦機。此外,Zcash官方還相信該算法比較公平,他們認為很難有人或者機構能夠對算法偷偷進行優化,因為廣義生日悖論是一個已經被廣泛研究的問題。此外,Equihash算法非常容易驗證,這對于未來在受限設備上實現Zcash輕客戶端非常重要。那么什么是DPoS呢?首先我們知道在POS陣營里,你獲得幣的量是由你之前獲得幣的量來確定的。DPoS機制它的原理是讓每一個持有幣的人進行投票,由此產生K位代表,我們可以將其理解為K個超級節點或者礦池,而這K個超級節點彼此的權利是完全相等的。從某種角度來看,DPOS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責,他們會被除名,網絡會選出新的超級節點來取代他們。這種機制可以說是目前比較好的兼容了公平于效率的辦法。EKT的中心思想是設計一個社區的機制,讓開發者可以輕易的開發一個DAPP,其他的交給EKT來處理。而EKT的主鏈就選取了DPoS的機制來確保其長期的穩定性和高性能。由于貨幣需要一個穩定的系統,智能合約設計的越復雜出錯的可能性就越高,所以在早期中本聰認為貨幣系統是不需要圖靈完備的語言的,比特幣之所以不支持智能合約也是覺得貨幣需要極高的穩定性。目前主流的區塊鏈性能瓶頸問題突出,區塊鏈處理能力受制于單個節點的處理能力,這限制了區塊鏈的處理速度,也浪費了整個網絡大量的處理能力,隨著更多的節點加入到網絡,網絡流量增加會使系統性能顯著降低。那么,如何運行區塊鏈里保持貨幣穩定的同時又可以開發Dapp呢?有一種比較好的解決辦法就是把Token鏈和DApp鏈分開。那么如何能建立一個正反饋的,良性運行的社區呢?最關鍵的特性指標其實在于TPS和延遲。平日大家吐槽最多的是TPS,其實在比特幣或者以太坊上,即使TPS上去了,延遲也下不來。因為POW挖礦的原因,全網同步區塊總是需要一段時間。在EKT中,允許一些執行順序不同對全局一致性沒有影響的事件可以在區塊打包前執行,然后對時序性有要求的事件區塊打包后執行,這樣可以實現大部分事件的秒級確認和執行。其實就是把一些事件先異步執行,然后區塊打包的時候進行一致性校驗。這樣就能較好的降低延遲了。在項目初期,EKT除了默認提供的DPOS共識算法以外,還會陸續支持工作量證明以及股權證明機制。用戶在基于EKT主鏈的代碼部署自己的主鏈時,可以選擇使用哪種共識算法(會陸續支持包括前文提到的任意一種)。在部署完以后再去EKT的客戶端中進行注冊。以上就是我對區塊鏈加密機制的一些思考,和一些在設計EKT的多鏈多共識,Token鏈和DAPP鏈分離的解決思路。參考閱讀:20171026解讀區塊鏈加密算法20180115區塊鏈與密碼學原理之:Hash算法的分類和原理淺析20180501從共識的歷史看區塊鏈的共識機制。20180516區塊鏈共識機制的演化20180406什么是零知識證明201803065分鐘區塊鏈|技術篇-哈希算法《Bitcoin:APeer-to-PeerElectronicCashSystem》《Primecoinwhitepaper》《Ethereumwhitepaper》《EKTwhitepaper》《ZECwhitepaper》
Bitcoin Depot加密貨幣ATM機突破5000臺:金色財經報道,Bitcoin Depot的加密貨幣ATM網絡繼續擴展,在零售采用激增的情況下,其在北美的安裝量首次超過5,000。憑借這一里程碑,Bitcoin Depot再次成為北美最大的加密ATM網絡。[2021/10/1 17:19:09]
研究:加密貨幣不太可能取代法幣,但可能取代黃金成為價值儲存手段:新加坡銀行(Bank of Singapore)的一份研究報告稱,一旦克服信任、波動性、監管接受度和聲譽風險等關鍵障礙,加密貨幣可能會取代黃金,成為電子價值儲存工具。一旦這些缺點得到解決,數字貨幣還可以作為一種潛在的安全港資產使投資組合資產多樣化。
該行首席經濟學家Mansoor Mohi-uddin表示:“首先,投資者需要值得信賴的機構能夠安全地持有數字貨幣。其次,流動性需要大幅改善,才能將波動性降至可控水平,”瑞士私人銀行Lombard Odier在最近的一份研究報告中表示,集中的持有和較低的市場交易量正在推高加密貨幣的波動性,這是加密貨幣在現實世界交易中應用的最大障礙之一。新加坡銀行表示,資產管理公司等比散戶或對沖基金眼光更長遠的機構投資者增加參與,可能有助于增加流動性,降低波動性,并使價格走勢更多地由基本面因素而非投機因素驅動。(The National News)[2021/1/24 13:22:11]
動態 | 美國立法者尋求對伊朗開發主權加密貨幣進行制裁:據coindesk報道,美國眾議員Mike Gallagher本周提出了“阻止伊朗非法金融法案”,其中部分內容要求報告伊朗為建立主權加密貨幣所做的努力。參議院參議員Ted Cruz也于13日提交了類似的法案,要求對故意向伊朗提供資金、服務或技術支持,與伊朗數字貨幣發展有關的人進行制裁。最近幾個月,美國監管機構警告稱,伊朗政府希望使用類似委內瑞拉石油幣的主權加密貨幣來逃避經濟制裁。[2018/12/22]
動態 | 澳大利亞人可以使用50到100種加密貨幣支付賬單:票據支付公司和加密貨幣交易所合作,讓澳大利亞人可以使用50到100種加密貨幣支付賬單。客戶可以在他們的Cointree賬戶中使用任何加密貨幣來支付他們的賬單,而不用在意賬單者是否接受加密貨幣。[2018/8/22]
對加密貨幣監管語言的理解存在分歧:在最近的一篇文章中,Bitwage首席執行官喬納森?切斯特(Jonathan Chester)發表了一篇評論文章,討論了試圖將加密貨幣與現有的監管語言相互適應和將投資加密貨幣法的個人分類過程中遇到的挑戰。fintech和regtech的首席執行官Juan Llanos表示,他們對加密貨幣社群和負責監管加密貨幣市場的監管機構之間的關鍵術語的理解存在分歧。[2018/4/13]
馬克思曾說:“如果有100%的利潤,資本家們會挺而走險;如果有200%的利潤,資本家們會藐視法律;如果有300%的利潤.
1900/1/1 0:00:00隨著區塊鏈的紅火,另外一項技術DAG也獲得了關注,還有基于其發明的Hashgraph技術。使用這項技術最著名的公司,應該就是HederaHashgraph了.
1900/1/1 0:00:00文|昕楠出品|Odaily星球日報京東正在追趕BAT。4月9日,京東以《京東區塊鏈技術實踐白皮書》交出了京東在區塊鏈領域的成績單.
1900/1/1 0:00:00本周大事記 EOS價格漲幅達30.12%,市值跌落至第六;本周去中心化交易所增勢明顯;BM私下表示,不久的將來會有一系列重大產品與消息對外公布.
1900/1/1 0:00:00親愛的好朋友們:上期小C吐了一下IOTA。說實話,剛開始小C還有些忐忑,畢竟是小C出道的第一篇文章,文章內容也可能會引起一些激烈的辯論.
1900/1/1 0:00:00作者|秦曉峰編輯|梁辰 據港交所披露易消息,港股上市公司科地農業控股有限公司發布公告稱,于2019年4月17日終止與易道動聯區塊鏈科技有限公司和霸屏天下國際傳媒網絡科技有限公司合作的跨境電商平臺.
1900/1/1 0:00:00