999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Go語言的區塊鏈模型設計與實現*

2021-04-22 03:22:20劉敏娜尹成姚波
數字技術與應用 2021年2期
關鍵詞:模型

劉敏娜 尹成 姚波

(1.咸陽師范學院,陜西咸陽 712000;2.微軟-清華大學聯合實驗室,北京 100000)

0 引言

區塊鏈是由中本聰提出的比特幣的底層技術。區塊鏈技術具有去中心化的組織方式、基于共識的數據共識機制、建立在隱私保護基礎上的公開數據讀取方式等特點[1]。區塊鏈通過交易數據哈希加密,可以保證數據安全,解決數據篡改驗證的問題;通過時間戳機制記錄數據交易的完整過程,使得交易數據全程可追溯;借助POW工作量證明算法解決不同節點記賬權的問題??傊?使用區塊鏈技術可以解決Web應用程序中心化平臺的安全隱患。

目前區塊鏈技術研究主要包括通用協議研究(智能合約,隱私保護等協議)、數據層研究(非對稱加密,分布式數據庫等)、網絡層研究和應用研究。應用研究包括區塊鏈技術與金融、教育、工業等領域整合應用[2]。本文主要研究使用Go語言構建區塊鏈模型,目的是通過模型研究為下一步將區塊鏈技術整合在基于B/S架構的Web程序(即傳統Web程序+區塊鏈技術應用)打下基礎。

1 區塊鏈技術和Go語言

1.1 區塊鏈技術

區塊鏈技術本質是一個去中心的、通過分布式節點進行數據存儲、驗證、傳遞和交流的網絡技術方案[3]。區塊鏈技術最早是應用在比特幣系統中,作為比特幣的底層存儲結構。區塊鏈的基礎技術有哈希計算、數字簽名、P2P網絡、共識算法和智能合約。一個成熟的區塊鏈具有透明可信、防篡改、隱私安全保障和系統高可靠等特性。區塊鏈從最初的金融領域的應用,到現在在供應鏈、政務、數字版權和醫療等領域都有廣泛的應用。

1.2 區塊鏈開發語言Go語言

Go語言是Google公司開發的一種開源通用編程語言,是一種用于搭載Web服務器,存儲集群的系統編程語言[4]。具有編譯速度快,執行效率高、網絡編程友好、高并發、跨平臺等特性,因此使用Go語言進行區塊鏈開發具有天然優勢。因此,本文使用Go語言構建區塊鏈模型。

2 區塊鏈模型構建的意義

區塊鏈最早應用在以比特幣為首的數字貨幣中,區塊鏈技術的出現對金融領域產生顛覆性的影響。隨著智能合約的出現,區塊鏈擴展到了金融領域之外的司法、醫療、教育、物流等領域。區塊鏈與傳統行業的融合目前采用的是以傳統行業為主,以微創新的方式在傳統行業內部以可控的方式應用區塊鏈技術[5]。本文探討的是網絡環境下區塊鏈模型的構建,模型的搭建對于理解區塊鏈技術原理有重大的意義,同時為下一步將區塊鏈技術融合在現有的軟件系統提供重要的指導思想。

3 區塊鏈模型設計

3.1 方案設計

基于Go語言的區塊鏈模型整體架構如圖1所示。模型中包括POW工作量證明、交易數據生成、區塊生成、區塊校驗和區塊上鏈五個模塊。區塊鏈操作過程為:用戶在網絡中通過post請求發起新的交易,節點接收到交易數據之后存儲在本地交易池中,網絡中的所有節點競爭記賬權,通過POW工作量證明算法來保證只有最早解出題的節點可以將交易池中的數據寫入區塊。擁有寫入數據權力的節點將新生成的區塊發送給網絡其它節點,當網絡中51%的節點驗證通過,此時網絡中節點將新區塊寫入本地區塊鏈中。

圖1 區塊鏈模型結構圖Fig.1 Blockchain model structure diagram

圖2 網絡上的區塊鏈信息Fig.2 Blockchain information on the network

方案的設計流程為:創建創世區塊,并將創世區塊追加到切片中,加載配置文件,并解析配置文件中的端口號,開啟監聽器,等待用戶請求,當發送get請求時,將網絡中區塊鏈節點顯示到客戶端。發送post請求時,接收用戶輸入的交易信息,將交易信息和當前時間等信息打包到區塊中,并發送給其它節點校驗數據。

3.2 共識機制-POW工作量證明

共識機制用來驗證交易記錄的有效性,同時通過共識機制來競爭記賬權。區塊鏈上的共識機制包括工作量證明POW,權益證明POS,股份授權證明DPOS[6]。因為POW工作量證明完全去中心化,且節點可以自由進出,因此本方案采用POW算法作為共識機制。

POW中所有節點競爭記賬權,只有解出難題的節點才有記賬權利。每一次的記賬都有一個難度系數Diff,這個難度系數控制鏈增長的速度。模型中設置難度系數為4,當前區塊的前一區塊哈希值PreHash、當前區塊的難度系數Diff、當前區塊的交易數據BPM、當前區塊的高度Index、當前區塊的隨機數Nonce字符串這五個變量連接之后計算哈希值,如果哈希值滿足難度系數要求的前4位是全零,這時節點解出難題,將難度系數記錄在區塊中。由其它節點校驗解題結果,校驗通過將區塊寫入區塊鏈;如果哈希值不滿足要求,則將Nonce值加1,再次計算哈希值結果是否滿足難度要求。

3.3 區塊存儲結構

為了將研究重點聚焦在區塊的生成、上鏈等操作。模型中簡化了區塊鏈的結構,去掉了默克爾樹根。區塊中包括PreHash前一個區塊的哈希值、Hash Code當前區塊的哈希值、TimeStamp時間戳、Diff難度系數、BPM交易信息、Index區塊高度和Nonce隨機值。區塊和上一個區塊之間通過PreHash值構成了連接關系,從而組成了區塊鏈。

區塊結構體定義如下:

type Block struct {

PreHash string

HashCode string

TimeStamp string

Diff int

BPM int

Index int

Nonce int

}

3.4 區塊哈希校驗

區塊校驗包括:()1判斷新生成的區塊中的index是否比已有區塊鏈中最后一個區塊的index大1;(2)新區塊的PreHash是否等于上一個區塊的哈希值;(3)根據新區塊的信息再次計算哈希值,判斷是否和newBlock中的Hash Code相等。

4 區塊鏈模型仿真及分析

Windows7環境中,使用Go語言編寫仿真實驗程序。實驗中因為涉及到發送get和post請求,需要傳遞一定的參數,使用Postman進行請求測試。實驗分別模擬get請求查看網絡中區塊鏈、post請求創建新交易,通過這兩種請求可以測試新交易創建、交易保存至區塊、區塊校驗、區塊上鏈等操作。

4.1 客戶端發出post請求創建新交易測試

在Postman中,設置請求方式為POST,輸入url:http://localhost:9000,在body表選項卡中輸入參數{“BMP”:1000},這個參數表示交易金額是1000,點擊發送之后,在response區域顯示經過POW工作量計算生成的區塊信息,前面已經生成了兩個區塊,因此當前區塊高度為3。經過測試,可以生成新交易,并通過工作量計算,可以將交易寫入區塊。

4.2 客戶端發送get請求測試

啟動Postman應用程序,下拉列表中選擇GET請求方式,輸入代表本地測試的localhost,端口號是9000,點擊send按鈕發送請求。在response區域顯示網絡上的區塊鏈信息,鏈上有3個區塊,如圖2所示。高度值為1的區塊是創世塊,第2個區塊的哈希值為“00005105373dcbdfcd ba3b13f5194bf1cbef194ac3e2f441e69b2339d85118e8”,第3個區塊的哈希值為“0000f5d782bb7b4d61002802769 f8a1b91b6c0267e4bc4752d979a01223728e1”,哈希值滿足難度系數要求的前綴“0000”。新的區塊校驗成功,區塊被寫入區塊鏈。

5 結論

本文設計了基于Go語言的區塊鏈模型。模型中模擬新交易數據生成、新區塊生成、區塊上鏈等過程。模型的搭建對于理解區塊鏈技術原理有重大的意義,同時為區塊鏈技術整合在基于B/S架構的Web程序打下基礎,為在傳統行業融合區塊鏈技術提供重要的指導思想。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 人妻无码中文字幕一区二区三区| 国产又色又爽又黄| 日韩乱码免费一区二区三区| 91在线精品免费免费播放| 亚洲女同一区二区| 特级aaaaaaaaa毛片免费视频| 在线观看免费人成视频色快速| 国产丝袜无码一区二区视频| av在线人妻熟妇| 亚洲无码在线午夜电影| 成人午夜视频在线| 日韩大乳视频中文字幕| 精品一区国产精品| 国产精品亚洲日韩AⅤ在线观看| 91成人在线免费观看| 毛片免费高清免费| 国产精品原创不卡在线| 亚洲精品777| 亚洲国产综合自在线另类| 国产女同自拍视频| 久久久久久高潮白浆| 97se亚洲综合| 精品国产一二三区| 精品91视频| 无码区日韩专区免费系列| 色婷婷狠狠干| 第一页亚洲| 国产精品嫩草影院视频| 国产乱人伦AV在线A| 午夜久久影院| 免费国产不卡午夜福在线观看| 亚洲91在线精品| 最新日本中文字幕| 久久91精品牛牛| 久久免费视频6| 亚国产欧美在线人成| 精品黑人一区二区三区| 亚洲a级毛片| 免费xxxxx在线观看网站| av大片在线无码免费| 亚洲 欧美 中文 AⅤ在线视频| 精品亚洲欧美中文字幕在线看| 亚洲区第一页| 婷婷午夜影院| 亚洲另类色| 亚洲 日韩 激情 无码 中出| 久久夜夜视频| 久久无码免费束人妻| 日韩激情成人| 亚洲人成电影在线播放| 亚洲嫩模喷白浆| 成人年鲁鲁在线观看视频| 99偷拍视频精品一区二区| 亚洲国产欧美国产综合久久| 午夜国产在线观看| 国产69囗曝护士吞精在线视频 | 91无码人妻精品一区| 亚洲天堂日本| 天堂中文在线资源| 狠狠亚洲五月天| 国产va免费精品观看| 久久精品人人做人人爽电影蜜月 | 久久一日本道色综合久久| 久久黄色影院| 国产新AV天堂| 五月婷婷亚洲综合| 欧美97欧美综合色伦图| 久久亚洲美女精品国产精品| 四虎国产永久在线观看| 亚洲永久免费网站| 爆乳熟妇一区二区三区| 亚洲天堂视频在线观看免费| 五月激激激综合网色播免费| 日韩不卡高清视频| 成人日韩精品| 亚洲欧洲国产成人综合不卡| 国产乱论视频| 亚洲中文字幕23页在线| 97超爽成人免费视频在线播放| 国产精品开放后亚洲| 无码专区国产精品一区| 国产精品福利导航|