溫馨提示×

溫馨提示×

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

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

區(qū)塊鏈中比特幣技術寫入流程是什么

發(fā)布時間:2022-01-06 17:27:17 來源:億速云 閱讀:282 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹“區(qū)塊鏈中比特幣技術寫入流程是什么”,在日常操作中,相信很多人在區(qū)塊鏈中比特幣技術寫入流程是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”區(qū)塊鏈中比特幣技術寫入流程是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

0)用戶提交交易(個人補充):A 是一個真實的人,他想給 B 轉(zhuǎn)賬,A 需要使用比特幣的客戶端,選擇轉(zhuǎn)賬的金額和 B 的錢包 ID,點擊發(fā)送。比特幣客戶端可以獲得 A 的地址,也就是 A 的錢包ID和電子簽名。于是,一筆交易所需要的信息除了上一個交易的輸出就都具備了。

1)節(jié)點廣播交易:這筆交易通過比特幣客戶端發(fā)給比特幣的一個系統(tǒng)節(jié)點 N1。N1 接收到這筆交易信息后就廣播給其他節(jié)點,這是異步的,不用等其他節(jié)點回復,其他節(jié)點接收到新的交易信息后也會做廣播。

2)節(jié)點打包交易:這里假設系統(tǒng)的每個節(jié)點都有向區(qū)塊鏈上寫入數(shù)據(jù)的能力(其實某個節(jié)點往區(qū)塊鏈里寫數(shù)據(jù)就是往本地磁盤寫)。每個節(jié)點將自己收到的有效交易信息放入一個區(qū)塊里,存到本地,我們稱為候選區(qū)塊。

3)挖礦:(proof-of-work) 挖礦這個詞很火。我們之前提到每個區(qū)塊頭部有一個 nonce,挖礦的本質(zhì)是使用計算機的計算能力找到一個合適的 nonce,使得這個區(qū)塊的所有信息 hash 后的小數(shù)足夠小,比如前70位都是0。因為 nonce 的改變會影響整個 hash 值,所以改變這個 nonce 值就可以改變 hash 后的值。由于這個閾值足夠小,需要大量的計算,一般10分鐘才會挖到這個 nonce,而挖到 nonce 的節(jié)點就有資格向本地區(qū)塊鏈上寫入這個候選區(qū)塊了,即證明了工作量。這個挖礦的節(jié)點就可以叫做礦工。

為什么這些礦工不合作呢,每人分一段范圍的數(shù)挖?這是不可行的,由于每個礦工都本地的候選區(qū)塊都不一樣,因此每個候選區(qū)塊適用的 nonce 值也不一樣,可能你分到了一個根本挖不到礦的范圍,所以每個礦工只能自己挖。

為什么會有人想當?shù)V工呢?人們不會干費力不討好的事,因為礦工挖到礦會收獲比特幣。這筆錢會以一個賬單的形式記錄在每個區(qū)塊的開頭。所以,其實各個礦工需要的就是CPU的計算能力和電,誰的計算能力越高,誰能挖到礦的概率越大,誰就越有錢,誰就能繼續(xù)增加計算能力。

這樣看,礦被挖到的時間會越來越短,因為計算機的計算能力是逐年升高的。這里,中本聰又設計了可以動態(tài)調(diào)整挖礦難度,也就是 hash 之后的值需要小于的那個閾值是可調(diào)整的。你挖的快了就調(diào)低一點,挖的慢了就調(diào)高一點。使整個區(qū)塊鏈穩(wěn)定在每10分鐘增加一個區(qū)塊這個水平。

因此,挖礦這個過程總結(jié)一下就是:挖屬于自己候選區(qū)塊的礦,并將這個候選區(qū)塊寫入本地區(qū)塊鏈。

4)廣播區(qū)塊:當寫入這個區(qū)塊 B 后,礦工需要廣播 B 給其他節(jié)點。

5)驗證區(qū)塊并寫入:節(jié)點接收到一個區(qū)塊 B 時,會驗證 B 是否滿足要求,且交易合法,交易合法的意思是沒有重復消費比特幣。如果不滿足要求則不承認 B。如果滿足要求,就把 B 寫到本地區(qū)塊鏈的末尾。

6)繼續(xù)寫:第 5)步只將這個區(qū)塊寫到了本地,那如何告訴別人我承認這個區(qū)塊了?方法如下:如果產(chǎn)生新的區(qū)塊就追加到 B 的末尾,繼續(xù)廣播新的區(qū)塊。也就表明這個節(jié)點是相信 B 的有效性的,原意往 B 后邊加數(shù)據(jù)。

理想的運行方式

一種理想的工作模式是:嚴格按照每10分鐘有一個節(jié)點挖到礦,且一個區(qū)塊在10分鐘之內(nèi)可以到達所有節(jié)點。

舉個例子:比特幣節(jié)點有幾千個,1點有一個節(jié)點挖到礦了,可以向區(qū)塊鏈中寫入?yún)^(qū)塊,并在 1點10分之前將這個區(qū)塊廣播給所有其他節(jié)點,而其他節(jié)點也都驗證過了這個區(qū)塊,并把這個區(qū)塊加到本地鏈上。此時所有節(jié)點數(shù)據(jù)都一致了。1點10分又有一個節(jié)點挖到礦了,繼續(xù)這個循環(huán)。

這樣整個分布式系統(tǒng)中的數(shù)據(jù)總是一致的,不一致的時間不超過10分鐘,由于嚴格控制了寫入速度,使系統(tǒng)沒有沖突。系統(tǒng)就這樣幸福快樂地永遠運行下去了。

但是,現(xiàn)實并不是這么美麗,可能10分鐘有兩個節(jié)點挖到礦了,鏈會出現(xiàn)沖突,即數(shù)據(jù)不一致了。我們下節(jié)介紹沖突解決和雙重支付問題。

到此,關于“區(qū)塊鏈中比特幣技術寫入流程是什么”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

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

AI