區塊鏈分享

2021-08-28 05:19:20 字數 4921 閱讀 9846

區塊鏈為什麼會有如此魅力,讓全社會都在關注它?區塊鏈技術是本質是不可篡改的、去中心化的公開賬本,是記賬方式的進步。記賬是社會生產生活的基石,記賬方式的進步,能推動社會進步。

作為貨幣,位元幣可以和現金、銀行存款作比較。

|| 現金| 中心化記賬(銀行) | 去中心化記賬(位元幣)|

|---|---|---|---|

| 確權 | 實物確權 | 中心化記賬確權 | 去中心化記賬確權 |

| 轉移 | 需要面對面傳遞,受地理位置限制 | 轉賬方傳送指令到中心伺服器,中心伺服器修改賬本實現財富轉移,接收方不需要任何操作,轉賬不受地理位置限制 | 轉賬方傳送指令到位元幣網路,由位元幣網路實現對賬本進行修改 |

| 限制 | 現金的使用不受限制 | 中心化賬本的使用,經常受限制 | 位元幣的使用不受限制|

位元幣是自由財富,它可以點對點的轉移,不受中心節點管控,這很像現金;但位元幣的轉移不受地域限制,這很像中心化記賬的存款。位元幣結合了兩者的優勢,這是位元幣價值所在。

通過上述分析,位元幣是通過去中心化的儲存網路來記錄賬本,並且在這個基礎上,實現點對點的財富轉移功能。位元幣要實現以上功能有幾個難點:

區塊鏈資料結構

位元幣首次使用了區塊鏈這種資料結構,這種資料結構通過雜湊演算法,鎖定資料的方式,保證資料不被篡改。

區塊鏈可以拆分成兩個詞語:區塊、鏈。如果把區塊鏈比做一本筆記本,那麼區塊就是筆記本的一頁紙,這些紙上面記錄了很多轉賬資訊。為了保證區塊所記錄的轉賬資訊不被篡改,每個區塊都鎖定上一塊區塊的內容。一旦某個區塊被篡改,會出現連環雪崩效應,要修改後面所有的區塊來掩蓋非法修改。如果希望修改的區塊能被其他節點認可,需要做繁重的運算來讓其他節點確認,這基本不可能。

位元幣系統認為,一旦區塊被六個區塊鎖定,這個資料就不可能被篡改了。

雜湊演算法

雜湊演算法是一類演算法,它的作用是獲得資料的指紋(乙個整數),常見的雜湊演算法有 rsa、ripemd160、sha3 等等。對資料 x 進行雜湊運算,得到結果 y,可以記作 $$ h(x) = y$$ 。

x 可以代表乙個數,或者是任意大小(比如 2g 的檔案),無論是什麼樣的 x,通過雜湊運算之後得到相應的整數 y。

如果有 $$ h(x_1) = y_1 $$ 和 $$ h(x_2) = y_2 $$ ,那麼可以認為:

雜湊值在區塊鏈中,其中乙個作用是,在區塊中儲存上乙個區塊的雜湊值,用於鎖定上一塊區塊資料的完整性。

確權位元幣是位元幣網路(或者叫做位元幣系統)的記賬單位,記賬除了記錄財富數量之外,還要記錄財富屬於誰這個屬性,在位元幣系統中,使用非對稱加密技術來對位元幣進行確權。

位元幣系統沒有中心節點,因此位元幣系統開戶,不需要到某個組織去登記,只需要自己隨機生成一串金鑰作為自己的賬戶,這個金鑰我們稱之為私鑰。然後使用私鑰,根據橢圓曲線非對稱加密演算法規則,生成私鑰對應的公鑰,再使用公鑰,生成位元幣錢包位址。使用者可以將自己的錢包位址公布於眾,用於接收位元幣財產,在區塊鏈中,使用錢包位址來進行確權。

使用錢包位址確權的位元幣,只有對應的私鑰,才能夠將其解開,並進行再次轉移。因此私鑰是非常重要的資訊,不可暴露給其他人或者丟失。如果私鑰暴露或者丟失,意味著財富的不安全,並且無法找回密碼。

非對稱加密

加密演算法很早就有,通過一些演算法,將資訊隱藏起來,早期加密依靠加密演算法,也就是演算法洩漏了,加密也就被破解了。現代加密保障不在於演算法,在於金鑰,演算法是公開的,只要儲存好金鑰,就保證了加密安全。

有些演算法,加密金鑰和解密金鑰是一致的,這種加密演算法叫做對稱加密,典型的對稱加密演算法有 aes (高階加密標準)。對稱加密演算法速度很快,不過金鑰交換存在隱患。

2023年,三位數學家設計了 rsa 加密演算法,這個加密演算法的加密和解密使用不同的金鑰。兩個金鑰分別稱為私鑰和公鑰。使用公鑰加密的密文,私鑰可以解密;使用私鑰加密的密文,公鑰可以解密。如果你想進行加密通訊,只要把公鑰公布於世,私鑰則之有自己持有,這樣任何人都可以使用公鑰進行加密之後,再進行傳輸,其他人使用公鑰無法對資料進行解密,只有持有私鑰的人才可以解密。

非對稱加密基於這樣的數學原理:$$f(x) = y$$ 的計算很簡單,但是 $$ f(y) = x $$ 很難。只要符合這種情況的數學式,都可以作為非對稱加密的基礎。rsa 基於離散對數,後來數學家們發明了更難於破解的 ecc(橢圓曲線非對稱加密演算法),位元幣中使用的就是 ecc 演算法。

非對稱加密演算法雖然很厲害,但是一次能加密的資料有限,如果乙個很大的檔案需要使用非對稱加密演算法來進行加密,那麼效能是很差的。在秘密通訊過程中,非對稱加密通常只用於交換對稱加密的金鑰。

數字簽名

非對稱加密還可以用於數字簽名,當 a 發表一篇文章,然後使用雜湊演算法計算文章的雜湊值,再用 a 的私鑰對雜湊值進行加密,加密的結果就是這篇文章的數字簽名。其他人可以用 a 的公鑰,來解密數字簽名,如果解密的結果,正是這篇文章的雜湊值,那麼這篇文章一定是 a 寫的,並且文章內容沒有被篡改過。

數字簽名可以保證資料不可抵賴,比如 a 傳送轉賬資訊給 b,然後 a 可以抵賴,說我沒有發過,這個資料不知道誰發的。但是如果 a 傳送的資料中,包含數字簽名的話,那麼 a 就不可以抵賴了。

簽名過程:$$y = sign(a, x) = encrypt( hash(x), a_ )$$

驗證過程:如果 $$decrypt(y, a_) == hash(x)$$ 成立,那麼可以稱為,x 是 a 發布的資訊,中間沒人篡改。

轉移、驗證、記賬

財富需要流動才有意義,如果 a 想將位元幣財富轉移給 b,這個過程,需要 a 的私鑰和 b 的錢包位址才可以進行。a 通過指令碼 s1 將自己的財富解鎖,然後給需要轉移部分財富,附上一段指令碼 s2,s2 指令碼只有 b 的私鑰才能夠執行。

如果 a 不是個誠實的人,那麼他可以利用網路延遲,將自己的乙份財富,同時轉給 b 和 c,這種攻擊被稱為雙花攻擊。在中心化世界裡,雙花攻擊的防護由中心節點完成。在位元幣系統裡,沒有中心節點存在,為了避免這種攻擊,位元幣系統會選舉乙個臨時的驗證節點,來驗證財富轉移請求的合法性。選取臨時節點的遊戲規則是,哪個節點計算出雜湊值符合規則,那麼那個節點就擁有了此次記賬的權利,所有位元幣節點都尊重這個遊戲規則,不尊重遊戲規則的節點,將會被踢出位元幣網路。

分叉為了避免雙花攻擊,需要臨時選取臨時節點進行轉賬驗證,這些競爭記賬權的節點稱之為礦工,競爭的過程稱之為挖礦,競爭成功的礦工,可以為系統增加區塊,並且在這個區塊中,給自己獎勵位元幣。

如果兩個礦工同時宣布挖礦成功,那麼會出現兩個字尾區塊的情況,這種情況稱之為分叉。位元幣並不傾向兩個分叉中的任何乙個,而是擱置爭議,繼續執行,經過一段時間的競爭之後,總有乙個鏈的長度會比另外乙個鏈長,而位元幣系統,只認可比較長的鏈。

漸進式共識的思維,在位元幣中非常重要,對區塊鏈未來的發展,也是很有指導意義的。

智慧型合約

上文中提到,位元幣的轉賬,是通過指令碼來執行的,如果豐富這些指令碼功能,加上一些判斷條件,那麼轉賬就成為有條件的轉移,這種條件是雙方的某種約定,或者叫做合同。這種可程式設計的交易,用於規範和約定雙方的行為,比當前世界中,紙質的合同更加有執行效率。位元幣的指令碼功能偏弱,因此才會有號稱區塊鏈 2.0 的以太坊的崛起。

位元幣是偉大的發明,創造了自由的貨幣體系,把傳遞訊息的網際網路公升級為傳遞價值的區塊鏈網路,並且這個網路在沒有任何管理員管理的情況下,安靜的執行了 10 年,沒有大的事故發生。但是作為第一代區塊鏈應用,位元幣還是有考慮不周的情況:

由於位元幣源**是開源的,任何人可以輕鬆獲得源**,在位元幣基礎上,稍作修改,換個名字,發行一種新的虛擬貨幣,這種幣稱之為「山寨幣」。最成功的「山寨幣」是萊特幣,目前在虛擬貨幣世界裡,市值排名第七,它修改了出塊時間和區塊尺寸,交易速度加快,在 2013 年推出並獲得認可和成功。

現在新的山寨幣已經不太可能獲得市場認可,因此一些山寨幣,並沒有創世塊,而是從位元幣的某一區塊進行分叉,在分叉處實行新的遊戲規則,並且承認之前位元幣賬戶的資產,通過空投方式給這些位元幣賬戶傳送對應的新幣,這些新幣稱之為「分叉幣」,分叉幣也是山寨幣,不同的是它已經有相應的位元幣使用者了,相對容易獲得市場任何。分叉幣成功的典型是位元現金,目前市值排名第四。

還有一些程式設計師,參考位元幣實現,重新調整遊戲規則,並增加業務功能,這種虛擬貨幣不能稱之為「山寨幣」,而是一種新的公鏈,成功的典型是以太坊,目前以太坊市值僅次於位元幣,被業界稱之為「區塊鏈 2.0」。

以太坊很多和位元幣一樣,包括非對稱加密演算法的選擇,工作量證明共識演算法,它的偉大在於,完善了位元幣的指令碼功能,實現了圖靈完備的智慧型合約功能。圖靈完備的智慧型合約使得以太坊除了具有去中心化貨幣功能之外,還有合約功能。如果說位元幣是全球賬本,那麼以太坊就是全球計算機。如果把位元幣當成一本本子,那麼以前記賬全靠口算,而以太坊則是一本本子加上乙個計算器。除了業務先進之外,以太坊的創始人作為一面旗幟,指導者以太坊前進的方向。在經濟系統方面,以太坊引入 gas 概念,使得以太幣有了使用價值,也比位元幣更進一步。

記賬和傳遞價值

記賬和傳遞價值,是區塊鏈最基本的應用,位元幣是典型,基於區塊鏈的貨幣,是一種更好的貨幣。

智慧型合約

使用智慧型合約來約束人們的行為,並且在智慧型合約中,對不遵守合約的人,實施懲罰,這樣可以降低信任成本,提高合作效率。

儲存區塊鏈網路中的節點,都是物理電腦,這些電腦可以攜帶大規模儲存,為區塊鏈系統儲存資訊。資訊儲存到區塊鏈上有諸多好處:

**便宜

資料安全

無法被監管

網路網路屬於另乙個方面的基礎建設,目前區塊鏈網路是平等的對等網路,通訊完全靠喊(廣播),規劃好網路,也就是建立區域性網路通訊,建立子網,用於提高區塊鏈效能,是很重要的乙個方向。

網際網路當區塊鏈系統中的儲存和網路規劃完成時,網際網路的許多應用會被遷移到區塊鏈系統,阿里雲等各種提供雲儲存和計算的公司成為歷史,類似**也會直接上區塊鏈,並且物品是使用虛擬貨幣結算的。

物聯網經濟系統

不發幣的區塊鏈是沒有生命力的,在區塊鏈上有了幣之後,就要考慮遊戲規則,如果遊戲規則不公平,那麼對應的鏈很快沒有使用者。

區塊鏈系統設計步驟:

鏈必須有經濟效益

鏈產生的經濟效益應該體現在鏈上的電子貨幣上

確定參與系統的角色

為每個角色的活動,定義獎勵和懲罰措施

分析、測試、驗證

回到第 4 步調整

經濟系統設計其實類似遊戲中的數值策劃,把經濟系統設計成為合理的系統,對於公鏈來說至關重要。

區塊鏈筆記分享

鏈客,專為開發者而生,有問必答!區塊鏈筆記分享 技術和數學基礎 高位的hash的逆向過程除了窮舉,沒有更有效的辦法,這個過程在目前的計算能力下必然費時費力。2.不對稱的加密,公鑰和私鑰的簽名機制 pow if supportlists 1.endif 記帳中調整once,得到符合規則的所花費的工作。...

區塊鏈技術工坊 線下區塊鏈技術分享

區塊鏈技術工坊由一群熱愛區塊鏈技術的開發者組織,在全國各主要城市每週舉辦線下區塊鏈技術分享活動。深圳地區由hiblock 小牛新能源 登鏈學院聯合主辦,由以太零 qtum fibos ackblock hpb贊助。以往各期內容如下 講師 以太零cto 鐘瑞仙 主要內容 以太坊手續費簡介 零手續費的必...

區塊鏈 區塊鏈雜湊演算法

雜湊演算法是區塊鏈中保證交易資訊不被篡改的單向密碼機制。雜湊演算法接收一段明文後,以一種不可逆的方式將其轉化為一段長度較短 位數固定的雜湊資料。它有兩個特點 加密過程不可逆,意味著我們無法通過輸出的雜湊資料倒推原本的明文是什麼 輸入的明文與輸出的雜湊資料一一對應,任何乙個輸入資訊的變化,都必將導致最...