區塊鏈如何防止出現分叉
1. 區塊鏈如何保證使用安全
區塊鏈項目(尤其是公有鏈)的一個特點是開源。通過開放源代碼,來提高項目的可信性,也使更多的人可以參與進來。但源代碼的開放也使得攻擊者對於區塊鏈系統的攻擊變得更加容易。近兩年就發生多起黑客攻擊事件,近日就有匿名幣Verge(XVG)再次遭到攻擊,攻擊者鎖定了XVG代碼中的某個漏洞,該漏洞允許惡意礦工在區塊上添加虛假的時間戳,隨後快速挖出新塊,短短的幾個小時內謀取了近價值175萬美元的數字貨幣。雖然隨後攻擊就被成功制止,然而沒人能夠保證未來攻擊者是否會再次出擊。
當然,區塊鏈開發者們也可以採取一些措施
一是使用專業的代碼審計服務,
二是了解安全編碼規范,防患於未然。
密碼演算法的安全性
隨著量子計算機的發展將會給現在使用的密碼體系帶來重大的安全威脅。區塊鏈主要依賴橢圓曲線公鑰加密演算法生成數字簽名來安全地交易,目前最常用的ECDSA、RSA、DSA 等在理論上都不能承受量子攻擊,將會存在較大的風險,越來越多的研究人員開始關注能夠抵抗量子攻擊的密碼演算法。
當然,除了改變演算法,還有一個方法可以提升一定的安全性:
參考比特幣對於公鑰地址的處理方式,降低公鑰泄露所帶來的潛在的風險。作為用戶,尤其是比特幣用戶,每次交易後的余額都採用新的地址進行存儲,確保有比特幣資金存儲的地址的公鑰不外泄。
共識機制的安全性
當前的共識機制有工作量證明(Proof of Work,PoW)、權益證明(Proof of Stake,PoS)、授權權益證明(Delegated Proof of Stake,DPoS)、實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等。
PoW 面臨51%攻擊問題。由於PoW 依賴於算力,當攻擊者具備算力優勢時,找到新的區塊的概率將會大於其他節點,這時其具備了撤銷已經發生的交易的能力。需要說明的是,即便在這種情況下,攻擊者也只能修改自己的交易而不能修改其他用戶的交易(攻擊者沒有其他用戶的私鑰)。
在PoS 中,攻擊者在持有超過51%的Token 量時才能夠攻擊成功,這相對於PoW 中的51%算力來說,更加困難。
在PBFT 中,惡意節點小於總節點的1/3 時系統是安全的。總的來說,任何共識機制都有其成立的條件,作為攻擊者,還需要考慮的是,一旦攻擊成功,將會造成該系統的價值歸零,這時攻擊者除了破壞之外,並沒有得到其他有價值的回報。
對於區塊鏈項目的設計者而言,應該了解清楚各個共識機制的優劣,從而選擇出合適的共識機制或者根據場景需要,設計新的共識機制。
智能合約的安全性
智能合約具備運行成本低、人為干預風險小等優勢,但如果智能合約的設計存在問題,將有可能帶來較大的損失。2016 年6 月,以太坊最大眾籌項目The DAO 被攻擊,黑客獲得超過350 萬個以太幣,後來導致以太坊分叉為ETH 和ETC。
對此提出的措施有兩個方面:
一是對智能合約進行安全審計,
二是遵循智能合約安全開發原則。
智能合約的安全開發原則有:對可能的錯誤有所准備,確保代碼能夠正確的處理出現的bug 和漏洞;謹慎發布智能合約,做好功能測試與安全測試,充分考慮邊界;保持智能合約的簡潔;關注區塊鏈威脅情報,並及時檢查更新;清楚區塊鏈的特性,如謹慎調用外部合約等。
數字錢包的安全性
數字錢包主要存在三方面的安全隱患:第一,設計缺陷。2014 年底,某簽報因一個嚴重的隨機數問題(R 值重復)造成用戶丟失數百枚數字資產。第二,數字錢包中包含惡意代碼。第三,電腦、手機丟失或損壞導致的丟失資產。
應對措施主要有四個方面:
一是確保私鑰的隨機性;
二是在軟體安裝前進行散列值校驗,確保數字錢包軟體沒有被篡改過;
三是使用冷錢包;
四是對私鑰進行備份。
2. 什麼是硬分叉,區塊鏈
區塊鏈發生永久性分歧,在新共識規則發布後,部分沒有升級的節點無法驗證已經升級的節點生產的區塊,通常硬分叉就會發生。
3. VS公鏈如何解決區塊鏈領域經典的「不可能三角「問題
第一,專屬游戲社區的 PoS+PoD 混合共識機制大幅提升公鏈網路的效率和一致性。
第二,社區自治,一切決策由社區成員投票決定。在混合共識機制下,PoS 氪金玩家和 PoD 技術玩家均有較高的收益率和話語權,這有效避免了中心化算力和中心化財力對整個游戲生態的影響,進而降低了分叉風險。如果有節點想針對某協議或標准提出分叉,則需要全體節點參與投票,如果投票結果的 PoD+PoS 加權值超過 50%,則系統默認高加權值的鏈為有效鏈,所有節點會在投票結果中約定的時間遷移至新鏈挖礦。
第三,由於游戲玩家對硬體設備的性能、帶寬都有要求,VS 公鏈將參與記賬的節點玩家設置為兩類:全節點與輕節點。玩家可以手動切換全節點與輕節點,一般在游戲過程中採用輕節點模式,給予游戲更多的硬體支持,而在游戲結束後及掛機期間,則啟動全節點模式。
第四,游戲內的所有交易許可權,均來自於玩家,只有玩家通過專有秘鑰授權後,游戲資產才可以流通。同時,所有交易數據均採用的現代密碼學技術 ECC(橢圓加密演算法)進行加密,保障區塊鏈信息安全。
第五,VS 作為游戲領域的垂直公鏈,首先會完成去中心化的游戲製作、虛擬資產發行和通證經濟運行的整體解決方案。包括游戲引擎、開發者環境、標准 SDK 等,這降低了游戲開發者從各個環境進入區塊鏈游戲開發的難度和門檻,這極大地降低了游戲開發團隊的工作量和成本,也使得 VS 公鏈的可拓展性變得極高。
4. 什麼是比特幣區塊鏈的分叉
分叉有區別為普通的升級,普通的升級在升級前後是沒有影響協議共識的,也一般不需要社區共識或算力共識的參與。而分叉根據對協議的修改情況分為軟分叉和硬分叉。
現有的定義:
【閃電定義】硬分叉是指比特幣區塊格式或交易格式(這就是廣泛流傳的「共識」(應該是部分協議共識))發生改變時,未升級的節點拒絕驗證已經升級的節點生產出的區塊,不過已經升級的節點可以驗證未升級節點生產出的區塊,然後大家各自延續自己認為正確的鏈,所以分成兩條鏈。
A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can』t validate blocks created by upgraded nodes that follow newer consensus rules.
【閃電定義】軟分叉是指比特幣交易的數據結構(這就是被廣泛流傳的「共識」(應該是部分協議共識))發生改變時,未升級的節點可以驗證已經升級的節點生產出的區塊,而且已經升級的節點也可以驗證未升級的節點生產出的區塊。
A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don』t know about.
我覺得不能說哪個定義正確還是錯誤,具體的定義可以根據已經較大社區共識的兩者的區別來自己總結,不需要權威來指定。
硬分叉:沒有向前兼容性,之前的版本將不可再用,需要強制升級。
軟分叉:有較好的兼容性,之前版本至少部分功能可用,可不升級。
硬分叉:在區塊鏈層面會有分叉的兩條鏈,一條原舊鏈,一條分叉新鏈。
軟分叉:在區塊鏈層面沒有分叉的鏈,只是組成鏈的區塊,有新區塊和舊區塊。
硬分叉:需要在某個時間點全部同意分叉升級,不同意的將會進入原舊鏈。
軟分叉:相當長的時間里,可允許不進行升級,繼續使用原版本生成舊區塊,與新區塊並存
5. 區塊鏈是怎樣防止數據篡改的
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
跟傳統的分布式存儲有所不同,區塊鏈的分布式存儲的獨特性主要體現在兩個方面:一是區塊鏈每個節點都按照塊鏈式結構存儲完整的數據,傳統分布式存儲一般是將數據按照一定的規則分成多份進行存儲。二是區塊鏈每個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分布式存儲一般是通過中心節點往其他備份節點同步數據。
沒有任何一個節點可以單獨記錄賬本數據,從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。也由於記賬節點足夠多,理論上講除非所有的節點被破壞,否則賬目就不會丟失,從而保證了賬目數據的安全性。
存儲在區塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數據擁有者授權的情況下才能訪問到,從而保證了數據的安全和個人的隱私。
區塊鏈提出了四種不同的共識機制,適用於不同的應用場景,在效率和安全性之間取得平衡。
基於以上特點,這種數據存儲技術是可以完美防止數據被篡改的可能性,在現實中也可以運用到很多領域之中,比我們的電子存證技術在電子合同簽署上提供了更安全可靠的保證。
6. 區塊鏈中的軟分叉和硬分叉是什麼
根據分叉後的區塊鏈是否能兼容舊區塊鏈,分叉又分為「硬分叉」和「軟分叉」。軟分叉和硬分叉是什麼?
硬分叉,是指當比特幣代碼發生改變後,舊節點拒絕接受由新節點創造的區塊。不符合原規則的區塊將被忽略,礦工會按照原規則,在他們最後驗證的區塊之後創建新的區塊。
而軟分叉是指舊的節點並不會意識到比特幣代碼發生改變,並繼續接受由新節點創造的區塊。礦工們可能會在他們完全沒有理解,或者驗證過的區塊上進行工作。
軟分叉和硬分叉都"向後兼容",這樣才能保證新節點可以從頭驗證區塊鏈。向後兼容是指新軟體接受由舊軟體所產生的數據或者代碼,比如說Windows 10可以運行Windows XP的應用。而軟分叉還可以"向前兼容"。向前兼容是指舊軟體可以接受由新軟體所產生的數據以及代碼,比如你用Word 2013保存的文檔,假如仍然可以用Word 2011打開,就是一種「向前兼容」。
7. 區塊鏈中硬分叉和軟分叉的區別是什麼
硬分叉是由於區塊鏈不可接受的永久性分歧造成的,軟分叉則是區塊鏈的可接受分歧造成的。硬分叉的出現意味著出現一條無法接受新共識機制的區塊鏈,這條區塊鏈相當於系統的舊版本,而接受了新共識機制的則是新版本,兩者雖然不版本不同,但是還是相互聯系。而軟分叉造成的區塊節點是可以和新共識機制兼容的,不會另外形成一條區塊鏈。硬分叉和軟分叉是幣圈中比較常見的事情。區塊鏈除了炒幣,其實可以應用的地方還有很多,包括醫療、保險、教育、食品等。我認識一家專門做區塊鏈開發的公司,煊凌科技。他們在行業內的評價還不錯。
8. 區塊鏈中通常說的分叉是什麼
分叉是通過在網路的不同部分同時創建兩個區塊來創建一個正在進行的區塊鏈替代版本。這會創建兩個平行的區塊鏈,其中一個是獲勝區塊鏈。
9. 區塊鏈分叉是什麼
區塊鏈分叉是什麼?分叉會導致我的比特幣一分為二嗎?
在中心化系統中升級軟體十分簡單,在應用商店點擊「升級」即可。但是在區塊鏈等去中心化系統中,「升級」並不是那麼簡單,甚至可能一言不合造成區塊鏈分叉。
簡單說,分叉是指區塊鏈在進行「升級」時發生了意見分歧,從而導致區塊鏈分叉。因為沒有中心化機構,比特幣等數字資產每次代碼升級都需要獲得比特幣社區的一致認可,如果比特幣社區無法達成一致,區塊鏈很可能形成分叉。
以比特幣為例,2017年7月,為了解決比特幣區塊鏈擁堵問題,一些比特幣愛好者提出了bitcoin cash分叉方案,導致比特幣區塊鏈一分為二。
根據分叉後的區塊鏈是否能兼容舊區塊鏈,分叉又分為「硬分叉」和「軟分叉」。
10. 區塊鏈中的硬分叉,以太經典ETC是什麼意思
以太經典(ETC)簡史
以太經典始於一個不幸的事件。
2016年5月,去中心化自治組織(DAO)舉行了一次代幣銷售,目標是建立一個基於區塊鏈的風險投資,以資助Ethereum生態系統內未來的去中心化應用(DApps)。
基本上,DAO是一個去中心化方式運作的復雜的智能合約–當條件滿足時自動在多方之間執行任務的計算機代碼。
盡管其有著雄心勃勃的目標以及成功的代幣銷售,DAO的代碼卻有一個重大漏洞,使得攻擊者可以從去中心化組織中竊取ETH。
攻擊者在2016年6月利用這一漏洞,引發了臭名昭著的DAO黑客事件,惡意竊取了大約價值5000萬美元的ETH。
毋庸置疑,DAO黑客事件曾震驚了Ethereum社區,也使得ETH價格從20美元跌至13美元。
在DAO黑客事件發生後,Ethereum社區不得不從三個選項中選擇。
什麼都不做,努力承受攻擊帶來的後果;
啟動軟分叉,收回資金;
部署一個硬分叉來恢復丟失的ETH。
軟分叉和硬分叉都是重大的網路升級。然而,軟分叉允許未升級的用戶和升級後的用戶相互交流,而硬分叉則不能向後兼容以前的版本。
由於開發人員意識到部署軟分叉會使網路受到分布式拒絕服務(DDoS)攻擊,Ethereum社區決定發起硬分叉,以恢復在DAO黑客攻擊中損失的資金。
雖然這一方案得到了大多數人的支持,但Ethereum社區中的一小部分人卻表示反對,他們認為 「代碼即律法」,區塊鏈網路應該是不可改變的。
由於雙方未能在解決方案上達成一致,最終導致了Ethereum區塊鏈的分裂。
那些試圖找回丟失的ETH的人選擇了硬分叉,開啟了我們今天所熟知的Ethereum(ETH)區塊鏈,而另一群人則留在了最初的Ethereum Classic(ETC)鏈上。
以太經典解決了那些問題?
以太經典(ETC)是一個允許開發者部署智能合約和DApps的區塊鏈平台。
雖然這個功能與Ethereum(ETH)的功能相同,但ETC區塊鏈有兩個主要區別。
首先,Ethereum Classic社區反對篡改分布式賬本,支持「區塊鏈網路不能也不該被修改」的觀點。
其次,雖然ETH總供應量沒有硬性上限,但以太經典採用恆定供應的貨幣政策,最多允許創建2.3億個ETC。
作為一個加分項,以太經典在去年啟動了Atlantis硬分叉,以增加與Ethereum的交互性,並通過zk-SNARKS提高交易的隱私保護程度。
以太經典ETC推薦的交易平台:火幣、OKEX、AAX等。