來源|Medium作者|arjunaskykok整理/Aholiab出品|區塊鏈大本營
根據IEEE此前的一項調查,Python已成為最受開發者歡迎的語言之一。由于其對于技術小白天然友好的特性,以及不斷更新的新功能。Python越來越受到國內外開發者的喜愛。越來越多被用于獨立、大型項目的開發開始使用Python。
20世紀90年代初荷蘭人GuidovanRossum為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。
之所以選中Python作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提.派森的飛行馬戲團》。
對于區塊鏈開發者來說,Python也是十分實用的語言之一。今天,我們就Python開發一個簡單的區塊鏈數據結構。
63%的以太坊交易區塊現在符合美國外國資產控制辦公室的要求:金色財經報道,符合美國外國資產控制辦公室(OFAC)制裁的最大提取價值服務的受歡迎程度繼續增長,所有區塊的63%都符合規定。
這些中繼器中使用最廣泛的--占MEV區塊總市場的近49%--是Flashbots,它說它將忽略來自交易混合服務Tornado Cash的交易,后者在今年早些時候被美國政府制裁了。自The Merge以來,越來越多的股權證明參與者選擇使用服務提供商來獲取驗證獎勵。這一趨勢帶來的整合,加上Flashbots的主導地位,導致符合OFAC要求的區塊越來越多。(the block)[2022/10/27 11:46:45]
在這篇文章中,一方面我們會對區塊鏈數據結構的基本概念進行講解,例如哈希的工作原理,另一方面,也會以實際代碼來構建一個區塊鏈基本的數據結構,讓你對區塊鏈和Python的基礎有個基本的理解。
IPFS100.com CEO佟揚:Filecoin應用可能會在國外首先落地:IPFS100.com現場報道,8月3日,由IPFS100.com主辦,CapitalN節點咨詢承辦,金色算力云聯合主辦,深圳市先河系統技術有限公司金牌贊助,逆熵科技銀牌贊助,金色財經作為聯合主辦媒體的星際漫游指南·逐鹿中原·IPFS技術與應用研討論壇在鄭州舉行。
在以《IPFS國內市場VS國外市場》為主題的高峰對話中,金色財經合伙人、IPFS100.com CEO佟揚表示,Filecoin應用到的技術比較復雜,其愿景也非常大,但短期內Filecoin可能很難大規模的應用落地。我們看到區塊鏈發展到現在,也沒有像支付寶一樣的企業級應用落地。不過如果僅僅是應用在數據存儲領域,Filecoin可能會在海外有更好的應用場景,因為在隱私類數據上,國內的存儲和傳輸都會受到很多限制。國內更適合建設一些與分布式存儲技術相關的基礎設施,比如IDC機房。[2020/8/4]
說不多說,下面就進入正題!
動態 | 孟加拉國計劃向國外派遣100名IT畢業生,以提高分布式賬本等領域的專業技能:據cointelegraph報道,孟加拉國當局計劃向國外派遣100名新的IT畢業生,以提高分布式賬本技術、人工智能、機器學習和網絡安全等領域的專業技能。據報道,該計劃將由與印度信貸額度相關聯的政府基金提供資金,用于建立12個地區ICT和高科技園區。該項目基金價值179.6億孟加拉國塔卡(2.08億美元),于2017年7月啟動實施,將持續到2020年6月。[2019/8/5]
從哈希函數說起
在區塊鏈中,數據結構是十分重要的基本組成部分,尤其是比特幣。雖然單一的數據結構無法構建成加密數字貨幣,但理解數據結構對于理解區塊鏈的基本原理是非常有益處的。
但在講數字結構之前,我們還是先從哈希講起,以比特幣的SHA-256哈希函數為例,講講如何利用Python去實現哈希的運算。
聲音 | 國家外匯管理局總會計師:有支付機構跨境向我國外貿企業提供支付服務 進行比特幣、ICO交易:據和訊新聞消息,5月29日,在“2019金融街論壇年會”上,國家外匯管理局總會計師孫天琦表示,在我國實踐中,“跨境交付”模式下跨境金融服務快速發展,“跨境交付”模式跨境金融服務便利了支付結算服務等金融服務,但也有一些非法的跨境金融服務摻雜其中。有境內居民跨境炒股票、期貨和貴金屬,支付機構跨境向我國外貿企業提供支付服務,進行比特幣、ICO交易,通過互聯網、APP等參與境外賭博、賭球等現象。[2019/5/30]
哈希函數,又稱散列算法,是一種從任何一種數據中創建小的數字“指紋”的方法。散列函數把消息或數據壓縮成摘要,使得數據量變小,將數據的格式固定下來。該函數將數據打亂混合,重新創建一個叫做散列值的指紋。散列值通常用一個短的隨機字母和數字組成的字符串來代表。
國外媒體:下一代家將成為數字貨幣最大的支持者:國外有媒體發文認為,下一代家將成為數字貨幣最大的支持者。并列舉了支持數字貨幣的年輕家,如美國36歲的共和黨參議院候選人Austin Petersen、曾競選美國新罕布什爾州州長的32歲的Andrew Hemingway 、29歲正在競選國會議員的民主黨人Patrick Nelson,28歲的意大利的Gian Luca Comandini。文章稱親數字貨幣的年輕家正在出現,但形成氣候還需要4到6年,但全世界的議會早晚會充斥著支持比特幣的家。[2018/3/4]
對于任意長度的消息,SHA256都會產生一個256bit長的哈希值,稱作消息摘要。
這個摘要相當于是個長度為32個字節的數組,通常用一個長度為64的十六進制字符串來表示。
來看一個例子:
這句話,經過哈希函數SHA256后得到的哈希值為:
說回SHA-256,說白了,它就是一個哈希函數。那么我們如何用Python來實現呢?下面代碼展示了用Python實現「helloworld」的過程:
看到這里你可能會問,SHA-256中的「256」究竟是什么意思?哈希算法是一個將任意文本轉換為一個256位隨機二進制字符串的過程。在上面的例子中,「helloworld」是一個11位的字符,經過哈希運算以后,變成了這樣的一串字符:
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是一門強大的語言,區塊鏈是一個強大的信用工具,這兩者結合,勢必能創造出新的可能性。
怎么樣,今天的內容你都學會了嗎?還想看哪些技術教程,歡迎留言告訴營長!
參考鏈接:
https://medium.com/coinmonks/building-a-simple-blockchain-data-structure-with-python-e7ebd448647a
https://blog.csdn.net/u011583927/article/details/80905740
Tags:區塊鏈HONYTHCOIN國內區塊鏈公司前十排名honey幣網址MYTHCoinbase Pre-IPO tokenized stock FTX
親愛的用戶:您好!ZG.COM將于2019年9月16日14:00開放BCC的充幣和提幣業務,于9月17日14:00開啟BCC/USDT交易對.
1900/1/1 0:00:00金色財經比特幣9月8日訊以太坊即將實施的全網范圍升級——伊斯坦布爾似乎已經做好了準備,最近他們的測試網已經就緒.
1900/1/1 0:00:00AEX大咖有話說欄目由AEX.plus交易所發起,是一個聯合了數十家區塊鏈主流媒體共同出品的對區塊鏈行業知名大咖專訪欄目,針對行業生態的發展現狀.
1900/1/1 0:00:009月10日,以太坊基金會成員HudsonJameson在其博客中宣布,關于以太坊ProgPoW算法的審計工作已經完成,審計方EthereumCatHerders已發布了相關的硬件和軟件審計結果.
1900/1/1 0:00:00今天的封面是《吃稀飯的婦人》,格利特竇這兩天大盤表現比較好,尤其是部分主流品種日K拉出幾根連陽線,經過幾天的震蕩上行,姨太基本站穩180點,BCH回到300點上方,昨天柚子最為強勢.
1900/1/1 0:00:00幣安旗下的研究和分析機構BinanceResearch發布了首個用于評估「區塊鏈代幣的標準框架」草案,具體而言,該框架嘗試基于代幣的底層源代碼及其技術實現來評估這些代幣.
1900/1/1 0:00:00