買比特幣 買比特幣
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年代首播的電視喜劇《蒙提.派森的飛行馬戲團》。

英國央行正探索數字英鎊如何刺激創新:金色財經報道,作為其季度報告的一部分,英國央行發表一篇關于數字英鎊如何成為刺激創新工具的論文。更重要的是,如何設計央行數字貨幣(CBDC)來實現這一目標。它概述了刺激創新的四種方式,包括技術、新市場、數據和標準制定。

英國央行最近就數字英鎊進行了咨詢。他們研究了兩個金融集團IRSG和UK Finance的回應,它們認為數字英鎊持有限額過高。[2023/8/25 10:02:56]

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

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

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

從哈希函數說起

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

法律專家:Mango Markets案例會影響DAO未來如何實施其法律和治理結構:2月4日消息,加拿大律師事務所McMillan LLP的合伙人Benjamin Bathgate表示,針對所謂的Mango Markets漏洞利用者Avraham Eisenberg的訴訟可能會影響DAO未來如何實施其法律和治理結構。Bathgate表示,在很多情況下,DAO只是用戶的集合,這是一個用戶社區,也許有一個核心貢獻者負責編碼。管理Mango Market DAO的懷俄明州有限責任公司Mango Labs正在尋求收回剩余的4700萬美元。然而,Bathgate表示,Mango Labs的訴訟不太可能成功,到那時可能會為DAO生態系統敲響警鐘。

此前報道,Mango Markets攻擊者Avraham Eisenberg在紐約美國地方法院第一次聽證會上放棄保釋。目前,Avraham正被Mango Labs起訴,要求賠償剩余的4700萬美元,他被指控犯有商品欺詐、商品操縱和電匯欺詐三項刑事罪。[2023/2/4 11:46:50]

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

SWIFT探索如何支持代幣化資產市場發展中的互操作性:金色財經報道,銀行合作機構SWIFT將與 Clearstream、Northern Trust、SETL 和其他市場參與者合作,探索如何支持代幣化資產市場發展中的互操作性。相對于加密貨幣和穩定幣,目前代幣化資產的市值很小,但預計到 2027 年,交易量可能會達到約 24 萬億美元。銀行和證券公司正競相通過開發數字資產服務能力來進入這個新興市場,例如私鑰保管和對數字證券全生命周期的支持。Swift 正在探索如何在代幣化資產的交易生命周期中提高參與者和系統之間的互操作性。

Swift 首席創新官 Thomas Zschach 表示,這些實驗將使用既定的支付形式和中央銀行數字貨幣 (CBDC)。“作為一個中立的合作機構,覆蓋 200 多個國家/地區的 11,000 家機構,并受到全球中央銀行的監督,Swift 處于獨特的位置,可以密切參與證券的未來”。(finextra)[2021/12/23 7:59:31]

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

沃爾瑪調查其與萊特幣合作的虛假新聞稿是如何發布的:9月14日消息,在與萊特幣合作的假消息傳出后,沃爾瑪公司表示正在調查欺詐性新聞稿是如何發布的。The Litecoin Foundation和Charlie Lee也在調查此事。此外,Globenewswire表示,它還將與當局合作,“要求并促進進行全面調查,包括與此事相關的任何犯罪活動。”(Bitcoin News)[2021/9/15 23:25:08]

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

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

來看一個例子:

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

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

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

動態 | 印度官員赴日本等國學習監管機構如何處理加密貨幣問題:據bitcoin 9月3日消息,印度證券交易委員會(SEBI)在其2017 – 18年度報告中透露,它已派出一些官員前往日本、英國、瑞士三個國家,研究監管機構如何處理加密貨幣問題。印度證券監管機構此次行動旨在與國際監管機構合作,深入了解其加密機制和系統,以改善其自身管理流程。[2018/9/3]

b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

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

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

之所以這樣,是因為字符是16進制的,如果我們把這樣的字符串轉換為2進制,那么就會得到一個256位的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幣
PLA:財務系統:資金對賬(一)_Flashcoin

每月關賬前,都會進行對賬,每次對賬都會持續一周,混亂爆肝的一周。由于公司業務多樣性,交易量大,線上線下業務都有;因此目前財務系統-對賬模塊分為門店對賬、大客戶對賬、資金對賬、收入成本核對等.

1900/1/1 0:00:00
比特幣:被“黑洞”吸走的比特幣,BTC實際總量已少于2100萬_coinbase中國

比特幣的白皮書最近剛滿11歲,其內容非常簡潔,而論文中關于供應量的內容只是略帶提及:“一旦預定數量的比特幣進入流通,激勵機制就可完全轉變為交易費用,并且完全沒有通貨膨脹.

1900/1/1 0:00:00
AXE:作為一名數據科學從業者,你應該知道的P值_AXE幣是什么幣

作者|SHAROONSAXENA編譯|CDA數據分析師EverythingyouShouldKnowaboutp-valuefromScratchforDataScience 介紹 當你向有抱負.

1900/1/1 0:00:00
區塊鏈:“數字人民幣”初露真容 不是虛擬貨幣,不是網絡支付,不是電子錢包_40億比特幣能提現嗎

郭德鑫作 移動支付高速普及,令人們對“無現金社會”產生豐富遐想。中國是全球移動支付應用最廣泛的國家,也是最接近“無現金社會”的國家之一.

1900/1/1 0:00:00
:韓國藝人雪莉去世:自由的人,真的不被這個世界容納嗎?_

2019年10月15日韓國成員雪莉在家中自殺身亡,經紀人發現并且報警時雪莉已經在家中死亡,據媒體報道是在2樓的房間的照明燈上幫助繩子,上吊自殺。 這一消息迅速傳遍整個網絡.

1900/1/1 0:00:00
比特幣交易:比特幣|區塊鏈技術首個成功應用_區塊鏈存證怎么弄

比特幣,無疑是近年來最熱門的話題之一。它究竟是未來經濟發展的避險性資產,還是被瘋狂炒作的又一個“郁金香泡沫”? 比特幣不是有形貨幣 比特幣不是任何有形的貨幣,它的生產和運行基于互聯網,是一種開源.

1900/1/1 0:00:00
ads