国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法

這篇具有很好參考價值的文章主要介紹了區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

區(qū)塊鏈中怎么懲罰虛假信息的礦工

工作量證明POW

什么是工作量證明?

現(xiàn)在出現(xiàn)了另一個問題:如果其他人偷看了小明的答案并且搶答了怎么辦??

為什么區(qū)塊可以安全廣播?

共識算法

小結(jié)


區(qū)塊鏈中怎么懲罰虛假信息的礦工

1. 共識機制懲罰:礦工通過提交多個區(qū)塊的作弊行為,扣除該礦工的所有抵押幣種,存儲算力清零且不可恢復(fù)。

2.時空證明出錯懲罰:如果節(jié)點提交的時空證明與對應(yīng)的周期不符合,將會處以出錯罰金。

3.未提交時空證明:在證明周期內(nèi)節(jié)點沒有提交時空證明時,那么將會被罰沒所有質(zhì)押物,算力清零。

4.違背合約懲罰:節(jié)點未能按照合約要求履行存儲服務(wù),將會被要求返還客戶的費用,并罰沒相應(yīng)的儲存質(zhì)押。

工作量證明POW

什么是工作量證明?

????????比特幣的工作量證明需要歸結(jié)為計算機計算,也就是數(shù)學(xué)問題。如何構(gòu)造一個數(shù)學(xué)問題來實現(xiàn)工作量證明?我們來看一個簡單的例子。

????????假設(shè)某個學(xué)校的一個班里,只有一個女生叫小紅,其他都是男生。每個男生都想約小紅看電影,但是,能實現(xiàn)愿望的只能有一個男生。

????????到底選哪個男生呢?本著公平原則,小紅需要考察每個男生的誠意,考察的方法是,出一道數(shù)學(xué)題,比如說解方程,誰第一個解出這個方程,誰就有資格陪小紅看電影:

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

????????因為解高次方程沒有固定的公式,需要進行大量的計算,才能算出正確的結(jié)果,這個計算過程就需要一定的工作量。假設(shè)小明率先計算出了結(jié)果x=2.5,小紅可以簡單地驗證這個結(jié)果是否正確:

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

????????可以看出,解方程很困難,但是,驗證結(jié)果卻比較簡單。所以,一個有效的工作量證明在于:計算過程非常復(fù)雜,需要消耗一定的時間,但是,驗證過程相對簡單,幾乎可以瞬間完成。

現(xiàn)在出現(xiàn)了另一個問題:如果其他人偷看了小明的答案并且搶答了怎么辦??

要解決這個問題也很容易,小紅可以按照男生的編號,給不同的男生發(fā)送不同的方程,方程的第一項的系數(shù)就是編號。這樣,每個人要解的方程都是不一樣的。小明解出的x=2.5對于小軍來說是無效的,因為小軍的編號是3,用小明的結(jié)果驗證小軍的方程是無法通過驗證的。

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

事實上如果某個方程被驗證通過了,小紅可以直接從方程的第一項系數(shù)得知是誰解出的方程。所以,竊取別人的工作量證明的結(jié)果是沒有用的。

通過工作量證明,可以有效地驗證每個人確實都必須花費一定時間做了計算。

在比特幣網(wǎng)絡(luò)中,礦工的挖礦也是一種工作量證明,但是,不能用解多項式方程來實現(xiàn),因為解多項式方程對人來說很難計算,對計算機來說非常容易,可以在1秒鐘以內(nèi)完成。

要讓計算機實現(xiàn)工作量證明,必須找到一種工作量算法,讓計算機無法在短時間內(nèi)算出來。這種算法就是哈希算法。

通過改變區(qū)塊頭部的一nonce字段的值,計算機可以計算出不同的區(qū)塊哈希值:

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

直到計算出某個特定的哈希值的時候,計算結(jié)束。這個哈希和其他的哈希相比,它的特點是前面有好幾個0:

hash256(block data, nonce=0) = 291656f37cdcf493c4bb7b926e46fee5c14f9b76aff28f9d00f5cca0e54f376f
hash256(block data, nonce=1) = f7b2c15c4de7f482edee9e8db7287a6c5def1c99354108ef33947f34d891ea8d
hash256(block data, nonce=2) = b6eebc5faa4c44d9f5232631f39ddf4211443d819208da110229b644d2a99e12
hash256(block data, nonce=3) = 00aeaaf01166a93a2217fe01021395b066dd3a81daffcd16626c308c644c5246
hash256(block data, nonce=4) = 26d33671119c9180594a91a2f1f0eb08bdd0b595e3724050acb68703dc99f9b5
hash256(block data, nonce=5) = 4e8a3dcab619a7ce5c68e8f4abdc49f98de1a71e58f0ce9a0d95e024cce7c81a
hash256(block data, nonce=6) = 185f634d50b17eba93b260a911ba6dbe9427b72f74f8248774930c0d8588c193
hash256(block data, nonce=7) = 09b19f3d32e3e5771bddc5f0e1ee3c1bac1ba4a85e7b2cc30833a120e41272ed
...
hash256(block data, nonce=124709132) = 00000000fba7277ef31c8ecd1f3fef071cf993485fe5eab08e4f7647f47be95c

比特幣挖礦的工作量證明原理就是,不斷嘗試計算區(qū)塊的哈希,直到計算出一個特定的哈希值,它比難度值要小。

比特幣使用的SHA-256算法可以看作對隨機輸入產(chǎn)生隨機輸出,例如,我們對字符串Hello再加上一個數(shù)字計算兩次SHA-256,根據(jù)數(shù)字的不同,得到的哈希是完全無規(guī)律的256位隨機數(shù):

hash256("Hello?") = ????????????????????????????????????????????????????????????????

大約計算16次,我們可以在得到的哈希中找到首位是0的哈希值,因為首位是0出現(xiàn)的概率是1/16:

hash256("Hello1") = ffb7a43d629d363026b3309586233ab7ffc1054c4f56f43a92f0054870e7ddc9
hash256("Hello2") = e085bf19353eb3bd1021661a17cee97181b0b369d8e16c10ffb7b01287a77173
hash256("Hello3") = c5061965d37b8ed989529bf42eaf8a90c28fa00c3853c7eec586aa8b3922d404
hash256("Hello4") = 42c3104987afc18677179a4a1a984dbfc77e183b414bc6efb00c43b41b213537
hash256("Hello5") = 652dcd7b75d499bcdc61d0c4eda96012e3830557de01426da5b01e214b95cd7a
hash256("Hello6") = 4cc0fbe28abb820085f390d66880ece06297d74d13a6ddbbab3b664582a7a582
hash256("Hello7") = c3eef05b531b56e79ca38e5f46e6c04f21b0078212a1d8c3500aa38366d9786d
hash256("Hello8") = cf17d3f38036206cfce464cdcb44d9ccea3f005b7059cff1322c0dd8bf398830
hash256("Hello9") = 1f22981824c821d4e83246e71f207d0e49ad57755889874d43def42af693a077
hash256("Hello10") = 8a1e475d67cfbcea4bcf72d1eee65f15680515f65294c68b203725a9113fa6bf
hash256("Hello11") = 769987b3833f082e31476db0f645f60635fa774d2b92bf0bab00e0a539a2dede
hash256("Hello12") = c2acd1bb160b1d1e66d769a403e596b174ffab9a39aa7c44d1e670feaa67ab2d
hash256("Hello13") = dab8b9746f1c0bcf5750e0d878fc17940db446638a477070cf8dca8c3643618a
hash256("Hello14") = 51a575773fccbb5278929c08e788c1ce87e5f44ab356b8760776fd816357f6ff
hash256("Hello15") = 0442e1c38b810f5d3c022fc2820b1d7999149460b83dc680abdebc9c7bd65cae

如果我們要找出前兩位是0的哈希值,理論上需要計算256次,因為00出現(xiàn)的概率是162\=256,實際計算44次:

hash256("Hello44") = 00e477f95283a544ffac7a8efc7decb887f5c073e0f3b43b3797b5dafabb49b5

如果我們要找出前3位是0的哈希值,理論上需要計算163\=4096次,實際計算6591次:

hash256("Hello6591") = 0008a883dacb7094d6da1a6cefc6e7cbc13635d024ac15152c4eadba7af8d11c

如果我們要找出前4位是0的哈希值,理論上需要計算164\=6萬5千多次,實際計算6萬7千多次:

hash256("Hello67859") = 00002e4af0b80d706ae749d22247d91d9b1c2e91547d888e5e7a91bcc0982b87

如果我們要找出前5位是0的哈希值,理論上需要計算165\=104萬次,實際計算158萬次:

hash256("Hello1580969") = 00000ca640d95329f965bde016b866e75a3e29e1971cf55ffd1344cdb457930e
如果我們要找出前6位是0的哈希值,理論上需要計算166\=1677萬次,實際計算1558萬次:
hash256("Hello15583041") = 0000009becc5cf8c9e6ba81b1968575a1d15a93112d3bd67f4546f6172ef7e76

對于給定難度的SHA-256:假設(shè)我們用難度1表示必須算出首位1個0,難度2表示必須算出首位兩個0,難度N表示必須算出首位N個0,那么,每增加一個難度,計算量將增加16倍。

對于比特幣挖礦來說,就是先給定一個難度值,然后不斷變換nonce,計算Block Hash,直到找到一個比給定難度值低的Block Hash,就算成功挖礦。

我們用簡化的方法來說明難度,例如,必須計算出連續(xù)17個0開頭的哈希值,礦工先確定Prev Hash,Merkle Hash,Timestamp,bits,然后,不斷變化nonce來計算哈希,直到找出連續(xù)17個0開頭的哈希值。我們可以大致推算一下,17個十六進制的0相當于計算了1617次,大約需要計算2.9萬億億次。

17個0 = 1617 = 295147905179352825856 = 2.9萬億億次

實際的難度是根據(jù)bits由一個公式計算出來,比特幣協(xié)議要求計算出的區(qū)塊的哈希值比難度值要小,這個區(qū)塊才算有效:

Difficulty = 402937298
= 0x18 0455d2
= 0x0455d2 * 28 * (0x18 - 3)
= 106299667504289830835845558415962632664710558339861315584
= 0x00000000000000000455d2000000000000000000000000000000000000000000

注意,難度值越小,說明哈希值前面的0越多,計算難度越大。

比特幣網(wǎng)絡(luò)的難度值是不斷變化的,它的難度值保證大約每10分鐘產(chǎn)生一個區(qū)塊,而難度值在每2015個區(qū)塊調(diào)整一次:如果區(qū)塊平均生成時間小于10分鐘,說明全網(wǎng)算力增加,難度值也會增加,如果區(qū)塊平均生成時間大于10分鐘,說明全網(wǎng)算力減少,難度值也會減少。因此,難度值隨著全網(wǎng)算力的增減會動態(tài)調(diào)整。

比特幣設(shè)計時本來打算每2016個區(qū)塊調(diào)整一次難度,也就是兩周一次,但是由于第一版代碼的一個bug,實際調(diào)整周期是2015個區(qū)塊。

所以比特幣的工作量證明被通俗地稱之為挖礦。在同一時間,所有礦工都在努力計算下一個區(qū)塊的哈希。而挖礦難度取決于全網(wǎng)總算力的百分比。舉個例子,假設(shè)小明擁有全網(wǎng)總算力的百分之一,那么他挖到下一個區(qū)塊的可能性就是1%,或者說,每挖出100個區(qū)塊,大約有1個就是小明挖的。

由于目前全網(wǎng)算力超過了100EH/s,而單機CPU算力不過幾M,GPU算力也不過1G,所以,單機挖礦的成功率幾乎等于0。比特幣挖礦已經(jīng)從早期的CPU、GPU發(fā)展到專用的ASIC芯片構(gòu)建的礦池挖礦。

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

當某個礦工成功找到特定哈希的新區(qū)塊后,他會立刻向全網(wǎng)廣播該區(qū)塊。其他礦工在收到新區(qū)塊后,會對新區(qū)塊進行驗證,如果有效,就把它添加到區(qū)塊鏈的尾部。同時說明,在本輪工作量證明的競爭中,這個礦工勝出,而其他礦工都失敗了。失敗的礦工會拋棄自己當前正在計算還沒有算完的區(qū)塊,轉(zhuǎn)而開始計算下一個區(qū)塊,進行下一輪工作量證明的競爭。

為什么區(qū)塊可以安全廣播?

因為Merkle Hash鎖定了該區(qū)塊的所有交易,而該區(qū)塊的第一個coinbase交易輸出地址是該礦工地址。每個礦工在挖礦時產(chǎn)生的區(qū)塊數(shù)據(jù)都是不同的,所以無法竊取別人的工作量。

比特幣總量被限制為約2100萬個比特幣,初始挖礦獎勵為每個區(qū)塊50個比特幣,以后每4年減半。

共識算法

如果兩個礦工在同一時間各自找到了有效區(qū)塊,注意,這兩個區(qū)塊是不同的,因為coinbase交易不同,所以Merkle Hash不同,區(qū)塊哈希也不同。但它們只要符合難度值,就都是有效的。這個時候,網(wǎng)絡(luò)上的其他礦工應(yīng)該接收哪個區(qū)塊并添加到區(qū)塊鏈的末尾呢?

答案是,都有可能。

通常,礦工接收先收到的有效區(qū)塊,由于P2P網(wǎng)絡(luò)廣播的順序是不確定的,不同的礦工先收到的區(qū)塊是有可能的不同的。這個時候,我們說區(qū)塊發(fā)生了分叉:

在分叉的情況下,

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

有的礦工在綠色的分叉上繼續(xù)挖礦,有的礦工在藍色的分叉上繼續(xù)挖礦:

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

????????但是最終,總有一個分叉首先挖到后續(xù)區(qū)塊,這個時候,由于比特幣網(wǎng)絡(luò)采用最長分叉的共識算法,綠色分叉勝出,藍色分叉被廢棄,整個網(wǎng)絡(luò)上的所有礦工又會繼續(xù)在最長的鏈上繼續(xù)挖礦。

????????由于區(qū)塊鏈雖然最終會保持數(shù)據(jù)一致,但是,一個交易可能被打包到一個后續(xù)被孤立的區(qū)塊中。所以,要確認一個交易被永久記錄到區(qū)塊鏈中,需要對交易進行確認。如果后續(xù)的區(qū)塊被追加到區(qū)塊鏈上,實際上就會對原有的交易進行確認,因為鏈越長,修改的難度越大。一般來說,經(jīng)過6個區(qū)塊確認的交易幾乎是不可能被修改的。

區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法,人工智能

小結(jié)

比特幣挖礦是一種帶經(jīng)濟激勵的工作量證明機制;

工作量證明保證了修改區(qū)塊鏈需要極高的成本,從而使得區(qū)塊鏈的不可篡改特性得到保護;

比特幣的網(wǎng)絡(luò)安全實際上就是依靠強大的算力保障的文章來源地址http://www.zghlxwxcb.cn/news/detail-667644.html

到了這里,關(guān)于區(qū)塊鏈中怎么懲罰虛假信息的礦工,工作量證明POW,共識算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 區(qū)塊鏈基礎(chǔ)知識7-比特幣挖礦原理/工作量證明

    區(qū)塊鏈基礎(chǔ)知識7-比特幣挖礦原理/工作量證明

    在前面《區(qū)塊鏈基礎(chǔ)知識6-區(qū)塊鏈記賬原理》我們了解到記賬是把交易記錄、交易時間、賬本序號、上一個Hash值等信息計算Hash打包的過程。 我們知道所有的計算和存貯是需要消耗計算機資源的,既然要付出成本,那節(jié)點為什么還要參與記賬呢?在中本聰(比特幣之父)的設(shè)

    2024年04月28日
    瀏覽(17)
  • 競賽python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    競賽python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash

    2024年02月05日
    瀏覽(20)
  • 競賽保研 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    競賽保研 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash

    2024年02月04日
    瀏覽(19)
  • 挑戰(zhàn)杯 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    挑戰(zhàn)杯 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash

    2024年02月21日
    瀏覽(25)
  • 【畢設(shè)教程】python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    【畢設(shè)教程】python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    Hi,大家好,這里是丹成學(xué)長,今天向同學(xué)們介紹如何構(gòu)建一個區(qū)塊鏈系統(tǒng)作為畢設(shè),區(qū)塊鏈的原理 ?? 選題指導(dǎo), 項目分享: https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash(前

    2024年01月21日
    瀏覽(21)
  • 計算機競賽python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    計算機競賽python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash

    2024年02月05日
    瀏覽(27)
  • 互聯(lián)網(wǎng)加競賽 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    互聯(lián)網(wǎng)加競賽 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 python區(qū)塊鏈實現(xiàn) - proof of work工作量證明共識算法 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 學(xué)長以比特幣的結(jié)構(gòu)向大家詳解區(qū)塊鏈的組成部分 previous hash

    2024年02月04日
    瀏覽(25)
  • SEO外鏈專員,SEO專員,SEO編輯,每天工作量給他們怎么安排?

    SEO外鏈專員,SEO專員,SEO編輯,每天工作量給他們怎么安排?

    企業(yè)想要做好網(wǎng)站排名,想要讓網(wǎng)站在搜索引擎中獲得更高的曝光度,就需要對網(wǎng)站進行整體優(yōu)化,而整體優(yōu)化就包括站內(nèi)優(yōu)化,以及站外優(yōu)化,只有這樣才能讓網(wǎng)站獲得的更多的排名,從而也就能夠獲得更多的流量和利益。 ? 而想要達到這種效果,企業(yè)就必須要擁有

    2024年02月16日
    瀏覽(27)
  • 案例:缺陷個數(shù)與返工工作量強相關(guān)

    案例:缺陷個數(shù)與返工工作量強相關(guān)

    某公司積累了21個項目缺陷個數(shù)與返工工作量的數(shù)據(jù),如下表所示: 項目序號 缺陷修復(fù)工時 缺陷數(shù) 1 9433 1445 2 2990 405 3 634 74 4 647 138 5 4960 710 6 1370 246 7 740 66 8 1223 218 9 2766 528 10 8302 1378 11 626 78 12 611 151 13 811 105 14 2090 320 15 1440 235 16 5160 784 17 7100 1030 18 7560 1239 19 1737 321 20 6830 987 21

    2024年02月15日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包