為什麼 PoW 甚至是必要的?
所以我理解 PoW 背後的概念(如果有人想推翻目前的鏈條,他們必須重新做所有這些工作)。
但是,既然交易只有在包含有效簽名的情況下才會被確認,為什麼還要這樣做呢?
假設有 Bob 和 Alice,礦工 X 和所有其他礦工。Bob 簽署了一筆交易,表明他向 Alice 發送了 10 美元,礦工看到簽名確實有效並且有足夠的餘額,從 Bob 那裡扣除並添加到 Alice。現在說礦工 x,想為自己做一個假交易來清空 Bob 的錢包,當然,他可以用假簽名進行假交易,但在這種情況下,所有其他礦工都拒絕它,他自己也不能添加餘額到他自己的錢包,因為所有其他礦工再次拒絕它(另一個具有實際餘額的錢包必須簽署交易)。現在我可以看到這會使獎勵變得困難,但同樣,你可以'
再說一次,如果有人自己去建立自己的鏈,所有其他礦工都拒絕它,因為他們只是一個礦工,大多數人不同意這條鏈。
現在你如何追踪大多數人?就像你連接到網路中的其他對等點一樣,你連接到不同的對等點,並且總是更新這個資訊(你連接到許多對等點,所以如果一個對等點對你撒謊,其他大多數人都會說實話,你保持與你在一起的所有其他礦工的列表以及他們都同意的鏈)。
然後您可能想知道“為什麼一個節點不能創建許多複製並讓您認為它們很多”?當然,如果他們能夠克服數量龐大的其他礦工並跟上進度(也不會被其他同行列入黑名單,請記住,即使沒有 PoW,仍然存在成本)。這就像獲取網際網路上的所有 ips 一樣。
比特幣解決的問題是雙花問題。導致雙花問題的場景與試圖花掉 Bob 的錢的“礦工 x”無關——他顯然不能。雙重支出問題源於攻擊者 Mallory 能夠並行簽署兩筆相互衝突的交易,一份聲明他支付了 Alice,另一份聲明他支付了相同的資金給 Bob。沒有仲裁器的系統如何決定兩者中的哪一個優先?顯然,它們不可能都有效,否則錢就不會稀缺。我們不能讓每個單獨的參與者做出自己的決定,否則網路將立即分裂,因為網路的某些部分首先看到每筆交易。
中本聰發現工作量證明可用於創建分佈式彩票,即為每個區塊選擇唯一作者的彩票。通過允許單個實體記錄他們的交易日誌版本,區塊鏈記錄了交易的規範順序。如果作者首先看到了 Mallory 對 Alice 的交易,那是權威的,支付 Bob 的那筆是無效的。這樣,雙花問題就解決了。
但是,既然交易只有在包含有效簽名的情況下才會被確認,為什麼還要這樣做呢?
工作證明不用於交易驗證。簽名可以防止其他人竊取他們不擁有的比特幣(沒有私鑰),並防止交易被篡改。然而,Bob 可以多次花費相同的比特幣,簽署所有交易,並且它們都將作為獨立的交易有效。但是很明顯,它們都相互衝突,不能都包含在區塊鏈中——這就是雙花問題。只能接受這些競爭交易中的一項。最終進入區塊鏈的是有效交易,其他所有交易都被視為無效交易。
有關工作量證明的更多資訊,請參閱本網站上的其他一些問題。例如,為什麼我們需要比特幣的工作證明?