Block

一個塊究竟是如何建構和驗證的?

  • March 8, 2018

據我了解,一個新區塊包含過去 10 分鐘內的所有交易。那麼當 Alice 向 Bob 發送 10 BTC 時,這些資訊是如何被放到最新的區塊上的呢?我想我想知道誰收集了所有交易然後建構新塊?客戶是否促進了這一點,我們如何知道它包含可信賴的數據?

當一個探勘節點發現這個塊時,我知道它會試圖找到一個隨機數,作為工作證明的一部分,它會散列到前導零。我讀到礦工幫助“驗證”交易。找到一個隨機數如何驗證塊中的內容?或者驗證是否指其他節點檢查“塊+隨機數”散列以糾正前導零的數量?

那麼當 Alice 向 Bob 發送 10 BTC 時,這些資訊是如何被放到最新的區塊上的呢?我想我想知道誰收集了所有交易然後建構新塊?客戶是否促進了這一點,我們如何知道它包含可信賴的數據?

這就是比特幣軟體所做的。它將任何生成交易的人的交易轉發給礦工,以便他們可以將它們包含在區塊中。您知道數據是值得信賴的,因為您始終對其進行全面檢查。比特幣完全基於數學規則執行,數據要麼遵循規則,要麼不遵循。

當一個探勘節點發現這個塊時,我知道它會試圖找到一個隨機數,作為工作證明的一部分,它會散列到前導零。我讀到礦工幫助“驗證”交易。找到一個隨機數如何驗證塊中的內容?或者驗證是否指其他節點檢查“塊+隨機數”散列以糾正前導零的數量?

礦工在一個塊上所做的所有計算工作都不能與該塊分開,否則隨機數將不再產生前導零。比特幣的規則之一是在有效區塊中,計算量最大的區塊獲勝。通過在塊之上堆積荒謬的計算量,探勘過程確保其他人無法創建他們自己的有效塊來“贏得”包含您認為已接受的交易的塊。

你的問題是:找到一個隨機數如何驗證塊中的內容?

由於您投入瞭如此多的算力、電力、硬體和時間來解決一個區塊,這使得該區塊更加合法。就像我說我會給贏得 1 公里跑需要 10 分鐘的人 100 美元。因為獎勵很高(這裡是 100 美元),所以很多人會參加比賽。強盜還必須跑 1 公里才能使其欺詐塊被接受。問題是他必須贏得接下來的 5 場比賽才能讓他的鏈條被接受。因此,想要欺騙鏈條的強盜必須擁有比其他任何人更多的雜湊能力。至少佔總算力的 51%。所以獎勵越高,參與比賽的人就越多,比特幣網路就越安全。每個區塊獎勵 12.5 BTC。該獎勵大約每 4 年下降 50%。為了這個獎勵,

引用自:https://bitcoin.stackexchange.com/questions/19346