原创 分佈式一致性算法Raft
Paxos自1990年提出以後,相當長時間內幾乎已成爲分佈式一致性算法的代名詞。但因其難以理解和實現,目前知名實現僅有Chubby、Zookeeper、libpaxos幾種,其中Zookeeper使用的ZAB對Paxos做了大量改進。爲
原创 DES、3DES加密算法原理及其GO語言實現
DES加密算法,爲對稱加密算法中的一種。70年代初由IBM研發,後1977年被美國國家標準局採納爲數據加密標準,即DES全稱的由來:Data Encryption Standard。對稱加密算法,是相對於非對稱加密算法而言的。兩者區別在
原创 DPoS股份授權證明算法概述
DPoS,即Delegated Proof of Stake,譯爲股份授權證明。 最早於2013年由比特股Bitshares提出,目的爲解決PoW和PoS機制的不足。 PoW及PoS的缺陷以及DPoS的提出 PoW機制純粹依賴
原创 比特幣CPU挖礦、GPU挖礦、礦池及礦機挖礦技術原理
比特幣挖礦原理 比特幣的區塊頭,共含6個字段,如下: int32_t nVersion,4字節,版本號,一般固定不變,僅在升級時改變。 uint256 hashPrevBlock,32字節,前一個區塊的區塊頭哈希,由前一個區塊決
原创 分佈式一致性算法Paxos
Paxos是一種基於消息傳遞的分佈式一致性算法,由Leslie Lamport(萊斯利·蘭伯特)於1990提出。是目前公認的解決分佈式一致性問題的最有效算法之一。 要解決的問題及應用場景 Paxos算法要解決的問題,可以理解爲:
原创 PoW挖礦算法原理及其在比特幣、以太坊中的實現
PoW,全稱Proof of Work,即工作量證明,又稱挖礦。大部分公有鏈或虛擬貨幣,如比特幣、以太坊,均基於PoW算法,來實現其共識機制。即根據挖礦貢獻的有效工作,來決定貨幣的分配。 比特幣區塊 比特幣區塊由區塊頭和該區塊所
原创 Ubuntu Server 16.04.1 LTS 64位下編譯並運行bitcoin-v0.15.1
依賴庫安裝 安裝編譯環境 apt-get -y install build-essential libtool autotools-dev \ automake autoconf pkg-config bsdmainutils pyt
原创 RSA加解密及簽名算法的技術原理及其Go語言實現
對稱加密中,加密和解密使用相同的密鑰,因此必須向解密者配送密鑰,即密鑰配送問題。而非對稱加密中,由於加密和解密分別使用公鑰和私鑰,而公鑰是公開的,因此可以規避密鑰配送問題。非對稱加密算法,也稱公鑰加密算法。 1977年,Ron Ri
原创 PoS權益證明算法原理及其在點點幣、黑幣中的實現
PoS,即Proof of Stake,譯爲權益證明。 無論PoW或PoS,均可以理解爲“誰有資格寫區塊鏈”的問題。 PoW通過算力證明自己有資格寫區塊鏈,而PoS則是通過擁有的幣齡來證明自己有資格寫區塊鏈。 PoW的優勢和弊端
原创 分佈式一致性算法2PC和3PC
爲了解決分佈式一致性問題,產生了不少經典的分佈式一致性算法,本文將介紹其中的2PC和3PC。2PC即Two-Phase Commit,譯爲二階段提交協議。3PC即Three-Phase Commit,譯爲三階段提交協議。 分佈式系統和
原创 橢圓曲線加解密及簽名算法的技術原理及其Go語言實現
橢圓曲線加密算法,即:Elliptic Curve Cryptography,簡稱ECC,是基於橢圓曲線數學理論實現的一種非對稱加密算法。相比RSA,ECC優勢是可以使用更短的密鑰,來實現與RSA相當或更高的安全。據研究,160位ECC