熱門:

2018年4月19日

鄒小敏 數裏見真章

Bitcoin與Blockchain大不同

許多人都是先認識了Bitcoin(比特幣)才知道Blockchain(區塊鏈),甚至混為一體。但實質上,Bitcoin和Blockchain是兩回事。正式說法︰Bitcoin是產品,Blockchain是網絡科技,用於Bitcoin轉戶的紀錄及認證。Blockchain的功能就像會計程序用的分類賬(Ledger)。

Bitcoin廣為人知,除了是過去一年被投機者炒得價格大起大落外,也因為更早之前Bitcoin在互聯網上被利用作黃賭毒等非法勾當及勒索個案中的贖金。風起雲湧的Bitcoin只是芸芸崛起的虛擬貨幣(Cryptocurrencies)其中之一。事實上,一般Cryptocurrencies的交易都用上Blockchain作記錄及認證。

區塊鏈令歹徒無法取用贖金

以往網絡作犯罪勾當的人樂於使用Bitcoin,因為Cryptocurrency非任何中央銀行發行,交易不用依附銀行系统, 因此Bitcoin的持有者可以有效匿名,令人無法知道他們的真實身份。

雖然Bitcoin有相當強大的保密跟隱匿功能,但全球Bitcoin的交易歷史紀錄被分批整理成一個個的區塊(Block),這些區塊再串成一長串的區塊鏈(Blockchain),前後區塊以Hash(雜湊函數)環環相扣。基本上,Blockchain是互聯網上一個透明(Transparent)的分散式(Distributed)安全(Secured)的分類賬(Ledger)。

Bitcoin所用的Blockchain是公共分類賬(Public ledger),Blockchain上每個Bitcoin從一個位址轉到另一個位址的交易紀錄可以審查到。所以就算無法直接查明賬戶所有者是誰,一旦有任何Bitcoin流動,就可從追蹤其流向,知道某人的位址有Bitcoin發放或收取的資料。

金融學教授Professor Harvey Campbell幾年前在 Duke University開辦了一個稱為「Innovation and Cryptoventures」的新科目,內容涉及Bitcoin及Blockchain。根據Harvey的分析,勒索歹徒雖然可以設置一個位址和匿名接收Bitcoin作贖金,但若一旦動用Bitcoin,必須以Blockchain轉賬。屆時其他人可利用概率的運算從Blockchain裏找出勒索歹徒的位址及身份,故此Harvey估計勒索歹徒可能到現在也不敢移動一分一毫的Bitcoin贖金,以免暴露身份。

事實上,目前很多人都懷疑勒索歹徒在明知全球各地的執法機構都監視着Blockchain的情況下,會否移動獲得的Bitcoin作其他用途或換取現金。到頭來,歹徒拿到的Bitcoin可能是「有得睇,冇得使」!

為什麼愈來愈多金融界(銀行、保險公司)及中央銀行和政府宣布要開發Blockchain(區塊鏈)的功能,應用在各項業務上?要討論Blockchain的功能,就必須了解SHA‐-256如何為Blockchain存放的資料設立不能破壞的安全性(Security)。

非IT人可能搞不清SHA-256代表什麼。對SHA-256能保證Blockchain安全性的原因,更是摸不着頭腦。 要搞清楚SHA-256是什麼,首先要認識SHA的意思。SHA是Secure Hash Algorithm的縮寫;中文譯作安全雜湊演算法。最簡單說法就是把資料變成密碼的演算。最初是由美國國家安全局利用雜湊函數(Hash function)把訊息或資料打亂混合,重新建立成雜湊值(Hash values),雜湊值通常是一串隨機字母加上數字組成的密碼,目的令資料的量變小和把資料的格式固定下來。

那麼,SHA-‐256的256又有什麼意思呢?在這裏有必要提一提中學二、三年級數學中的「二進制和十六進制」計法。其實,二進制和十六進制都是電腦內部的運算方法。十六進制密碼是由10個數字符號(0至9)加上英文字母頭6個字母(A至F)湊成。因此十六進制密碼的順序排列是︰0 1 2 3 4 5 6 7 8 9 A B C D E F。

SHA-256和十六進制密碼有什麼關係?因為無論是任何數量的資料,都能被SHA-256演算為一串共64個的十六位進制密碼。

可作一試驗:運用http︰//www.xorbin.com/tools/sha256-hash-calculator,分別輸入「Hong Kong Economic Journal」及「HKEJ」 兩項資料。

「Hong Kong Economic Journal」的SHA-256密碼是︰c49aa220806d61938b7e9005477d01a0d1239a19ea6b83d88634c8ea280118de

「HKEJ」的SHA-256密碼是︰9e446f1f6706584ff59c5a08270e015e85c3bb572b2bc788ac61ef1b7631dfae

不能還原密碼保安全性

所得的結果是經過SHA-256的運算,兩項不同長度的資料都各自變成一串64個的十六進位密碼。

256這數字,指的是256-bit,bit是電腦訊息的最小單位。因為十六進位密碼是每2個密碼就形成一個byte,而一個byte是等於8個bit,所以64個十六進位密碼是64/2=32byte;32byte*8=256 bit。

以上就是SHA-256包涵的概念。

跟着下來,讓我們了解一下為何SHA-256能保證Blockchain安全性。

SHA-256編製密碼是單向函數(One-way function),即是只能把資料變成密碼(即加密或Encrypt),而不能將密碼還原為資料(即解密或Decipher)。這使SHA-256非常適合於密碼驗證、防篡改、數位簽章等應用。

另一方面,在編製密碼過程中,若輸入兩個不同的資料而出現了相同的輸出密碼時,這情況被稱為「雜湊碰撞」(Hash collision)。理論上,若雜湊產生2256‐1不同的輸出,SHA-256是有機會出現碰撞。

但IBM Resilient的技術總監Bruce Schneier分析Blockchain的安全性時,提出了若要用不相同的資料而碰撞出相同的SHA-256的密碼,電腦需要有能產生2256組合的運算能量(Computing power)。

可是,就算把32年內所有的太陽能量集中一起,也只能產生2192組合的運算能量。由此可見,要SHA-256的密碼產生碰撞,所需要的運算能量遠超現實中存在的最強電腦算力。這就說明Blockchain的安全性是不用懷疑的。

參考︰Harvey, Campbell R., Cryptofinance (January 14, 2016). SSRN: https://ssrn.com/abstract=2438299

Bruce Schneier, Security of the SHA Family of Hash Functions.(September 15, 2014)https://www.schneier.com/blog/archives/2014/09/security_of_the.html

https://www.wired.com/story/Bitcoin-drug-deals-silk-road-blockchain/

Introduction to Quorum︰ Blockchain for the Financial Sector

https://blockchainatberkeley.blog/introduction-to-quorum-blockchain-for-the-financial-sector-58813f84e88c

作者為理工大學專業進修學院客席講師

 

訂戶登入

回上

信報簡介 | 服務條款 | 私隱條款 | 免責聲明 | 廣告查詢 | 加入信報 | 聯絡信報

股票及指數資料由財經智珠網有限公司提供。期貨指數資料由天滙財經有限公司提供。外滙及黃金報價由路透社提供。

本網站的內容概不構成任何投資意見,本網站內容亦並非就任何個別投資者的特定投資目標、財務狀況及個別需要而編製。投資者不應只按本網站內容進行投資。在作出任何投資決定前,投資者應考慮產品的特點、其本身的投資目標、可承受的風險程度及其他因素,並適當地尋求獨立的財務及專業意見。本網站及其資訊供應商竭力提供準確而可靠的資料,但並不保證資料絕對無誤,資料如有錯漏而令閣下蒙受損失,本公司概不負責。

You are currently at: www.hkej.com
Skip This Ads