這段關於比特幣的內容正確嗎?
當 Alice 將 BTC 發送給 Bob 時,Alice 創建了一筆交易,該交易被發送到比特幣網路。但是,現在需要驗證此交易並將其添加到區塊鏈的塊中。區塊鍊是一個區塊鏈,每約 10 分鐘就會添加一個新區塊。我們將解釋礦工如何創建新區塊,為什麼開採一個新區塊大約需要 10 分鐘,以及如果一切順利(=6*10 分鐘),為什麼交易驗證平均需要 60 分鐘。
礦工目前每塊獲得 12.5 BTC 的獎勵(以前是 25 BTC/塊,現在是 12.5 BTC/塊,直到 2020 年,然後是 6.25 BTC/塊。這種減半一直持續到 2110-40 年,屆時將有 2100 萬比特幣開採。)一個塊由兩件事組成: - 一個簡單的部分:自找到最後一個塊以來的交易列表,這是為了驗證交易。- 一個困難的部分:證明探勘它的礦工身份的程式碼(以便網路可以獎勵他 12.5 BTC)。請注意,如果礦工提出一個新區塊,但其他礦工發現該區塊包含無效交易,則該礦工將失去其獎勵。
這兩個部分是如何联繫起來的:鑑於驗證交易比生成驗證區塊的程式碼要容易得多,因此有強烈的動機只提出具有有效交易的區塊。
現在我們將解釋為什麼礦工需要大量的計算能力,這是因為除了驗證交易之外,挖礦還確保每 10 分鐘以規定的速率供應比特幣,並且有競爭來獲得它們!過去的費率是每 10 分鐘 25BTC,現在是每 10 分鐘 12.5 比特幣,直到 2020 年中期,然後在 4 年內每塊 6.25 比特幣,直到下一次減半。為了達到規定的供應率,網路不斷調整挖礦難度,以便大致每 10 分鐘發現一個新區塊。
一筆交易在被添加到一個區塊並且大約 5 個其他區塊已被驗證後被視為最終確認。這意味著 6*10 分鐘 = 1 小時。
現在的問題是每個塊的大小都有一個限制:1Mb。這相當於每秒只有 3 筆交易。如果交易率顯著提高,則會在驗證過程中造成進一步的延遲。這就是比特幣分叉的原因。
那裡有許多措辭不當或誤解,但將來最好提出具體問題,而不是發布比特幣的完整描述並詢問它是否正確:)
以及如果一切順利,為什麼交易驗證平均需要 60 分鐘
這措辭有點糟糕,交易的驗證很容易(只需確保它是一個有效的交易,花費了有效的輸入)。確認它可能需要一個小時,但從技術上講,如果您想為速度犧牲一點安全性,您不必等待確認(對於較小的購買來說,一次確認應該足夠了)。
它曾經是 25 BTC
請注意,它從 50 開始,這聽起來像是從 25 開始。
一個簡單的部分:自找到最後一個區塊以來的交易列表,這是為了驗證交易。
該塊只有一個塊中的交易列表。你的措辭聽起來很奇怪,它不一定包括自上一個區塊以來的所有交易,只包括礦工挑選的交易。
一個困難的部分:證明探勘它的礦工身份的程式碼(以便網路可以獎勵他 12.5 BTC)。
礦工沒有證明他們的身份。他們只是在區塊中包含一個特殊的 coinbase 交易,將區塊獎勵支付給他們選擇的地址。並且塊雜湊並不是真正的“程式碼”,它只是一個有效的塊。
每 10 分鐘以規定的速率
10 分鐘只是一個平均值,很難找到一個有效的區塊變化來調整每 2016 個區塊的算力變化。你提到了這一點,但你聽起來好像每個區塊的比特幣供應減少與此有關。並非如此,難度僅取決於找到最後一個 2016 塊的速度(技術上是 2015 年,由於程式碼中的一個錯誤)。
現在的問題是每個塊的大小都有一個限制:1Mb。這相當於每秒只有 3 筆交易。如果交易率顯著提高,則會在驗證過程中造成進一步的延遲。這就是比特幣分叉的原因。
這已經過時了,它忽略了 segwit 的變化,例如塊重量而不是大小,以及軟分叉到最大 4Mb 塊。那個 3tx/s 的數字是從哪裡來的?此外,分叉本質上是政治性的,你過於簡單化了。