從架構師角度看區塊鏈-什麼是區塊鏈
進入2018年,區塊鏈和比特幣的熱度盛霄直上,作為「古典互聯網」的一員,雖然並不認可比特幣的理念,但作為其底層技術的區塊鏈,還是有非常值得研究的地方。
一、區塊鏈,是構築比特幣的基礎技術,區塊鏈實際上是一個去中心化的鏈式分散式資料庫,使用密碼學產生,裡面的數據無法被篡改。區塊生成的獎勵,最初4年是50比特幣,但每生成210000個區塊,獎勵金額會減半,目前是25個比特幣。當前的速度,平均每10分鐘生成1個區塊。1個區塊只有1M存儲空間,只夠寫入2000筆比特幣交易。
區塊鏈有3個特徵
1、歷史生成的區塊是無法改變的
2、只能在最新的區塊後面生成新的區塊
3、新區塊的必須滿足一定條件才有效
二、區塊鏈目前主要分為三種:
1、公共區塊鏈:典型應用有比特幣和以太坊
2、聯盟(行業)區塊鏈:典型應用包括Hyperledger
3、私有區塊鏈
三、區塊分為區塊頭和區塊體兩部分。
區塊頭80個位元組,包括:
1、上一區塊的哈希值,32位元組
2、時間戳,4位元組(10分鐘一個維度)
3、隨機數,4位元組
區塊體包括10分鐘內選定的交易記錄,如果10分鐘內產生了2個合法帳本,則採用少數服從多數的原則,只採用多數的那個,也就是說,區塊鏈最快10分鐘產生一個帳本。
第一筆交易是用於獎勵礦工的特殊交易,由礦工自己添加進區塊。
四、區塊鏈是6層模型,從下到上分別為:
1、數據層:區塊定義、加密演算法、時間戳
2、網路層:P2P、多播通信
3、共識層:Paxos、Pos、Pow
4、激勵層
5、合約層
6、應用層:帳本、直播、短視頻、購物、廣告
五、區塊鏈的工作流程
1、將新的數據記錄向全網進行廣播
2、接收節點對收到的數據記錄信息進行檢索
3、全網所有接收節點對區塊執行共識演算法
4、區塊通過共識演算法過程後,被納入區塊鏈中存儲,全網節點均表示接收該區塊,而表示接收的方法,就是將該區塊的隨機散列值視為最新的散列值
六、區塊鏈包含了哪些技術
1、P2P
2、加密演算法和簽名,非對稱加密-區塊鏈使用的是ECDSA,specp256k1,相當於DSA和非對稱加密ECC的結合。哈希-區塊鏈使用SHA256,
3、梅克爾樹,Merkle,相當於對區塊中所有交易記錄進行一個快照,區塊中交易記錄的任意改動都可以通過Merkle根哈希而察覺,主要用於簡單支付驗證,
4、工作量證明機制-共識演算法(Pow),用於確認你是否做過一定量工作的證明。
下一章,我將介紹區塊鏈的幾種共識演算法和關於挖礦的內容
TAG:架構師的歷練 |