比特幣區塊鏈是一種分散式的事件流日誌
比特幣的區塊鏈機制其實是一種分散式的事件流日誌,這個事件流記錄著所有的比特幣交易事件。
比特幣是一種虛擬貨幣,我們知道我們可以透過自己設立一個機器來專門挖礦,也就是“無償”獲得比特幣,但是這個“無償”並不是真正無償,你的電腦將以算力和工作量的付出為代價,其實你的電腦就是參與一個全球的分散式系統。
雖然電腦系統是分散式的,但是比特幣的所有交易需要記錄在一起,解決這個記錄問題有兩種方式:
第一種是最簡單的方式,設立一箇中心儲存庫,所有的交易進出資料都傳送到這個中心儲存庫,這是以資料庫為中心的軟體系統的普遍特徵,這種模式問題是存在一箇中心資料庫,而比特幣系統本身是分散式的,沒有任何中心,因此這種中心資料庫方式顯然不適合比特幣的記賬管理方式;
第二種是用分散式方式完成業務上需要集中記賬管理的模式,也就是說,全世界各地伺服器的比特幣交易肯定是必須記賬到一個統一的流水賬本上,只是這個統一流水賬本不是對應一箇中心儲存庫來儲存它,而是每臺機器上都保留一份統一流水賬的複製。這個就非常類似分散式系統中讀寫操作了,每臺機器可以自由地讀取這一份統一的流水賬本資料,但是如果需要將自己機器中發生的比特幣交易資料寫入這個流水賬中,那麼就需要擁有寫的許可權,實際是類似日誌追加的權力,我們知道普通日誌追加append就是開啟日誌檔案,在檔案最後一行追加新的一行即可,統一的流水賬類似這個檔案,首先,你需要找到流水賬的最後一行,如同你排隊,你需要排到隊伍最後一個,但是你不需要了解整個隊伍,你只要認準你需要跟在哪個屁股後面就可以,也就是你排在哪個人後面就可以。
一個區塊是一個有唯一標識的資料塊,唯一標識也就是主鍵是一個256位的雜湊數字,使用網路一致統一的演算法生成的,每個區塊包含一個頭部,指向上一個區塊的主鍵雜湊數字,如同資料表的外來鍵指向另一個表的主鍵一樣,每個區塊除了頭部,還有交易內容,也就是發生的比特幣交易資料。多個區塊就像這樣靠著頭部資訊指向另外一個區塊串聯在一起,像個鏈條一樣,稱為區塊鏈。
很顯然,這種區塊鏈如同Stream,是一種交易的事件流,如同事件日誌儲存的是交易事件流一樣。
區塊鏈是一系列交易事件組成的“流水賬”,它是分散式的,可以在不同伺服器中共享,能夠基於大多數參與者的共識進行修改(如同分散式的Paxos Raft演算法一樣),一旦交易事件資料加入就永遠不會被刪除(日誌只能永遠被append新增),比特幣的區塊鏈包含了每個比特幣過去發生的每次交易記錄。
因此,如果你有Event Sourcing和分散式知識背景,對於資料一致性有過一定了解,那麼瞭解比特幣的區塊鏈就會非常容易。
區塊鏈最重要的核心是如何解決競爭性追加資料的情況,也就是說:同時有多個機器需要寫入交易事件,這時必須進行排隊,技術架構上我們使用一箇中心化的訊息系統對寫入事件進行排隊,但是在一個完全分散式的系統中,不可能設立中心化的訊息系統,因此,併發的多個機器需要進行競選。
比特幣的區塊鏈設計了競爭記賬和激勵機制,每個計算機以自己的計算能力也就是算力來競爭寫入記賬權力,算力高的贏得記賬的機率大,一旦獲得記賬權力,還能夠得到一定數量的比特幣獎勵。算力高是透過工作量等公開量化指標來衡量比較的。
比特幣的區塊鏈機制是基於自由的自然法則,每臺伺服器如同每個生物自由追求自己利益最大化,最終看不見的手形成一種正反饋的自然進化生態系統。
比特幣區塊鏈機制的核心思想是分散式+事件流日誌,這種核心思想可在業務領域更廣泛的應用。如數字出版 音樂發行等很多網路應用領域。
A blockchain is a distributed, concurrency safe, eventually consistent stream of transactions (ownership changed events) EventSourcing --Danny Zamorano
比特幣是一種虛擬貨幣,我們知道我們可以透過自己設立一個機器來專門挖礦,也就是“無償”獲得比特幣,但是這個“無償”並不是真正無償,你的電腦將以算力和工作量的付出為代價,其實你的電腦就是參與一個全球的分散式系統。
雖然電腦系統是分散式的,但是比特幣的所有交易需要記錄在一起,解決這個記錄問題有兩種方式:
第一種是最簡單的方式,設立一箇中心儲存庫,所有的交易進出資料都傳送到這個中心儲存庫,這是以資料庫為中心的軟體系統的普遍特徵,這種模式問題是存在一箇中心資料庫,而比特幣系統本身是分散式的,沒有任何中心,因此這種中心資料庫方式顯然不適合比特幣的記賬管理方式;
第二種是用分散式方式完成業務上需要集中記賬管理的模式,也就是說,全世界各地伺服器的比特幣交易肯定是必須記賬到一個統一的流水賬本上,只是這個統一流水賬本不是對應一箇中心儲存庫來儲存它,而是每臺機器上都保留一份統一流水賬的複製。這個就非常類似分散式系統中讀寫操作了,每臺機器可以自由地讀取這一份統一的流水賬本資料,但是如果需要將自己機器中發生的比特幣交易資料寫入這個流水賬中,那麼就需要擁有寫的許可權,實際是類似日誌追加的權力,我們知道普通日誌追加append就是開啟日誌檔案,在檔案最後一行追加新的一行即可,統一的流水賬類似這個檔案,首先,你需要找到流水賬的最後一行,如同你排隊,你需要排到隊伍最後一個,但是你不需要了解整個隊伍,你只要認準你需要跟在哪個屁股後面就可以,也就是你排在哪個人後面就可以。
一個區塊是一個有唯一標識的資料塊,唯一標識也就是主鍵是一個256位的雜湊數字,使用網路一致統一的演算法生成的,每個區塊包含一個頭部,指向上一個區塊的主鍵雜湊數字,如同資料表的外來鍵指向另一個表的主鍵一樣,每個區塊除了頭部,還有交易內容,也就是發生的比特幣交易資料。多個區塊就像這樣靠著頭部資訊指向另外一個區塊串聯在一起,像個鏈條一樣,稱為區塊鏈。
很顯然,這種區塊鏈如同Stream,是一種交易的事件流,如同事件日誌儲存的是交易事件流一樣。
區塊鏈是一系列交易事件組成的“流水賬”,它是分散式的,可以在不同伺服器中共享,能夠基於大多數參與者的共識進行修改(如同分散式的Paxos Raft演算法一樣),一旦交易事件資料加入就永遠不會被刪除(日誌只能永遠被append新增),比特幣的區塊鏈包含了每個比特幣過去發生的每次交易記錄。
因此,如果你有Event Sourcing和分散式知識背景,對於資料一致性有過一定了解,那麼瞭解比特幣的區塊鏈就會非常容易。
區塊鏈最重要的核心是如何解決競爭性追加資料的情況,也就是說:同時有多個機器需要寫入交易事件,這時必須進行排隊,技術架構上我們使用一箇中心化的訊息系統對寫入事件進行排隊,但是在一個完全分散式的系統中,不可能設立中心化的訊息系統,因此,併發的多個機器需要進行競選。
比特幣的區塊鏈設計了競爭記賬和激勵機制,每個計算機以自己的計算能力也就是算力來競爭寫入記賬權力,算力高的贏得記賬的機率大,一旦獲得記賬權力,還能夠得到一定數量的比特幣獎勵。算力高是透過工作量等公開量化指標來衡量比較的。
比特幣的區塊鏈機制是基於自由的自然法則,每臺伺服器如同每個生物自由追求自己利益最大化,最終看不見的手形成一種正反饋的自然進化生態系統。
比特幣區塊鏈機制的核心思想是分散式+事件流日誌,這種核心思想可在業務領域更廣泛的應用。如數字出版 音樂發行等很多網路應用領域。
A blockchain is a distributed, concurrency safe, eventually consistent stream of transactions (ownership changed events) EventSourcing --Danny Zamorano
相關文章
- 區塊鏈中的分散式模式區塊鏈分散式模式
- 一種分散式預寫日誌系統分散式
- 區塊鏈的工作證明其實是一個分散式時鐘區塊鏈分散式
- 比特幣和區塊鏈(2):比特幣中區塊鏈的實現比特幣區塊鏈
- 分散式賬本-區塊鏈核心技術之一分散式區塊鏈
- 區塊鏈搭建開發公司談分散式記賬與區塊鏈區塊鏈分散式
- 區塊鏈每日一問 | 什麼是區塊鏈的“分叉”?區塊鏈
- 比特幣與區塊鏈比特幣區塊鏈
- 區塊鏈鼻祖比特幣之7:區塊鏈在比特幣中的真正用意區塊鏈比特幣
- 走近比特幣:一個故事看懂“區塊鏈”比特幣區塊鏈
- 區塊鏈與分散式資料庫的比較區塊鏈分散式資料庫
- 區塊鏈鼻祖比特幣之6:詳解比特幣的密碼攻擊與分散式雙花攻擊區塊鏈比特幣密碼分散式
- .NET Core 中的日誌與分散式鏈路追蹤分散式
- 關於區塊鏈技術的12個誤區 區塊鏈就是比特幣嗎?區塊鏈比特幣
- 從比特幣說起, “區塊鏈”到底是什麼比特幣區塊鏈
- 區塊鏈入門——比特幣科普區塊鏈比特幣
- 比特幣區塊鏈的工作原理–資訊圖比特幣區塊鏈
- 比特幣如何使用區塊鏈解決分散式儲存帶來的一致性問題——原理解析比特幣區塊鏈分散式
- 區塊鏈是合法的嗎?區塊鏈
- 日誌: 分散式系統的核心分散式
- 區塊鏈101:區塊鏈技術是如何工作的?區塊鏈
- 區塊鏈之比特幣的私鑰,公鑰和地址是什麼?區塊鏈比特幣
- 什麼是區塊鏈,簡單瞭解區塊鏈區塊鏈
- Filecoin分散式儲存,能否實現區塊鏈3.0時代?分散式區塊鏈
- 比特幣的私鑰【區塊鏈生存訓練】比特幣區塊鏈
- 區塊鏈是一場瘟疫 還是一次革命?區塊鏈
- 以太坊和比特幣區塊鏈的異同(一些QA)比特幣區塊鏈
- 區塊鏈的原理是什麼?區塊鏈
- 區塊鏈是做什麼的?區塊鏈
- 分散式 | DBLE 的 general 日誌實現分散式
- 【分散式計算】分散式日誌匯入工具-Flume分散式
- 區塊鏈和比特幣常見的七大誤區區塊鏈比特幣
- 比特幣學習筆記——————7、區塊鏈比特幣筆記區塊鏈
- 區塊鏈鼻祖比特幣之11:比特幣困難度區塊鏈比特幣
- 區塊鏈分散式賬本Fabric、Corda和以太坊比較區塊鏈分散式
- 區塊鏈分散式金融DeFi和Yield Farming工作原理 -HFT區塊鏈分散式
- 騰訊十年老兵:區塊鏈本質上是一個異地多活的分散式資料庫區塊鏈分散式資料庫
- 區塊鏈教程、區塊鏈指南、區塊鏈中文手冊、區塊鏈原理區塊鏈