位元幣記錄篇 一

2021-08-17 20:38:39 字數 1176 閱讀 3399

挖礦:是作演算法運算的過程,從**來看就是反覆執行hash函式並檢測執行結果的具體過程。(挖礦也是在採用pow共識機制前提下討論。)

共識演算法(pow,pos,dpos,pbft):

pbft:practical byzantine fault tolerance,實用拜占庭容錯演算法。見前文拜占庭容錯演算法介紹。

pbft是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本複製。每個狀態機的副本都儲存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母r表示,使用0到|r|-1的整數表示每乙個副本。為了描述方便,假設|r|=3f+1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f+1個副本,但是額外的副本除了降低效能之外不能提高可靠性。

礦工:一般指擁有挖礦機器的人,此處特指區塊鏈挖礦的程式或者機器都統稱礦工。

位元幣的區塊頭–blockheader結構:

共6個字段

int32_t nversion; //版本號(4位元組)

uint256 hashprevblock; //前乙個區塊的區塊頭hash值(32位元組)

uint256 hashmerkleroot; //包含本區塊所有交易構造的merkle樹根(32位元組)

uint32_t ntime; //unix時間戳(4位元組)

uint32_t nbits; //記錄本區塊難度(4位元組)

uint32_t nnonce; //隨機數(4位元組)

位元幣的每一次挖礦就是對這80個位元組連續進行兩次sha256運算,運算結果是固定的32位元組(二進位制256位)。且區塊頭6個字段的情況各不相同

因此以上3個字段可以對每個礦工來說都可以看做是固定的。而礦工可以自由調整的地方是剩下的3個字段。

根據hash函式特性,這3個字段中哪怕其中任意1個位的變化,都會導致hash執行結果巨大變化。在cpu挖礦時代,搜尋空間主要由nnonce提供,進入礦機時代,nnonce提供的4個位元組已經遠遠不夠,搜尋空間轉向hashmerkleroot。

如圖示:

位元幣記錄篇 三

位元幣 位元幣是乙個分布式的點對點網路系統,因此沒有 伺服器。也沒有 發行機構。位元幣是通過 挖礦 產生的,挖礦就是驗證位元幣交易的同時參與競賽來解決乙個數學問題。任何參與者都可以做礦工,用他們的電腦算力來驗證和記錄交易。平均每10min就有人能驗證過去這10min發生的交易,他將會獲得新幣作為工作...

位元幣基礎(一)

最近很多人都在問我,到底什麼才是區塊鏈,區塊指的是啥 居民區?行政區?怎麼就把區塊給鏈上了,鏈上又能做什麼,乙個鍊子怎麼又搞出一堆聽不懂的幣出來了,這個幣我怎麼沒見過.區塊鏈都快變成問題鏈了。其實我很能理解大家的這種焦慮,在這麼乙個萬眾創新的時代,每天都有很多新名詞產生,每段時間都會有個所謂的風口。...

位元幣 位元幣的實現

位元幣系統是乙個基於交易的賬本,這意味著儲存在賬本中的是一筆筆交易。那麼在使用者進行轉賬交易時,首先就需要確保使用者所持有的數量要大於或等於將要交易的。這要做的目的是為了避免雙花問題。這種基於交易的賬本好處在於隱私保護性比較好,缺點在於每次交易都需要說明幣的 在位元幣的全節點中,會在記憶體中維護乙個...