位元幣賬戶身份解析 怎樣證明你媽是你媽?

2021-09-23 00:11:32 字數 2311 閱讀 6764

位元幣**已經漲的那麼高了,位元幣系統的資金安全已經成為很多人關心的乙個問題。通常資金安全包括兩個方面:賬戶安全和賬戶內的資金安全。第一條是怎麼確認這個賬戶是我的,第二條是怎麼確保賬戶裡面的錢不會被人輕易轉走。

舉個例子,alice想要轉賬給bob 10美元,在傳統的金融系統中,alice要做兩件事:首先,alice需要證明這個賬戶確實是alice的;其次,alice要證明這個賬戶她是有操作許可權的。在證明第一件事情上,傳統金融系統通常是利用實體機構,依靠證件,確保人證合一來證明使用者身份的。在證明了alice對賬戶有控制權後,alice通過密碼、數字證書、u盾、令牌等技術,對賬戶進行操作。

傳統金融系統中,使用的資訊科技有乙個最重要的特點:

賬戶位址(賬號)和密碼(或者數字證書、令牌種子等)的對應關係是依靠資料庫的**儲存這個對應關係來實現的,兩者之間(賬號和密碼)並沒有數學上的關係。

正是由於這個特點,在傳統金融系統中,賬號可以隨意編制,只要不重複就行;不同的賬號可以使用相同的密碼,只要使用者記得住就行;使用者忘了密碼,可以拿著自己的證件去營業廳重置密碼。這些已經成為我們對金融系統認知中最理所應當的事情了。

然而區塊鏈系統,尤其是像位元幣這種純粹的去中心化區塊鏈系統,這種方式是不行的。首先,並沒有乙個實體機構能夠給使用者頒發位元幣的賬號,讓使用者去設定密碼。因為位元幣是去中心化的,原則上沒有任何個人或者機構能夠控制這個系統。那麼,位元幣該怎樣去實現帳號和身份的對應關係呢?

在位元幣系統中,「賬戶是誰的」和「怎樣控制賬戶」這兩條是同乙個問題。只要你能控制這個賬戶,那麼就說明這個賬戶是你的。反正位元幣也沒辦法去校驗使用者在現實世界中的身份,因此,只要你能證明自己可以控制這個賬戶,那麼這個賬戶就是你的。這一點,就是人們通常所說的位元幣的匿名性。位元幣區塊鏈系統的設計中,不需要儲存任何和身份相關的資訊。

回顧一下之前我們講過的內容,位元幣是一種記錄交易的方式,位元幣使用uxto模式來記錄所有的賬目。alice轉賬給了bob 10個位元幣,在位元幣系統中這條記錄是這樣子的:

整個位元幣區塊鏈上儲存的都是這樣的一條一條的交易,不需要儲存賬號和密碼對應關係的**。在位元幣系統中,賬號和密碼(在位元幣術語中,我們稱之為位址和私鑰)是通過數學演算法嚴格的一一對應的。

這種方式除了具有節約儲存的好處外,還避免了設定乙個賬號管理中心來負責發放賬號。在位元幣系統中,賬號和密碼都是計算出來的,每個人都可以按照這個規則,利用隨機數計算任意個屬於自己的賬號和密碼出來,而並不需要去任何地方申請賬戶。

並且,通過密碼可以計算出賬號來,但是反之則不行,只知道賬號是無法計算出密碼的。同時賬號和身份之間沒有對應關係,持有密碼就可以直接操作賬戶。密碼不是自己設定的,而是通過演算法計算出來的。因此,在位元幣系統中,密碼管理對普通使用者來說,是乙個難題。

在位元幣區塊上,好像就是乙個個保險信箱(錢可以從外面塞進去,但是要取出來必須有鑰匙才行)放在那裡。交易的時候,交易的發起者alice首先掏出一把鑰匙,開啟其中乙個她自己的保險箱,取出裡面的錢,然後塞到bob指定的乙個保險箱裡,這個交易就算完成了。

任何人都可以搞乙個保險箱放在那裡,等待有人給你塞錢進來。如果bob的鑰匙丟了,任何人拿到bob的鑰匙,都可以把錢取走,並且不會有任何人會對這種損失負責。因為位元幣是乙個沒有中心的賬本,沒有任何人能夠控制它,也就沒有任何人能對它負責。

為了安全起見,每乙個保險信箱在被開啟過之後,使用者通常會被拋棄掉它,轉而啟用新的保險信箱。alice需要轉賬給bob 10位元幣,但是alice自己的乙個賬戶裡原本有12.5個位元幣,那麼通常alice會這樣發起這樣的交易:

把餘額轉入自己的乙個新位址,而原本的位址就不再使用。這種方式並不是位元幣系統強制的,只是大家一般都這麼做:一旦要花乙個賬戶裡面的錢,就把它全拿出來,剩餘的錢轉到新的賬戶裡。

實際上,位元幣系統除了這種比較簡單的轉賬方式外,還有一些比較高階的轉賬方式。在以後的文章中,我將會講到位元幣的交易指令碼到底是怎樣工作的。

區塊鏈 位元幣的賬戶模型 UTXO

在位元幣中,是不存在乙個中心化的機構對位元幣的交易進行結算清算的,自然也就沒有中心化的資料庫對使用者的賬戶進行管理。事實上,在位元幣系統中是沒有賬戶這個概念的,取而代之的是utxo unspent transaction output 即未消費的交易輸出。這是中本聰的乙個極其天才的設計。通過utxo...

位元幣原始碼解析 RPC詳解

在這裡,我們暫時先拋開bitcoin 僅僅來談rpc,提到rpc大家肯定首先會想到遠端過程服務呼叫,既然是呼叫,那就肯定存在乙個client端和乙個server端,clent端與server端通過rpc這個黑盒通過http請求進行互動,那麼就有乙個問題,我自定義的json格式的字串 這裡拿json來...

位元幣網路中3種不同身份的節點

乙個完整的區塊鏈網路中包含許許多多的節點,理論上每乙個節點都可以是乙個完整功能的節點,具備礦工 交易 驗證等功能 但是在實際使用中人們可以根據實際情況需要和條件限制來決定乙個節點主要扮演怎樣的角色,根據實際承擔的功能不同可以把節點劃分為3類 這類節點一般執行在算力強大的硬體之上,唯一的目的就是快速的...