區塊鏈和位元幣初步了解

2021-09-29 03:52:16 字數 3210 閱讀 3169

最近這幾天區塊鏈被再一次提到了風口,這次不一樣,***代言,***支援的,作為乙個it人,應該了解下。而且不能太粗略。

首先這是兩個概念,區塊鏈是技術範疇,位元幣更像金融範疇。區塊鏈是分布式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。位元幣是一種p2p形式的虛擬的加密數字貨幣。

一句話:位元幣不是區塊鏈,它只是區塊鏈技術的乙個具體應用。

這裡要了解這個人,因為這一切的起源就是他的一篇**。位元幣(bitcoin)的概念最初由中本聰在2023年11月1日提出,並於2023年1月3日正式誕生。位元幣就是根據中本聰的思路設計發布的開源軟體以及建構其上的p2p網路。

計算機儲存的資訊是2進製的,任何資訊,都可以轉化成2進製,那一串串二進位制就可以稱為數字指紋。但是會發現,這些二進位制長短不一,且可以簡易解析出原始內容,我們需要利用一些演算法加密並統一長度表示,於是有了hash(雜湊演算法)。可以將一串資訊加密成固定長度的字串,且不可逆向反推原始內容。

sha演算法(secure hash algorithm)從2023年發布,一直到2023年發布第3代。位元幣用的是第2代演算法,簡稱為sha-256演算法,由這個演算法生成的指紋長度固定為256位元。

對稱加密:加密的秘鑰和解密的秘鑰一樣。

非對稱加密:加密的秘鑰(私鑰)和解密的秘鑰(公鑰)不同。

看到乙個例子,很好詮釋了非對稱加密:

基於乙個規律:任意乙個三位數字乘以91,得到的結果再乘以11,最終得到的結果一定是原始三位數寫兩遍。

那麼這個例子,私鑰就是91,公鑰就是11。或者反過來也一樣。解密方法就是乘以11的結果取後三位。

比如:1、原始資料123,

2、通過私鑰加密123*91=11193

3、通過公鑰解密11193*11=123123,取後三位得到原始資料

位元幣採用的非對稱加密演算法:「橢圓曲線演算法」,簡稱為ecc演算法。記賬過程如下:

乙個私鑰幾乎可以生成無數個不同的對應公鑰,也就意味著可以生成幾乎無數個不同的對應賬號。誰掌握了私鑰,誰就是賬號的主人。在位元幣網路中,私鑰是動用賬號中位元幣的唯一憑證。

可以理解成乙個不可篡改的資料庫,本質是資料庫,只不過很難改動其中的內容。為什麼?因為這個資料庫記錄資料是通過「去中心化」的方式記錄的。傳統記賬方式,有乙個總賬本,裡面記錄所有的來往,這樣萬一總賬本出問題,那記錄就沒了。去中心化就是這個總賬本是「分布式」存在多個地方。如下圖,左側是中心化,右側是去中心。

區塊本質是乙份乙份資料,需要被記錄的資料。如何把這份資料記錄到網路,就是挖礦。每乙份資料被稱為乙個「區塊」,這些區塊每乙個都有唯一的編號,在位元幣系統中,編號被稱為高度(height),這些編號就是自然數1、2、3……一直往下排,不中斷、不重複。

第乙個區塊是由區塊鏈的發明人中本聰親自建立的,那是北京時間2023年1月4日,在芬蘭赫爾辛基的一台小型伺服器上,第乙個區塊誕生了,這也被稱作「創世區塊」(genesis block)。在這個區塊上,包含的主要資訊是:

區塊高度:0

the times 03/jan/2009 chancellor on brinkof second bailout for banks

「某賬號」獲得50位元幣獎勵

除去第乙個,從第二個區塊開始,以後每個區塊就必須嚴格按照位元幣系統的規則來建立了,必須至少包含如下資訊

1、前乙個區塊的數字指紋(乙個256位的二進位制數,且前72位必須全部為0)

2、固定資訊

3、收到的交易記錄

4、乙個隨機數(nonce)

通過1、2、3、4個條件作為輸入,不停的hash計算,最後得出乙個新的區塊的數字指紋,同樣,需要是乙個256位的二進位制數,且前72位必須全部為0。

可以理解為通過大量運算,生成有效位元幣的過程。

塊鏈是乙個按時間順序排列的位元幣交易公共記錄。塊鏈由所有位元幣使用者共享。它被用來驗證位元幣交易的永久性並防止雙重消費。

因為每次節點生成是需要3個東西:

1、節點資訊

2、上乙個節點編號(hash值)

3、算力

這裡關鍵是上一級hash值,因為hash是不可逆的加密編碼方式,所以如果想偽造記錄,基本不可能,除非你把所有歷史記錄全部篡改,顯然不合算。

在程式猿世界,應該是如何計算出節點值的。其實是依據3個條件,如下:

1、工作量證明函式

2、區塊

3、難度值

工作量證明(proof of work,簡稱pow),簡單來講就是證明你完成了某一項工作。挖礦就是計算出工作量證明函式的解,其實就是不停的求hash,輸入不同的n,計算hash(n),窮舉嘗試,直到符合條件的hash值出現。

位元幣網路中的所有電腦都只認可唯一的乙個賬本,任何一台電腦在接入位元幣網路時,首先要同步這個唯一的賬本。從相鄰的節點上獲取最新的賬本。

這個問題其實是在電子貨幣之後產生的,傳統貨幣不存在這個問題,因為你買東西,錢順手就給對方了。但是電子貨幣可能就有問題,你可以拿著電子貨幣先和a買了乙個東西,資訊同步需要時間,b還沒收到資訊,這時候再和b買東西。這就是雙重消費。

如何避免呢?區塊鏈規定有乙個主鏈,就是節點最多的那條鏈,比如,你和a交易產生乙個分支,又和b交易,又產生乙個分支。然後a、b各自給全網節點同步資訊,然後發現太壞了,居然乙個貨幣交易了兩次,只能有乙個作廢了,就是51%的節點記錄認可的是合法的,另乙個不合法。

「位元幣網路」是按照位元幣p2p協議執行的一系列節點的集合。位於同一網路中的每台計算機都彼此對等,各個節點共同提供網路服務,不存在任何「特殊」節點。

概念太多,一篇有點寫不完,下篇繼續吧。

快速了解位元幣和區塊鏈技術

位元幣及位元幣的底層技術區塊鏈,位元幣是一種 p2p形式的數字貨幣。但數量有限 上限是 2100 萬。什麼是區塊鏈技術?對於傳統的電子貨幣,交易記錄儲存在銀行中,但是由於位元幣是基於 p2p網路的,是去中心化的,所以需要所有使用者共同維護乙個全球統一的交易記錄,並將資料儲存在每個客戶端中。如何維護乙...

區塊鏈和位元幣

1.區塊鏈解決了啥問題 乙個東西有價值,一定是解決了乙個社會上的痛點。我們說人工智慧是未來的趨勢,因為它主要解決的是生產力的公升級問題,工業革命代替人的簡單體力勞動,人工智慧代替的是例如思考之類的複雜勞動。區塊鏈解決的是生產關係的問題,也就是信任的問題,想一下為什麼 需要有支付寶,因為如果沒拿到貨而...

位元幣 區塊鏈

區塊鏈 一種實時記錄全部交易的去中心化公開資料 庫,在區塊鏈上進行支付時全網計算機共同查詢區塊鏈資料,共同驗證這筆支付交易是否有效。確認支付後將寫入區塊鏈並產生一條不可篡改記錄。區塊 區塊大小是1m,包含父雜湊 merkle根 時間戳 難度目標 隨機數。程式上近似每10分鐘增加乙個block,blo...