區塊鏈的原理是什麼?

時間 2021-05-07 05:17:11

1樓:微特數字科技

區塊鏈技術本質是去中心化且寓於分布式結構的資料儲存、傳輸和證明的方法,用資料區塊(Block)取代了目前網際網路對中心伺服器的依賴,使得所有資料變更或者交易專案都記錄在乙個雲系統之上,理論上實現了資料傳輸中對資料的自我證明。Trust Union(TU)將這樣的技術應用在了個人信用資產管理上,為全球個人與個人 (C2C) 的泛金融關係建立高效和安全的資料鏈條與價值鏈條,並為個人信用資產提供資料管理與價值成長服務。

2樓:極客時間

區塊鏈到底是怎麼執行的?乾巴巴的總也講不清楚。

這不我們就請來了元界CTO陳浩老師,他將以位元幣區塊鏈為例來進行講解,幫你深入透徹地弄明白區塊鏈的原理是什麼,它到底是怎麼執行的:

由於區塊鏈發展到目前階段,各個技術方向都有長足的發展,那麼為了方便你理解,我在這裡介紹最簡單、最容易理解的位元幣區塊鏈;

由於大部分區塊鏈都是以位元幣區塊鏈為基礎進行擴充的,所以首先了解位元幣區塊鏈有助於其他專案區塊鏈的後續學習。

首先,我們借鑑了乙個區塊鏈描述中的經典情景來模擬中心化記賬。

假設有乙個有百戶居民的村子,其中有一位德高望重的村長,村長有乙個兒子。村民們都把錢存到村長家,村長負責記賬。比如,張三用 1000 買了李四家的牛,村長就把張三名下的存款減去 1000,李四家加上 1000。

聽起來是不是很像銀行的操作?

對,我們就是先從中心化的銀行記賬開始聊起。村民都相信村長,才願意把錢存到村長家,他們相信村長不會作惡。

可惜好景不長,老村長由於操勞過度,駕鶴西去了。新上任的村長兒子鐵蛋很是聰明,但也有個毛病,就是粗心大意。他不但經常算錯賬,一次還被人偷改了賬單。

不過,幸好村民自己都有記賬,但是由於鐵蛋每次錯賬後都要和別人核對半天,導致村民對新村長的記賬能力十分不滿。

時間就這麼過著,然而最可怕的事情還是發生了,鐵蛋的老婆竟然私下篡改賬本,給鐵蛋七大姑八大姨的餘額全部偷偷加了好多,終於有一天事情暴露,村民們氣沖沖地跑到鐵蛋家裡討說法,於是一片混亂。

這時候有個叫中本聰的人站了出來,他說他設計了一套系統,可以不依賴任何人記賬,於是,眾人開始將目光集中到他的身上。

中本聰說他的系統稍微麻煩一點,需要幹三件事兒。

每家每戶都派發乙隻信鴿。這就是 P2P 網路,是乙個點對點的分布式網路,如果不好理解,你先不用理會,我會在後面講到。

每家每戶都發乙個特殊的印章和乙個掃瞄器。這個掃瞄器有兩個功效,一是識別他人的交易是否真實有效,二是識別這個交易是不是自己賬號的,同時識別並解鎖未花費的餘額。這就是非對稱加密。

每家每戶可以參與記賬,不過不再記餘額,而是記交易本身的內容。這就是區塊鏈中的交易,這個「交易」對應的英文單詞是「Transaction」,這是個專有名詞,專指一筆賬,不同於金融交易的 Trade。

這三條總體來說其實是幹一件事情,就是:

每家每戶都記賬,賬簿上不再記載每戶村民的餘額,而只記載每一筆 Transaction,即記載每一筆交易的付款人、收款人和付款金額。

那麼問題就來了:如果每戶都記賬,肯定每戶的賬都不統一啊,你記你的,我記我的,最後不全亂了麼?

這個時候需要大家統一賬本,保證大家的賬本都是一致的。因為記錄的交易是全村所有人有序產生的,所以這就需要有乙個廣播機制。這個廣播機制,我先賣個關子,後面再講。

中本聰說,其實很簡單,我們現在先把全村所有人的資產都加起來。還真巧了,剛好 100 萬。

中本聰接著說:「只要賬簿的初始狀態確定,並且每一筆交易可靠並按照物理時間自然記錄,並且只加不改不刪,這樣,當前每戶持有多少資產是可以推算出來的。」

中本聰說我現在把我的印章給你們看,這個印章很特殊,蓋的章有兩塊標記,第一塊是乙個可以識別的標記,比如我往紙上一敲,可識別的標記是 1MsTg2。

這就是你們的代號,由於我們賬本是公開的,使用真實姓名會很危險,所以你們記賬的交易單上收款人、付款人都填這個碼,不用寫姓名。你的掃瞄器和你的印章生成的代號是關聯的,有且僅有持有對應掃瞄器的人才能花費金額,這一步即為「解開交易」。

剛剛說印章有兩塊,這第二塊內容配合這個掃瞄器才能看,肉眼看則都是亂碼,掃瞄器一掃就知道第二塊內容是否有效,這一步也就是「交易驗證」。

並且所有交易大家都能接收,都能看到,但卻解不開印章亂碼部分的內容,僅僅收款方才能解開,因為你的掃瞄器和你印章生成的代號是關聯的,有且僅有持有對應掃瞄器的人才能解開交易。

以上就是區塊鏈中「公開記賬」的過程。「公開記賬」就是全網所有人都可以隨時檢視一套賬本,然後按照規則透明公開地進行記賬。

創世區塊是我們生成全村公開賬本的第一筆交易的第乙個信封,好比一篇文章總得有個開頭一樣。

於是乎,中本聰說我先生成第乙個 Transaction,這個交易單的付款人為空,收款人是村長,付款金額是 100 萬,因為是創世區塊,產出多少個是可以隨意規定的,由於我們上面統計了全村的賬目情況,所以我就寫了 100 萬,待會兒付款給村長以後,我們可以按照原來的賬本給大家傳送對應的金額過去。

好了,我們有了第一筆交易,第乙個信封也已經做好了。現在讓村長把信封傳給張三,張三影印乙份,然後傳給李四,李四繼續傳下去,一傳十,十傳百,直到傳給全村人,這個步驟也就是「同步區塊」,也就是全網都拿到這個信封,以及信封裡面的 Transaction。

中本聰開始教村長寫交易單,把 100 萬分成兩部分,第一部分 10 萬,收款人是張三;第二部分是 90 萬,收款人是自己;這樣乙個 Transaction 就做成啦。

前面我們說了,不能直接寫名字,要寫代號,這個代號也就是你的錢包位址,我們需要把收款人寫名字的地方,讓收款人拿出自己印章,把代號讀出來,然後告訴村長即可。

100 萬 10 萬,張三

90 萬,自己

村長寫好 Transaction 以後,還需要拿出自己的印章,在 Transaction 上蓋章,這個蓋章的過程也就相當於區塊鏈中的簽名。這個章,全村人都可以拿掃瞄器掃一下驗證是否有效,即驗證付款人的章是否有效。

100 萬 10 萬,張三的印章(1s25vR)

90 萬,村長的印章(13gYip)

就這樣,村長一共寫了 10 份 Transaction,分別代表了傳送給不同人的交易,張三一筆 10 萬,李四一筆 1 萬,等等。

現在我們有了 Transaction,但是還需要東西把 Transaction 裝起來,我們用乙個特殊的信封把 Transaction 裝起來,這個信封就是區塊鏈中的「區塊」,這個封裝過程就是「打包交易」。

為什麼要封裝起來呢?是為了讓打包交易的人能夠在信封上署名,表示這次打包是由某某某打包的,其次全村的交易可能非常多,需要裝配標號,方便大家查詢。

我們看到上述的 Transaction 雖然已經生成,但是有個問題,就是沒有規定誰有權利把 Transaction 封裝到信封裡。

我們在開篇的故事中看到了中心化操作肯定是不行的,假設在全村人中,這時候如何篩選出這些打包的人呢?

中本聰這時候說了,由於我們村的人口增長,100 萬未來可能不夠,我們暫定 150 萬,那多餘的 50 萬,我們就當獎勵給這些裝信封的人了,當然不能一次性給,誰裝一次信封就領 3 個幣。

這時候大家夥兒來勁了呀,只要裝信封就能夠領錢了,我們在這裡把符合條件的人稱作「礦工」。

這個難題是這樣的,它有兩大特性,第一是容易驗證,第二是計算過程非常複雜。

例如,有種棋牌類遊戲叫作「24 點」,玩法就是給出任意 4 個整數,通過整數運算得到 24,比如現在給出 2、9、1、5 四個數,答案是(5-2)*(9-1)= 24。當然,本處僅是舉例,「24 點」遊戲的答案空間非常小,是遠遠不夠生成信封的。

答案非常好驗證,但是計算過程是乙個嘗試的過程,需要耗費大量的精力。而在真實的位元幣中,採用的是尋找符合條件的目標雜湊,這也就是位元幣礦工所做的事情。

好了,這時候大家開始計算給出的難題,剛好李四第乙個計算出來,那麼這次裝信封的操作就由李四完成,李四把 10 份 Transaction 裝到信封中,也就是打包 Transaction,並且要在信封背面寫上乙個信封的摘要資訊。

比如上乙個信封中的第乙個交易是什麼、信封封面長什麼樣,最後要在信封上蓋上章,也就是「簽名」,礦工簽名的目的是為了領幣,也就是 Coinbase 交易。

以上過程在區塊鏈領域稱作「打包 Transaction」,也就是大名鼎鼎的「挖礦」。

來說說上文提到的廣播交易,廣播是為了讓全村人知道當前時刻你產生了一筆 Transaction,或者是你裝好了乙個信封。

廣播的內容分兩種,一種是廣播 Transaction,一種是廣播信封。第一種廣播是意味著還有未被打包的 Transaction,而第二種廣播信封則意味著這個 Transaction 已經被某個礦工確認。

收到了廣播的通知後,大家先驗證信封上難題的答案是否正確,這樣便可以驗證出信封是否被偽造,接著驗裡面的每筆交易,最後還要驗證信封背面的內容,即上乙個信封的摘要是否正確。因為上乙個信封大家都已經確認,所以這樣可以極大地規避作弊的可能。如果覺得沒問題,就可以存入本地資料庫中了。

至此,全村人的記賬問題就差不多解決啦。

今天我用非常淺顯的例子與你聊了位元幣區塊鏈,其中包括區塊鏈中公開記賬、建立創世區塊、交易、打包 Transaction、廣播交易的幾個步驟。

因為篇幅所限,在表述上可能會有不精確的部分,但是大體意思是相通的,相信讀完文字,你已經對區塊鏈的原理有了乙個大致的了解。

你也可以針對每個模組進行擴充套件,比方更換礦工的計算方法,可以推導出 PoS 共識機制,不知道你還能想到哪些擴充套件呢?大家可以聊一聊~

區塊鏈追溯的原理是什麼?與傳統追溯相比有什麼優點?

夏顯哲 有幾個回答說區塊鏈溯源純粹是蹭熱點的,基本上理解都很淺。有個答案居然還說 區塊鏈溯源是用聯盟鏈還是公鏈 這個問題都問的出來,還好意思說區塊鏈溯源是蹭熱點。區塊鏈溯源當然是用聯盟鏈了,還用公鏈,你以為你炒幣呢?區塊鏈溯源中面臨鏈下資料真實性問題,這個問題是真實存在的,但是也都是可以有解決方法的...

區塊鏈生存指南是什麼?

YoungSun 首先要明確一點,區塊鏈不是貨幣,更不是金融,他是一種復合技術 加密演算法 共識演算法 點到點傳輸協議.他不是萬能的,也不是最安全的,實際上區塊鏈技術還會加大計算資源開銷和網路丟包率,並非銀彈,對於附加在區塊鏈上的場景化業務,比如位元幣 萊特幣是一種超主權的價值讀寫,其附加在了等價交...

目前區塊鏈趨勢是什麼?

區塊鏈的大趨勢彷彿95年的網際網路,加密貨幣是下乙個10年貨幣革命的開始。小趨勢的話,熊市仍將繼續,但技術悄然發展,以太坊發展速度沒有預期那麼快,其他公鏈正在追趕。目前,區塊鏈逐漸成為 價值網際網路 的重要基礎措施,各國都開始積極擁抱區塊鏈技術,開闢國際產業競爭的新賽道,搶占新一輪產業創新的制高點,...