區塊鏈筆記9 區塊鏈相關概念

2021-10-07 12:28:08 字數 1246 閱讀 4145

如果和集中式服務來對比著看,就可以很容易理解。

普通的服務就是前端配合著後台伺服器為使用者提供服務,一旦伺服器宕機或者掛掉,那資料全都消失了,而且如果伺服器上的資料被修改,其他使用者是不會知道的。

而區塊鏈就是每個使用者都會有伺服器上的資訊,相當於多個備份。當其中兩個賬戶進行交易的時候,其他所有使用者塊的資訊都會更新,這樣就不需要第三方介入而保證了交易的不可抵賴。

位元幣是一種數字資產,可以通過網際網路,在交易雙方之間安全地買賣和轉移。

位元幣交易出現之後,提出了乙個雙重支付問題。即是否可以把相同的乙個位元幣花費兩次甚至更多。的確有可能,所以後來將位元幣放到了位元幣網路上來解決這個問題,位元幣網路就是乙個去中心化的區塊鏈技術

那麼在區塊鏈中怎麼進行工作量證明,我想把它放到下個標題(挖礦與區塊鏈的生長)來詳細說明

區塊鏈顧名思義就是多個區塊串成乙個鏈,就像資料結構裡學的鍊錶差不多,不過我現階段看到的相關知識並沒有說兩個區塊之間有乙個指標來連線。那不同區塊是怎麼鏈結的呢。我們用經典的alice和bob來理解。

假設alice給bob傳送一筆轉賬,這時不但會給bob傳送轉記錄,還會給區塊鏈網路上的多個節點傳送轉賬訊息(注意不是所有節點,我也不知道為啥)。

而有一些節點就是我們稱為的礦工節點,這些節點一段時間內可以收到很多條轉賬訊息,礦工節點的作用就是把這些訊息湊成乙個區塊然後結合著最新的區塊的hash值生成乙個新區塊放到網路上。

我們要求在多條訊息形成的乙個區塊的最後一部分加上乙個數值,使得當前網路上最新的區塊hash+多條轉賬訊息+數值的hash值滿足一定的條件。找到這個值後才可以把生成的區塊放到網路上,這時區塊鏈就生長了乙個區塊。

但是要知道hash是多麼的隨機,所以找這個數值有時變得非常困難,所以會作為報酬,網路會給第乙個找到這個值的曠工節點傳送對應的位元幣來獎勵他。

然後問題來了,不同的訊息傳送給不同的曠工節點,那麼肯定會有交集啊。當乙個曠工把另乙個礦工裡含有的訊息打包形成最頂端區塊的時候,那另乙個礦工的這個訊息不就重複了麼。其實不是這樣的,當乙個最頂端區塊形成後,所有礦工節點都會檢查自己的訊息中是否有最頂端區塊中含有的訊息,如果有就剔除掉。 很麻煩了。

區塊鏈中,為節省空間,只儲存交易的雜湊值,不儲存交易本身的資訊。

注意這裡說的是區塊鏈中只儲存hash,在礦工節點中因為要計算還是需要儲存所有的訊息的。

默克爾樹具體來說,乙個區塊中的所有交易都會求取雜湊值,得到的雜湊值,再兩兩組合成新文字求取雜湊值,以此類推,直到生成最後乙個雜湊值,即根雜湊值,這些雜湊值組成的二叉樹就是默克爾樹。

區塊鏈系列1 區塊鏈科普

區塊鏈本質上是乙個賬本,當乙個商品 乙個行為 乙個交易開始的時候,可以產生乙個區塊,它的整個流動的生命週期被詳細的記錄下來,形成乙個鏈。這個賬本會存在網際網路上,理論上無法被任何人拿走 篡改或者銷毀。優點 1.分布式,去中心化 拿位元幣來講,去中心化的好處就是不需要有乙個類似銀行的機構來為雙方交易提...

區塊鏈讀書筆記02 區塊鏈高階

參考文獻 補充說明 廣播新的資料記錄時,實際上不需要抵達全部的節點。只要資料記錄資訊能夠抵達足夠多的節點,那麼將很快地被整合進乙個區塊中 全網節點表示接受某區塊的方法,就是將該區塊的隨機雜湊值視為最新的區塊雜湊值,新區塊的製造將以該區塊鏈為基礎進行延長 節點始終都將最長的區塊鏈視為正確的鏈,並持續以...

區塊鏈學習(三)區塊鏈例項

go語言寫的案例 1.計算雜湊,建立 區塊 package core import crypto sha256 encoding hex time type block struct 計算雜湊 func calculatehash b block string 生成新區塊 func generate...