原创 分佈式一致性算法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