這個吞金獸不好養 第兩百二十一章 區塊鏈_頁2
更新:01-28 11:36 作者:花花小君 分類:都市小說
沒有一個ap;ap;ldquo;銀行式ap;ap;rdquo;的權威中心,所以不能像銀行這種操作方式。
比特幣的解決方案是,每筆交易不以餘額為基礎,而是以以前的交易為基礎。
比如,ap;ap;ldquo;小王支付給小黃50btcap;ap;rdquo;的前提是自己曾經收到過多餘50btc。因此小王的交易記錄需要包含自己之前的交易信息,舉個例子:
小白支付給小王40btc
你支付給小王20btc
小王支付給小黃50btc
我們忽略比特幣的源頭,及它是如何產生的事,先繼續往下看。
這個時候小王需要廣播的交易信息就是:
之前交易小白支付給小王60btc,你支付給小王60btc。
當前交易小白支付給小黃20btc,你支付給小黃10btc,你支付給小黃10btc。
這裡說一句,ap;ap;ldquo;你支付給小王20btcap;ap;rdquo;中的20btc是一個整體,無法分割,因此無法只從中拿出10btc交易。
還有最後一個改進就是不留證明,改留比特幣賬號。就是用戶a並不用留下自己的名字,而是用一個字符串來代表自己進行交易,同理,用戶b和c也是如此,只留下了一個字符串。
所以你們室友在帳本里都不寫名字,而是寫下跟各自對應的字符串,即比特幣賬戶。
雖然對於你們四個人的寢室這純屬脫褲子放屁,但如果對於規模更大的系統,比如前文提到的整個學校而言,這種操作可以極大提升隱私性。
我們只能知道每個賬戶,而無法知道誰擁有這個賬戶,這就保證了隱私性。
而區塊鏈呢,就是從這一節開始進入正題。
前面我們提到了這個賬本是分布式存儲的,每個人都有一個自己獨立管理的賬本。
當這個賬本系統變得很大時,一致性問題就必須要考慮。
比如,如果你有室友在交易記錄發布時不在寢室,那麼他就錯了這次消息,使得這次消息不會出現在他的帳本里。
換回比特幣系統,也就是部分電腦可能處於關機或者未聯網狀態,會錯過部分交易。
此外,還可能會有黑客入侵部分電腦,篡改交易記錄。
此外,還有一個更嚴重的問題就是,實際網絡拓撲非常複雜,鏈路質量的隨機性很大。
因此,如果用戶a(假設賬戶里有10btc)連續廣播兩條相互矛盾的消息,比如:
交易信息1:用戶a支付10btc給b。
交易信息2:用戶a支付10btc給c。
有的讀者應該會覺得,那我們就採信先收到的交易信息1,忽略與之矛盾的腳印信息2不就行了。
但問題是,因為網絡鏈路的複雜性,所以很可能存在部分用戶先收到交易信息1,又有部分用戶先收到交易信息2。如果依靠先後順序辨別有效性,那麼就會存在不同用戶記錄的交易信息不一致。
所以為了解決這個問題,中本聰才提出了區塊鏈的概念。
每個用戶如果願意,都可以整理自己從網絡中接收到的交易信息,然後檢查其是否合理,也就是每筆交易是否由足夠余,然後數字簽名是否正確後,再將交易記錄打包成一個區塊。
因此每個交易記錄都是以區塊的形式存儲,然後再廣播到系統中的其他用戶中。
而區塊之間相互連接,形成一條
由系統內全體用戶共同維護的區塊鏈。
因此其他用戶收到廣播的區塊時,就會把這個區塊加到自己維護的賬本,也就是區塊鏈的尾部。
但如果只是這樣,並沒有解決任何問題。網際網路節點遍布全球,廣播過程也需要時間,因此肯定會存在不同節點收到不同區塊存儲的問題。
所以如此一來這個網絡就亂套了。
而為了降低傳播時間的影響,一個簡單粗暴的方式就是從系統設計中就限制區塊生成的速度。
所以比特幣系統的核心思想采就是用算力限制區塊的生成速度。
比特幣系統要求,每個用戶在發布新區塊前,必須先完成一個任務。
這個任務就是根據前一區塊的一些信息加上新區快的一些信息,生成一個字符串s,選擇一個字符串b,與s合併成ap;ap;ldquo;bcap;ap;rdquo;,且要求ap;ap;ldquo;bcap;ap;rdquo;的哈希映射滿足某個條件,比如映射結果的前72位為0。
所以上面的第二步,除了一個個試以外是沒有捷徑的,而且結果是否滿足要求可以快速試出。
舉個例子就相當於給你一個銀行卡,讓你挨個試密碼。
那你沒有任何辦法,只能000000到999999挨個試驗,最後雖然能試出來,但也會花費大量時間。
而且你把試出來的結果告訴別人後,別人可以很快驗證你的結果是否正確。
但是時間恰好是我們宇宙中最稀缺的資源。
因此可以調節這個難度,比如使得系統中所有平均每二十分鐘才會有一台設備完成要求的任務,猜出符合要求的字符串b。
如此一來,撞車的概率就會大大降低。補充一句,這個難度是不斷調節的,以適應硬體算力的提升。
雖然概率大大降低,但仍然無法排除存在撞車的概率。因此,區塊鏈驗證中最核心的思想就是ap;ap;dash;ap;ap;dash;相信最長的區塊鏈。
也就是在原有的到區塊鏈n的情況後,短時間內出現了兩個不同的區塊,這個時候,我們需要做的只有一件事情,那就是等待。
因為同時產生區塊的小概率事件,總不可能連續發生。