比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > FIL > Info

區塊鏈:如何用 Python 快速開發一個區塊鏈數據結構?_比特幣區塊鏈工程專業學什么

Author:

Time:1900/1/1 0:00:00

作者|arjunaskykok

整理|Aholiab

出品|區塊鏈大本營

根據IEEE此前的一項調查,Python已成為最受開發者歡迎的語言之一。由于其對于技術小白天然友好的特性,以及不斷更新的新功能。Python越來越受到國內外開發者的喜愛。越來越多被用于獨立、大型項目的開發開始使用Python。

20世紀90年代初荷蘭人GuidovanRossum為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。

之所以選中Python作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提.派森的飛行馬戲團》。

摩根大通投資策略主席:不管比特幣如何擴張,如何流行都不能讓人感到滿意:金色財經報道,金融巨頭摩根大通投資策略主席Michael Cembalest在最近的一次采訪中表示,他對比特幣和加密貨幣的世界并不瘋狂,暗示盡管比特幣如何擴張,如何流行,但這種貨幣不會讓所有人都感到滿意。Cembalest 表示所表達的觀點是他自己的觀點,而不是摩根大通的觀點。不喜歡世界排名第一的數字貨幣,原因有兩個。首先是因為它的波動性,他說這阻止了比特幣“進入與價值投資相一致的范圍”。另一個原因是因為比特幣并沒有像許多分析師讓我們相信的那樣證明自己是對沖通脹的工具。(livebitcoinnews)[2022/2/14 9:49:52]

對于區塊鏈開發者來說,Python也是十分實用的語言之一。今天,我們就Python開發一個簡單的區塊鏈數據結構。

在這篇文章中,一方面我們會對區塊鏈數據結構的基本概念進行講解,例如哈希的工作原理,另一方面,也會以實際代碼來構建一個區塊鏈基本的數據結構,讓你對區塊鏈和Python的基礎有個基本的理解。

Polychain Capital實習生展示如何使用100美元對CheapETH進行51%攻擊:風險投資公司Polychain Capital的18歲實習生Anish Agnihotri展示了51%攻擊的工作方式,以達到教育目的。Agnihotri選擇了CheapETH來進行實驗。為了發動攻擊,Agnihotri租用了能夠每秒執行14.4億哈希的挖礦設備。這樣一來,他就可以占據該網絡哈希率的72%左右。此外,他還租用了虛擬機來運行區塊鏈。總費用不到100美元。(The Block)[2021/5/18 22:12:59]

說不多說,下面就進入正題!

從哈希函數說起

在區塊鏈中,數據結構是十分重要的基本組成部分,尤其是比特幣。雖然單一的數據結構無法構建成加密數字貨幣,但理解數據結構對于理解區塊鏈的基本原理是非常有益處的。

但在講數字結構之前,我們還是先從哈希講起,以比特幣的SHA-256哈希函數為例,講講如何利用Python去實現哈希的運算。

哈希函數,又稱散列算法,是一種從任何一種數據中創建小的數字“指紋”的方法。散列函數把消息或數據壓縮成摘要,使得數據量變小,將數據的格式固定下來。該函數將數據打亂混合,重新創建一個叫做散列值的指紋。散列值通常用一個短的隨機字母和數字組成的字符串來代表。

直播|小琬 > 挖礦小白如何區分Filecoin眾多礦商的優劣:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第9期15:00正在直播中,本期“后浪”仙女Blocklike CEO 小琬將在直播間聊聊“挖礦小白如何區分Filecoin眾多礦商的優劣”,感興趣的朋友掃碼移步收聽。[2020/7/15]

對于任意長度的消息,SHA256都會產生一個256bit長的哈希值,稱作消息摘要。

這個摘要相當于是個長度為32個字節的數組,通常用一個長度為64的十六進制字符串來表示。

來看一個例子:

這句話,經過哈希函數SHA256后得到的哈希值為:

說回SHA-256,說白了,它就是一個哈希函數。那么我們如何用Python來實現呢?下面代碼展示了用Python實現「helloworld」的過程:

看到這里你可能會問,SHA-256中的「256」究竟是什么意思?哈希算法是一個將任意文本轉換為一個256位隨機二進制字符串的過程。在上面的例子中,「helloworld」是一個11位的字符,經過哈希運算以后,變成了這樣的一串字符:

聲音 | 韋氏評級:無論比特幣盈利能力如何 投資者都更傾向于存幣而非賣幣:韋氏評級今日稱,超過60%的比特幣一年多都存儲于錢包中而非在市場流通。在此期間,比特幣兌美元的價格從去年12月的3100美元上漲到僅6個月后2019年的13800美元高點。無論盈利能力如何,投資者都希望存幣而不是賣幣。[2019/12/3]

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

同樣,即使我的文本長度不是11位,生成的字符數也是一樣的。例如:

在上面例子中,「Iamthebestpresident.Ever.」,哈希運算之后的字符串一樣為64位。就算輸入的文本是100位,哈希運算后的字符位數也是64位。

之所以這樣,是因為字符是16進制的,如果我們把這樣的字符串轉換為2進制,那么就會得到一個256位的2進制字符串。如下圖所示:

HeroNode創始人劉國平:工業革命以來最大的技術革命——區塊鏈如何實現去中心化:近日,HeroNode 創始人劉國平受邀前往平安總部進行區塊鏈技術演講。會上,劉國平就“區塊鏈到底是什么”和“區塊鏈有什么特點”兩個問題,用通俗易懂的語言深入淺出地進行講解,并著重介紹了區塊鏈對現有公司業務的挑戰。劉國平,區塊鏈應用技術專家、比特幣第一批礦工、Hero 移動跨平臺框架開發創始人,Hero 理事會會長。曾任職萬得資訊、第九城市、點融網等知名互聯網公司負責技術研發、并深度參與點融網區塊鏈應用場景開發。[2018/4/2]

這就是SHA-256中,256這個數字的由來。

接下來我們就來看看哈希算法有哪些特征。哈希的特征之一就是「無沖突原則」。這個原則是指要得到一個256位的2進制字符串,顯然有不止一個輸入可以做到。

因為256位的輸出長度是固定的,但輸入的長度卻沒有限制,所以輸入的范圍要遠大于輸出,只要能夠窮盡輸入,就有可能得到2個一樣的256位的輸出。

話雖如此,不過要找到這樣兩個輸入的難度卻很大。即使是輸入上改動了一點,輸出的結果都會完全不同。如下圖所示:

所以,想要找到2中一樣的輸出的唯一方法,是窮盡所有的字幕、數字組合,這幾乎無法做到。幾率為2的256次方。

這是個多大的數字?展開來就是醬嬸兒的:

115792089237316195423570985008687907853269984665640564039457584007913129639936

幾乎相當于10的77次方。這是個什么概念?在460億光年的宇宙內,可見的原子數量也只有10的78次方。這個數字幾乎相當于宇宙內的原子數量!

要運算這個數字需要多長時間?以英偉達Geforce1080Ti顯卡,浮點運算11.3的算力來運算,每個哈希需要運算3000次,以每秒鐘3766666666個哈希的速度來運算,找到兩個相同的哈希運算結果,需要計算2的128次方個哈希。地球上所有的人一起計算,需要的時間如下:

這比地球存在的實時間都要長。

用Python創建第一個區塊

了解了什么是哈希,我們接著就來說說什么是區塊。實際上,區塊鏈就是一個互相連接的序列。我們接下來創建第一個區塊,也稱為「創世區塊」。代碼如下所示:

區塊鏈中會包含交易,交易很好理解,就是誰轉了多少錢給誰。我們把區塊進行序列,這樣它就可以進行哈希運算:

這樣,我們就得到了另一個區塊,我們姑且稱它為「區塊2」:

再對區塊2進行哈希運算:

得到了「區塊3」。

再對區塊3進行哈希運算,得到了「區塊4」。

這樣一來,想要確定區塊上的數據沒有被篡改,我只需要檢查最后一個區塊的哈希就行了。而不是從創世區塊開始檢查。這一原理也杜絕了區塊鏈上數據被攢該的可能。

通過以上代碼,可以得到下面結果:

這樣,用Python實現簡單的區塊鏈開發的演示就結束了。Python是一門強大的語言,區塊鏈是一個強大的信用工具,這兩者結合,勢必能創造出新的可能性。

Tags:區塊鏈SHA比特幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢SHA價格SHA幣比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢

FIL
比特幣:寶新金融首席經濟學家、全球金融科技實驗室專家顧問鄭磊:比特幣等代幣不應被稱為“貨幣”加密數字幣從嚴監管成趨勢_比特幣最新價格行情走勢OIN幣

本報記者邢萌 連月來,北京、上海等多地對加密數字幣交易平臺重拳出擊,打擊不法行為。比特幣等代幣到底有何價值?未來監管趨勢如何?帶著這些問題,《證券日報》記者專訪了港股上市公司寶新金融首席經濟學家.

1900/1/1 0:00:00
比特幣:即日起,住房公積金提取業務不再提交紙質申請書!9圖讀懂公積金那些事兒_ldo幣上大交易所沒有

來源:21世紀經濟報道 走進經濟生活里的一切 導讀:中央國家機關住房資金管理中心微信號發布,關于簡化住房公積金提取業務申請材料的公告,即日起住房公積金提取業務不再提交紙質提取申請書.

1900/1/1 0:00:00
ABS:約5.96萬元!最便宜的杜卡迪攀爬者800發布_ABS價格LCD價格

關注機車網,每晚9點17分 JC君和你一起聊摩托 杜卡迪在他們的DucatiWorldPremière2020大會上,除了帶來新款的V4街霸以及PanigaleV2之外.

1900/1/1 0:00:00
NFT:開奔馳大G的到底是什么樣的人?_CardanoEvo

大G在車壇已經變成神話,最近流行出一種說法: 高端富二代裝逼用大G 中端富二代裝逼用卡宴 低端富二代裝逼用蘭博基尼大G是有情懷人的玩具,玩大G的人一般都是大忙人,不是在談上億合約的路上.

1900/1/1 0:00:00
數字貨幣:央行數字貨幣呼之欲出?一文詳解中國數字貨幣研究國家隊的思考與憂慮_數字貨幣交易所官方網址

“央行數字貨幣即將推出”,在前天的一個學術論壇上,央行支付結算司副司長穆長春如此表示。這并非一句話新聞,在中國人民銀行公布的下半年八項重點工作中,有一項就是加快推進法定數字貨幣研發步伐.

1900/1/1 0:00:00
加密貨幣:小比特幣uBitcoin(UBC):數字貨幣慘遭血洗 小比特幣該如何操作_比特幣

特朗普今早在推特發言:“我并非比特幣或其他加密貨幣的粉絲。由于其價值波動空間大,無實體倚靠,故而我不認為它們是錢.

1900/1/1 0:00:00
ads