中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

區塊鏈中比特幣技術的雙重支付概念是什么

發布時間:2022-01-06 17:26:39 來源:億速云 閱讀:139 作者:iii 欄目:互聯網科技

這篇文章主要講解了“區塊鏈中比特幣技術的雙重支付概念是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“區塊鏈中比特幣技術的雙重支付概念是什么”吧!

雙重支付概念

比特幣作為電子貨幣,且不利用第三方機構。首先需要解決的問題就是:如何防止雙重支付(double-spending)? 雙重支付簡單來說就是一份貨幣被使用了多次。

這個約束在比特幣結構的基礎上就可以表示成:一個交易的輸出最多接一個交易的輸入,即最多被消費一次。

雙重支付是比特幣系統要解決問題。對應有兩道防火墻,第一道是本地檢查,第二道是分布式協議。

理想情況

我們之前介紹過一種理想的工作模式:嚴格按照每10分鐘有一個節點挖到礦,且一個區塊在10分鐘之內可以到達所有節點。

在這種理想的工作模式下,系統會出現雙重支付嗎?不會。簡單看一下:現在有兩筆賬單 A 和 B,不分先后,都要消費同一筆比特幣。

(1)第一種情況:假如 A 在 B 之前被寫入了區塊鏈。在某個節點挖到礦準備寫入 B 時,根據我們之前的假設,這個節點已經同步了最新的區塊鏈。因此,A 已經在這個節點的本地鏈上了,通過本地檢查會發現 B 不合法,直接把 B 扔掉。

(2)第二種情況:A 和 B 都還未寫入區塊鏈。并且都被一個節點接收,這時這個節點直接在本地檢查候選區塊中的所有賬單中是否有沖突,檢查到 A 和 B了,扔掉后來的一個。

可以看到,在理想情況下,本地檢查就可以避免雙重支付。但是現實情況呢?

現實情況

現實情況是不一定嚴格10分鐘有一個節點挖到礦,可能每隔任意時間就有節點挖到礦了,也可能兩個節點同時挖到礦了。而且可能出現網絡分區導致一個區塊不確定多久會廣播到所有節點。

由于節點挖到礦之后,并不需要請求其他節點同意就直接寫入本地區塊鏈了,因此很容易出現各個節點維護不同的鏈的情況。但是,畢竟是個分布式系統,不同的節點總會進行通信的,當他們通信時,就會檢測出沖突,類似 git 的分支合并。git 的分支合并沖突是交給用戶手動解決的,但是比特幣的沖突可以靠系統解決。中本聰給出了一個簡單的解決方法:

以最長鏈作為有效鏈,新的區塊需要加到最長鏈后,短鏈在一定時間后會被拋棄。

這個類似排隊上公交車,這時候有兩個隊,管理員說以最長隊為準,這時候后來的人為了保證自己排到前面,都會去排最長的隊。這時,短的鏈就會被丟棄,我們看個例子:

區塊鏈中比特幣技術的雙重支付概念是什么

上邊是節點 A 的鏈,下邊是節點 B 的鏈,當節點 A 接收到 B 的鏈,A 會拋棄綠色塊,把 B 的鏈同步過來,在黃色塊繼續寫。

可能的雙重支付

在這種機制下,有沒有漏洞讓我把一塊錢花多遍呢?有的。我可以先把交易寫入區塊鏈,然后想辦法把這筆交易廢棄掉,也就是讓這筆交易的鏈分支成為短的分支(再寫一個長分支),這樣這筆分支就不會被認可了。我就可以繼續創建一筆新的交易來花這筆錢了。

好了,準備就緒,我要開始干壞事了,看示例圖:

區塊鏈中比特幣技術的雙重支付概念是什么

我控制著節點 A。交易A 是第一筆交易,并且已經被廣播到其他節點了。為了讓交易 A 失效,我需要重新開一個黑鏈包含交易 B。其實就是和其他節點賽跑,我需要先追上綠鏈,并且超過綠鏈一個塊,這樣我就可以同化其他的節點了。

而這就需要我連著挖到兩個礦。這是個什么概念?從概率的期望來說,這就相當于我有比特幣系統中一半以上的計算資源。我都這么牛逼了,還需要黑系統嗎?我只需要努力挖礦就能得到很高的回報。

然而更多情況是下面這種:

區塊鏈中比特幣技術的雙重支付概念是什么

我和別人的計算能力差不多,當我挖到一個礦寫入一個黑塊時,另外兩個節點已經挖到兩個礦了,他們互相同步數據根本不會鳥我,而這個差距還會越來越大,最終我只能選擇放棄抵抗。

這里還有一個細節:塊是一個一個廣播出去的,不是整個鏈廣播出去的,因此,當某個節點接收到一個和自己分支沖突的塊時,不會馬上丟掉,會先緩存在本地,當緩存的所有塊構成的某個分支超過當前工作的分支,就會切換到最長分支上去。

一般來說,當鏈上的一個塊后邊接了 6 個塊了,就可以確認這個塊的所有交易不會被丟棄了,所以比特幣賬單的確認時間是 1 個小時。

感謝各位的閱讀,以上就是“區塊鏈中比特幣技術的雙重支付概念是什么”的內容了,經過本文的學習后,相信大家對區塊鏈中比特幣技術的雙重支付概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林芝县| 光山县| 名山县| 潞城市| 阳朔县| 行唐县| 且末县| 台前县| 莆田市| 莱芜市| 天峨县| 贵港市| 高陵县| 尉犁县| 阿拉善盟| 庆城县| 托克逊县| 南雄市| 蓬安县| 达日县| 广东省| 仪征市| 陈巴尔虎旗| 浪卡子县| 屏东县| 天等县| 旌德县| 江源县| 礼泉县| 汝南县| 图们市| 铜梁县| 上虞市| 于田县| 庆安县| 石阡县| 祁东县| 富平县| 永嘉县| 板桥市| 呼玛县|