pixabay
昨天,我又學到一個新知識,讓我感到很新奇,原來,我長久以來的認知是錯誤的。
我雖不是技術人,但起碼一些技術概念跟名詞都算懂的了,所以,這次的學習,讓我很受用,所以也跟大家分享一下。
那就是,關於在區塊鏈上”開帳戶”這件事的基本認知。
首先說明一下,以下談的是指以太鏈,或是與以太鏈一樣規格的鏈。其他的鏈是否如此,則不知道。這是因為我請教的朋友是在以太系上作開發工作的,其他鏈他不清楚。
好,你我都知道,要在區塊鏈上轉帳操作等,都必須以一個”帳戶”為基本發起點。而一個帳戶,大致而言,就是一組公私鑰構成的:公鑰就是帳戶名稱,私鑰則是自己保管好。(大致而言的意思是,公私鑰都可能經過一些簡單處理,讓格式更方便使用,但本質上是這樣沒錯)
說到這裡,大概大家混到這裡來,多半都是知道的,我也不例外。
然而,我一直認為,『開戶』這樣的動作,跟傳統Google啦,其他網站啦等等,讓你開戶,是類似的動作:亦即,你產生一個帳戶名稱,網站到既有帳戶資料庫去比對後,如果還沒被使用,則讓你開戶成功。
而我所認為的區塊鏈帳戶,則是類似邏輯:你用錢包生成一組公私鑰,上傳區塊鏈,礦工們比對區塊鏈賬本,如果此一帳戶尚未被使用,則你可以開始使用。也就是開戶成功。
昨天我才知道,我這個想法是錯的。
原來,並沒有比對既存帳戶的概念。
也就是說,其實也可以說,並沒有開戶這個概念。你使用錢包,錢包內建了此鏈所採用的橢圓曲線模型,任意生成一組公私鑰,則你就可以開始使用此一”帳戶”了。這一切都可以離線完成,要開始使用就直接上線即可。甚至,所有以太系的鏈上,包括測試鏈或是私鏈等,都可以直接採用同一組公私鑰帳戶!
太神奇了!不比對既有的,那怎麼知道不會跟別人重覆?
答案是:由於公私鑰組合”碰撞”的機率,幾乎等於零,所以不需要檢查。可以直接使用。
甚至,我自己推論的:你轉帳到任意一個你任意虛構的以太地址,都可以轉帳成功(不需要先有人去”開戶”)。只是問題會是,世界上沒有人知道那一組帳戶的私鑰,等於丟掉了一樣,但你還是看得到它在那帳戶內。
到現在都我還是覺得很神奇跟不易理解:就像是宇宙浩瀚,你任意選擇一空間點,撞上一顆星球的機率應該也幾乎為零… 但你知道有星球,有很多很多星球存在,你還是會擔心碰上去。只是數學會告訴你,不用擔心,其數量級遠遠遠遠不到。
儘管,我還是充滿疑惑:如果以後用到物聯網世界,好多人用,每個人好多裝置,裝置可能更換,這樣要用上一百年等等,這些帳戶數量不也很驚人嗎?那不會出問題嗎?
似乎,答案就是:機率極低,請安心使用。
阿彌陀佛~~ 學海無涯,虛心學習~~~~
註:其他鏈,至少例如Steem鏈的帳戶,顯然就不是這樣了。因為我們的帳戶是採用自然文本,對應的公私鑰會經過處理,細節可以參考O哥以前的技術帖。所以,搶佔戶名,在以太上,是沒有意義的事情。
This page is synchronized from the post: ‘[學習筆記] 區塊鏈的”帳戶”‘