大家都知道,區塊鏈是比特幣的底層技術,但區塊鏈技術的核心,又是什么?是密碼學。密碼學是區塊鏈技術的核心。所有的交易信息都會被編碼到區塊里,而區塊鏈則是由這一個個區塊連接在一起而形成的結構。密碼技術由來已久,主要經歷了古典密碼、機械密碼、現代密碼三個發展階段。隨著歷史推進,密碼技術不斷在演變,密碼學成為了科學。而今天我們就要一起來看看,區塊鏈技術當中的密碼學,與過去我們了解的密碼學有什么不同?它的作用在哪里?
什么是密碼學?
密碼學是開發防止第三方查看私人數據的學科。現代密碼學結合了數學、計算機科學、物理、工程等學科。一些重要術語的定義如下:
加密:將文本編碼成不可讀的格式。
解密:將混亂的信息轉換為其原始形式。
Cipher密碼:一種用于執行加密或解密的算法,通常是一組可履行的、定義明確的步驟。
在以前是加密的同義詞,即把信息從可讀的格式轉換為毫無意義的信息的過程。加密技術的歷史可以追溯到古埃及,歷史十分悠久。舉例來說,CaesarCipher凱撒密碼是凱撒大帝用來與將軍們進行安全通信的一個著名的密碼。密碼將信息中的每個字母都移動了一定的距離,A變成了C,B變成了D,依此類推。區塊鏈技術以多種不同的方式對錢包、交易、安全性和隱私保護協議進行加密。本文將討論與區塊鏈技術相關的一些重要加密主題,包括公鑰加密、Hash散列和Merkel樹。
Lybra Finance V2將使用LayerZero的OFT標準為peUSD提供全鏈功能:9月9日消息,計息穩定幣協議 Lybra Finance 發文稱,Lybra V2 將使用 LayerZero 為其計息穩定幣解決方案提供全鏈功能,LayerZero 的全鏈同質代幣(OFT)標準將為 Lybra 的全鏈穩定幣 peUSD 提供支持,peUSD 將無需在不同的鏈上建立單獨的流動性池,無需跨鏈橋與封裝。[2023/9/9 13:28:07]
公鑰加密
公鑰加密是一種使用一對密鑰進行加密的密碼系統。公鑰可以廣泛分發,但是私鑰只有其所有者才知道。密鑰總是成對創建的,每個公鑰必須有一個相對應的私鑰。公鑰加密經常被用于以安全的方式加密兩個人或兩臺計算機之間的消息。任何人都可以使用某人的公鑰來加密信息,但是信息一旦被加密,只有使用相對應的私鑰才能解密該消息。假設Alice想要向Bob發送一條加密消息,其工作原理是這樣的:
Alice使用Bob的公鑰來加密消息;
某釣魚網站的鏈接被張貼在了BNBCHAIN Discord服務器上:金色財經消息,據CertiK監測,有報告稱某釣魚網站的鏈接被張貼在了 @BNBCHAIN Discord服務器上。在團隊確認他們重新獲得服務器控制權之前,請不要點擊鏈接。[2023/6/7 21:20:21]
Alice將加密后的消息發送給Bob,如果被第三方攔截,那么第三方只能看到隨機的數字和字母;
Bob使用他的私鑰來解密和讀取收到的消息;
這個過程可以用下面這個圖表來表示:
來源:WellesleyCollege
公鑰加密是區塊鏈技術的一個基本組成要素,是錢包和交易的基礎技術。當用戶在區塊鏈上創建錢包時,就是在生成公私密鑰對。
錢包的地址,或者其在區塊鏈上的表示方式,是由公鑰生成的一串數字和字母的組合。由于區塊鏈技術本身的性質,這個地址對所有人來說都是公開的,可以用來檢查錢包里的余額或向其發送代幣。
與錢包相關聯的私鑰證明了錢包的所有權和控制權。這是唯一能把代幣發送出去的方法,如果私鑰丟失,那么里面的代幣將被永遠封存。
Aavegotchi開發商2022財年收入增長200%:5月29日消息,Web3 游戲 Aavegotchi 開發商 PixelCraft Studios2022 財年收入增長 200% 至 1130 萬美元,但其費用飆升 609% 至 1080 萬美元,利潤同比下降 82% 至 57.4 萬美元。[2023/5/29 9:48:56]
區塊鏈上的交易不過就是一條廣播信息,其本質是在說,“從我的錢包里取出X枚代幣,并將X枚代幣存入另一個錢包”。一經確認,交易就會被不可更改地寫入分類賬簿,并更新雙方余額。
然而,此交易消息需要發送錢包的密鑰簽名才有效,消息廣播后,任何人都可以使用錢包的公鑰來確保來自私鑰的數字簽名是真實的。這是區塊驗證者們在向區塊鏈添加交易前要承擔的一個角色。
加密Hash散列
加密Hash散列是區塊鏈技術的另一個基本要素,它直接保障了區塊鏈的不可變性,這是區塊鏈最重要的特性之一。
Hash是計算機科學中的一個術語,意思是輸入任意長度的字符串,然后產生一個固定長度的輸出。無論某個Hash散列函數的輸入是3個字符還是10個字符,其輸出的長度始終是相同的。
Radix Trading為CFTC對幣安訴訟中提到的三家量化公司之一:金色財經報道,總部位于芝加哥的交易公司Radix Trading表示,它就是美國商品期貨交易委員會(CFTC)周一對幣安訴訟中提到的身份不明的“交易公司A”。在訴訟中,CFTC提到了至少三家總部位于美國的量化交易公司。盡管美國客戶本應被禁止在幣安交易,但這三家交易所仍然活躍于幣安。Radix聯合創始人Benjamin Blander表示,Radix通過離岸子公司和一家主要經紀商在幣安交易了幾年,該公司在加密連接方面的所有事情都經過了法律審查。Blander還表示,Radix在起訴前正與CFTC合作,他不認為Radix是任何調查的目標。[2023/3/29 13:32:08]
加密Hash散列函數具有以下幾個關鍵特性:
確定性:無論給函數多少次特定的輸入,它都始終會得到相同的輸出;
不可逆性:無法根據函數的輸出來確定輸入的內容;
抗沖擊性:沒有任何兩個輸入可以得到相同的輸出;
Ren DAO將投票表決鑄造新的融資代幣計劃:金色財經報道,負責監督發行包裝加密資產的DeFi協議的Ren社區正在考慮鑄造新代幣以籌集資金,由于Alameda Research的倒閉使該項目無法獲得資金。社區還投票決定創建Ren基金會,該組織將領導該項目的未來發展。該投票基于Ren生態系統倡導者Maximillian Roszko提交給DAO論壇的一份提案。
作為投票的一部分,Ren DAO成員將決定鑄造多少新的Ren代幣。該提案提出的五種選擇包括5000萬、1億、1.5億或2億REN代幣,以及拒絕整個融資計劃。按照目前的代幣價格,Ren可以籌集到400萬美元和1700萬美元。Ren社區投票將于12月21日結束。根據Snapshot投票頁面數據顯示,早期投票顯示支持鑄造2億個新的Ren代幣。到目前為止,這個選項已經吸引了75%的選票。[2022/12/16 21:47:42]
加密Hash散列函數的另一個重要特性是改變輸入中的任何一位數據都將極大地改變輸出結果。舉例來說,111111和111112的Hash散列輸出將會是絕對唯一的,且彼此間沒有任何聯系。
加密Hash散列函數最為廣泛的用例是密碼儲存。大多數網站不會儲存用戶的原始密碼,它們會儲存用戶密碼的Hash散列,并在用戶訪問給定的站點并輸入密碼時,檢查散列是否匹配。如果黑客入侵了他們的數據庫,也只能訪問不可逆的密碼Hash散列。
那么,加密Hash散列又是如何實現區塊鏈技術不變性的呢?答案就是每個新的數據塊都包含前一個區塊中所有數據的Hash散列輸出。
想象一個剛剛添加了第1000個區塊的區塊鏈。來自區塊999的數據作為Hash散列函數輸出存在于第1000個區塊中。然而,包含在區塊999中的數據是區塊998中數據的Hash散列,區塊998中又包含了區塊997中數據的Hash散列。
這樣向前回溯,從第1000個區塊到第1個區塊就這樣通過加密Hash散列連在了一起。其結構圖如下所示:
來源:BlockGeeks
一直以來,這就是保證區塊鏈中數據具有不可變性的原因。如果有人想在前面的區塊中哪怕更改一位數據,那么不僅會改變該區塊數據的Hash散列輸出,還會改變后面的每一個區塊。網絡上的礦工和節點會立刻注意到所產生的Hash散列與其鏈的版本不匹配,并拒絕此次更改。
供參考:比特幣使用的是名為SHA-256的加密Hash散列函數,Ethereum使用的是名為keccak256的加密Hash散列函數。
Merkle樹
上面的圖是區塊鏈的一種簡化版本,它省略了一些重要信息。圖中有三個向上的箭頭,表示每個區塊的交易都被儲存在一個Merkle根中,而這就是Merkle樹的根節點。
樹是計算機科學中的一個術語,代表以分層樹狀結構儲存數據,其中,數據位被稱為節點。有一個根節點,下面連接著“子”節點,子節點本身也有子節點,依此類推。下圖展示了一個典型的樹型數據結構:
來源:TutorialsPoint
如圖所示,樹中的節點組被稱為子樹,沒有子樹的節點被稱為葉子節點。
Merkle樹是一種使用加密Hash散列函數來儲存散列輸出的樹。每個葉子節點由其原始數據的加密Hash散列組成,而每個父節點是其子節點Hash散列組合的Hash散列。
Merkle根僅僅是Merkle樹的根節點,Merkle根表示其左右子樹組合的Hash散列輸出。下圖是一棵有著4個葉子節點的Merkle樹。
來源:ShaanRay
每個葉節點表示交易A、B、C和D的數據的Hash散列,然后將HashA和HashB組合并求散列以生成Hash(A,B),并且以相同的方式生成Hash(C,D)。最終,Hash(AB)和Hash(CD)被組合到一起求散列Hash(Hash(A,B),Hash(C,D)),最終形成樹的Merkle根。
那么,為什么Merkle樹對區塊鏈技術來說是十分重要呢?
使用Merkle根并且應用加密Hash散列函數的性質,可以快速判斷給定區塊中的交易是否已被篡改,并識別正在被篡改的特定交易。
如果已確認區塊中的單個交易已經被更改,那么Merkle根最終將與“正確的”Merkle根截然不同,并且改動是十分顯而易見的。
Merkle樹還允許用戶在不下載整個區塊鏈的情況下驗證他們的的交易是否被包含在區塊中。簡單支付證明技術可以掃掃描Merkle樹中的所有分支,并檢查某個特定的交易是否已經被散列存儲到該樹中。如果不是在每個區塊中包含一個Merkle根,區塊鏈技術是不可能實現這種效率水平的。
下圖表示的是在區塊鏈中有4筆交易的Merkle樹
來源:BlockGeeks
結語
密碼學是區塊鏈技術內部工作的一個必要組成部分。公鑰加密是區塊鏈錢包和交易的基礎,加密Hash散列函數賦予了區塊鏈不變的特性,Merkle樹在組織交易的同時提高了區塊鏈的效率。看完本文,你有什么想法?歡迎留言區告訴我們~
尊敬的LBank用戶: LBank已經完成「TEP空投獎勵」的首輪投放。本輪共投放10,000TEP,持有超過50,000LBK的用戶可獲得2枚TEP投放,持有超過100,000LBK的用戶可獲.
1900/1/1 0:00:00北京鏈安鏈上監測系統發現,疑似PlusToken相關地址1Li4mUc3hCGMB6cgQiJCwTvLMYwkfKHZY8再度開始轉賬,自昨晚22:20開始.
1900/1/1 0:00:00編者注:本文為Parity開發者WeiTang寫作的,關于如何增強EVM后向兼容性的文章,改進Gas機制的方案堪稱大膽.
1900/1/1 0:00:00為慶祝Binance上市ONT/BTC,ONT/USDT杠桿交易,Binance和ONT團隊聯合開啟ONT交易活動活動.
1900/1/1 0:00:00摘要 事件:隨著中美數字貨幣和傳統金融機構不斷入局,留給傳統幣圈的時間似乎不多了。擁抱監管、爭取市場才是正道.
1900/1/1 0:00:00Messari數據顯示,通過ICO融資超過5000萬美元的代幣中大多數代幣的投資回報率都為負,代幣價格距歷史高點跌幅均超過70%.
1900/1/1 0:00:00