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

基于Python實現(xiàn)一個PoW的仿真程序

這篇具有很好參考價值的文章主要介紹了基于Python實現(xiàn)一個PoW的仿真程序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

資源下載地址:https://download.csdn.net/download/sheziqiong/86831335
資源下載地址:https://download.csdn.net/download/sheziqiong/86831335文章來源地址http://www.zghlxwxcb.cn/news/detail-713723.html

1.設計內(nèi)容

利用 Python 實現(xiàn)一個 PoW 的仿真程序,模擬一定數(shù)量的節(jié)點生成區(qū)塊鏈的狀態(tài)。

  • 設置參數(shù)包括:節(jié)點數(shù)量和每個輪次出塊的成功率,測量區(qū)塊鏈的增長速度。
  • 設置一定數(shù)量的惡意節(jié)點實施攻擊。
    • 測量不同惡意節(jié)點比例(10%-40%)條件下,統(tǒng)計分叉攻擊成功的長度測量
    • 不同惡意節(jié)點比例條件下,自私挖礦收益比例

2.代碼解析

  • 程序入口是 simulate_pow.py,simulate_pow 函數(shù)參數(shù)為誠實節(jié)點數(shù)量,惡意節(jié)點數(shù)量和出塊難度。默認參數(shù)設置如下:

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 修改

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 仿真結(jié)果保存在 log 目錄下的日志中。
  • 令惡意節(jié)點攻擊第一個區(qū)塊(genesis 塊)

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

3.實驗內(nèi)容

3.1第一輪仿真

  • 參數(shù):honest node number = 10, evil node number = 0, difficulty = 000000
  • 仿真結(jié)果:

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計
基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 平均出塊時間: 66s,最短出塊時間 3s,最長出塊時間 202s

3.2第二輪仿真

  • 參數(shù):honest node number = 10, evil node number = 0, difficulty = 00000
  • 仿真結(jié)果:

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 平均出塊時間: 3s,最短出塊時間 0s(精確到個位),最長出塊時間 7s

3.3第三輪仿真

  • 參數(shù):honest node number = 10, evil node number = 1, difficulty = 00000
  • 仿真結(jié)果:

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 惡意節(jié)點攻擊失敗

3.4第四輪仿真

  • 參數(shù):honest node number = 10, evil node number = 4, difficulty = 00000
  • 1 到 10 號 miner 為 honest node,11 號到 14 號為 evil node

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 可以看到,誠實節(jié)點在領先一個區(qū)塊的情況下被惡意節(jié)點瞬間反超,我認為這和 python 多線程的機制有關。python 多線程并不是真正意義上的并行,并且會先調(diào)度后創(chuàng)建的線程。為了更真實地模擬分叉攻擊,我決定讓誠實節(jié)點領先一個區(qū)塊后再讓惡意節(jié)點開始攻擊,并且提高出塊難度。
  • 參數(shù):honest node number = 10, evil node number = 4, difficulty = 000000
  • 0 到 9 號 miner 為 honest node,10 號到 13 號為 evil node

基于python實現(xiàn)一個pow的仿真程序.,區(qū)塊鏈,Python,PoW仿真,PoW的仿真程序,課程設計

  • 可以看到,python 多線程優(yōu)先調(diào)度后創(chuàng)建的線程,因此惡意節(jié)點攻擊成功。

資源下載地址:https://download.csdn.net/download/sheziqiong/86831335
資源下載地址:https://download.csdn.net/download/sheziqiong/86831335

到了這里,關于基于Python實現(xiàn)一個PoW的仿真程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • c++中的pow函數(shù)

    目錄 簡介: 實例: 可能出現(xiàn)的錯誤: 負指數(shù)問題:pow 函數(shù)可以計算負指數(shù),但它不處理負數(shù)的復數(shù)結(jié)果。如果計算負指數(shù)并且結(jié)果應該是復數(shù),您需要使用復數(shù)庫或手動處理。 2?溢出問題: 3頭文件不包含: 簡介: 在C++中, pow 函數(shù)用于計算一個數(shù)的指數(shù)冪(就是幾次方

    2024年02月07日
    瀏覽(21)
  • PoW 、PoS , DPoS 算法

    PoW 、PoS , DPoS 算法 在區(qū)塊鏈領域,多采用 PoW 工作量證明算法、PoS 權(quán)益證明算法,以及 DPoS 代理權(quán) 益證明算法,以上三種是業(yè)界主流的共識算法,這些算法與經(jīng)典分布式一致性算法不同的是 融入了經(jīng)濟學博弈的概念。 PoW:通常是指在給定的約束下,求解一個特定難度的數(shù)

    2024年02月02日
    瀏覽(25)
  • LeetCode——Pow(x, n)

    LeetCode——Pow(x, n)

    50. Pow(x, n) - 力扣(Leetcode) 實現(xiàn)?pow(x,?n)?,即計算? x ?的整數(shù)? n ?次冪函數(shù)(即, x ??)。 示例 1: 示例 2: 示例 3: 提示: -100.0 x 100.0 -2 3 1 = n = 2 3 1-1 n ?是一個整數(shù) 要么? x ?不為零,要么? n 0 ?。 -10 ? ?= x ? ?= 10 ? 題目要求我們實現(xiàn)?pow(x,?n)?函數(shù),即求解

    2024年02月09日
    瀏覽(18)
  • LeetCode ! 50. Pow(x, n)

    參考資料:左程云算法課 , 《程序員代碼面試指南》 思路: 以求 1 0 75 10^{75} 1 0 75 為例, 75 = 64 + 8 + 2 + 1 = ( 1001011 ) 2 75 = 64+8+2+1=(1001011)_2 75 = 64 + 8 + 2 + 1 = ( 1001011 ) 2 ? so, 1 0 75 = 1 0 64 × 1 ? 1 0 32 × 0 ? 1 0 16 × 0 ? 1 0 8 × 1 ? 1 0 4 × 0 ? 1 0 2 × 1 ? 1 0 1 × 1 = 1 0 ( 1001011 ) 2

    2024年02月08日
    瀏覽(12)
  • 區(qū)塊鏈學習Day03(Pow算法)

    區(qū)塊鏈學習Day03(Pow算法)

    聲明:筆記用作自己學習,本人也不太講的清,請見諒。 生成新的區(qū)塊,再返回新的塊,也會包含上面的屬性,前一個哈希也會變得,就是preHash:前一個節(jié)點得哈希。 代碼繼續(xù)跟著上一章文章,不懂得看下面 鏈接:區(qū)塊鏈學習Day02(Pow算法) 結(jié)果: 省略… 4b5ffc524ced8f17059a

    2024年02月04日
    瀏覽(20)
  • 求數(shù)值的整數(shù)次方(模擬pow函數(shù))

    實現(xiàn)函數(shù) double Power(double base, int exponent),求base的exponent次方。 注意: 1.保證base和exponent不同時為0。 2.不得使用庫函數(shù),同時不需要考慮大數(shù)問題 3.有特殊判題,不用考慮小數(shù)點后面0的位數(shù)。 具體實現(xiàn): 本方法中利用不斷擴大原本的base,實現(xiàn)在O(logn)的時間復雜度。其中判

    2024年02月11日
    瀏覽(15)
  • eth入門之工作量證明 (POW)

    文檔:工作量證明 (PoW) | ethereum.org 以太坊目前使用的共識協(xié)議被稱為工作量證明 (PoW)。 這允許以太坊網(wǎng)絡的節(jié)點就以太坊區(qū)塊鏈上記錄的所有信息的狀態(tài)達成共識,并防止經(jīng)濟攻擊。 接下來一年,工作量證明將被逐步淘汰,這有利于權(quán)益證明 (PoS) 的發(fā)展。 向權(quán)益證明 (Po

    2024年02月06日
    瀏覽(25)
  • 算法leetcode|50. Pow(x, n)(rust重拳出擊)

    實現(xiàn) pow(x, n) ,即計算 x 的整數(shù) n 次冪函數(shù)(即, x n )。 解釋: 2 -2 = 1/2 2 = 1/4 = 0.25 -100.0 x 100.0 -2 31 = n = 2 31 -1 n 是一個整數(shù) -10 4 = x n = 10 4 面對這道算法題目,二當家的再次陷入了沉思。 直接想到的就是模擬, x 循環(huán) n - 1 次乘以 x ,時間可以抹平一切,但是會非常慢。 還

    2024年02月05日
    瀏覽(20)
  • 學習C#必備的編程軟件——pow_na的博客

    學習C#必備的編程軟件——pow_na的博客

    c#可有的編程軟件:Visual Studio、Visual Studio Code、MonoDevelop、SharpDevelop、Rider、SlickEdit、C# Pad、Jdoodle、.NET Fiddle、Scriptcs等等。 C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NET Framework和.NET Core(完全開源,跨平臺)之上的高級程序設計語言。 C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅

    2024年02月05日
    瀏覽(15)
  • C++斬題錄|遞歸專題 | leetcode50. Pow(x, n)

    C++斬題錄|遞歸專題 | leetcode50. Pow(x, n)

    個人主頁:平行線也會相交 歡迎 點贊?? 收藏? 留言? 加關注??本文由 平行線也會相交 原創(chuàng) 收錄于專欄【手撕算法系列專欄】【LeetCode】 ??本專欄旨在提高自己算法能力的同時,記錄一下自己的學習過程,希望對大家有所幫助 ??希望我們一起努力、成長,共同進步。

    2024年02月07日
    瀏覽(15)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包