12.14 區塊鏈科普視頻

摘要: 區塊鏈是一種去中心化、基於共識機制、密碼學、分佈式存儲的賬本。比特幣正是基於共享賬本和密碼學才誕生的。今天貝數區塊鏈就和大家一起聊聊區塊鏈的加密模型。關注貝數區塊鏈、從小白變大神!大家對於區塊鏈行業有什麼想要了解的知識點,歡迎留言參與討論!

在之前的科普視頻中為大家科普介紹了什麼是區塊鏈,如果還沒有看過的朋友可以先自行查看。今天深入的再和大家來聊一聊區塊鏈的加密模型。

在之前一系列的視頻中,大家應該也瞭解到了,區塊鏈是一種去中心化、基於共識機制、密碼學、分佈式存儲的賬本。通過一些案例也瞭解到區塊鏈的賬本具有可信任,不易篡改等特性。

但如果沒有現代密碼學的發展,區塊鏈是不會出現的。作為區塊鏈的第一個成果,比特幣正是基於共享賬本和密碼學才誕生的。

每個人的區塊鏈、比特幣賬本都有一個密碼,用更專業的名詞來說,這個密碼叫做私鑰,這個私鑰是比特幣錢包為每個賬本單獨生成的。有人會問了,如果持有賬本的人太多,會出現兩個人私鑰一樣的情況嗎?當然不會了,比特幣最多可以生成2的256次方這麼多個私鑰,所以哪怕銀河系的每個行星上都住滿了人,每個人都手持一個比特幣賬本,每個賬本的私鑰也不會相同。這個私鑰是每個人自己才知道的,千萬不能告訴別人。如果讓別人知道了私鑰,無異於將銀行賬戶的密碼告訴了別人。

僅僅有了私鑰還不夠,想讓別人向你的錢包裡轉賬的話,你還需要一個用來進行轉賬的公開地址,專業術語叫做公鑰。公鑰就像是銀行卡的賬戶號碼。不同的是,銀行的賬戶是銀行隨機分配給用戶的,用戶拿到銀行卡之後,可以在ATM機上設置新的密碼。

比特幣錢包賬戶恰恰相反,首先是有了私鑰,然後根據私鑰再生成公鑰,而且生成公鑰的過程,用戶是參與不了的。

公鑰是如何產生的呢?這就涉及到了加密學的知識。為了更明白的解釋這個問題,我們岔個話題。

十七世紀,一位法國律師,同時也是一位業餘數學家和物理學家。他在閱讀一本拉丁文的數學書時,在書的空白處寫了一道命題。並宣稱找到了一種美妙的證明,可惜空白太小,寫不下。此後的三百年裡,無數聰明人都試圖證明這個定理,可惜都沒有成功。可能有人猜到了,這位學者叫做費馬,這個命題就是著名的費馬大定理 。

時間到了二十世紀末尾,費馬大定理終於被數學家懷爾斯證明了。而懷爾斯所用的數學工具之一就是橢圓曲線。而誕生於二十一世紀之初的比特幣和區塊鏈,恰恰是利用了基於橢圓曲線的加密算法,不得不讓人感嘆歷史事件的巧合。

言歸正傳,橢圓曲線加密算法有這麼一個特性,通過橢圓曲線乘法可以從私鑰計算得到公鑰,但這是一個不可逆的過程。也就是說,就算有人拿到了公鑰,他是無法反向算出對應的私鑰是什麼的。有了公鑰之後,你就可以很方便的將公鑰公佈出去,這樣別人就可以往你的錢包轉賬了。

用比特幣錢包的密碼和賬戶和我們日常使用的銀行卡的差異,剛才我們講過了。那比特幣的交易和我們平常的交易會有不同嗎?

我們知道,銀行卡的支付系統是基於賬戶模型的,每個人都有一個賬戶,交易就是在賬戶中做數字的加減法。為了保證賬戶餘額準確,就需要保存他過去的所有交易數據。所以,如果要算賬戶餘額,把之前所有的交易數據做加減法就能算出來了。

而比特幣不是基於賬戶模型,是引入了輸入和輸出的概念。

每筆比特幣交易有資金來源,專業術語稱為交易輸入。也有資金去向,專業術語稱為交易輸出。所有的資金來源都來自前面一個或者多個交易的輸出,就像接水管一樣,一個接一個,此出彼入,此入彼出,生生不息,錢就在交易之間流動起來了。也就是說,每一個比特幣我們都能通過交易輸出追溯到它的起源。

我們知道,通過銀行進行轉賬,如果銀行不收轉賬手續費,付款方付出的資金會和收款方收到的資金相等。和銀行賬戶類似,一筆比特幣的交易輸入的比特幣金額會小於交易輸出的比特幣金額,其差值為比特幣交易手續費。比特幣的輸出有一個特別之處,一旦一個輸出被創建出來,那麼這個輸出就只能一次性都花出去。

聽到這裡,就會有人問了,假如A有10個比特幣,但是隻想將1個比特幣轉給B,是不是就沒有辦法?當然不是了,在這筆交易中,比特幣錢包會自動創建兩個輸出,一個輸出是給收款人B轉1個比特幣,另一個輸出是給A自己轉9個比特幣,這裡忽略了交易手續費。如果下次再交易的話,A的交易就是9個比特幣的輸入了,而B的交易就會是1個比特幣的輸入。以此類推,這個過程就好比記賬一樣,每個賬目都有源頭和去處,保證了賬目的清晰和準確。

說個更直白的例子,比特幣的交易類似於現實世界中直接用支票進行交易。假如A寫給B一張100元的支票,其中A是輸入,B是輸出。當B需要給C付50元時,B不是去銀行兌現支票然後付款給C,而是直接寫兩張新的支票,一張50元給C,一張50元給自己,再將原來100元的支票作廢,即完成一次非基於賬戶模型的支付。

比特幣的這種賬戶模型被稱為UTXO模型,即只記錄未花費的比特幣輸出。採用這種模型的話,在驗證一筆交易是否有效時,效率要快很多。比如要驗證某人確實有10個沒有被花費掉的比特幣,只需要核查他在賬本上最近一次的交易記錄,而不需要從賬本建立之初的交易開始核查。

比特幣的私鑰和公鑰,以及比特幣的交易機制,保證了比特幣可以在不同人之間進行流通。

而為了存儲每筆交易的信息,比特幣在存儲方面又做了哪些工作呢?我將在下一期視頻中為大家詳解。

聲明:本文所發表資訊不代表本公司任何投資暗示,亦不構成任何投資意見或建議,圖片來源網絡,若存在侵權行為,請聯繫我們刪除。

(作者:貝數區塊鏈,內容來自鏈得得內容開放平臺“得得號”;本文僅代表作者觀點,不代表鏈得得官方立場)


分享到:


相關文章: