不懂程式,也能理解的區塊鏈錢包技術原理(一)角色與功能

如果你跟我一樣不懂程式,但對於區塊鏈錢包軟體背後的技術與原理,很感興趣,歡迎閱讀 😃

Eric Liou
4 min readDec 4, 2019

你好!新手上路,有錯還請指正。

Image by Jan Vašek from Pixabay

誰適合閱讀這系列文章?

本系列文章會分成三小篇,從錢包軟體的用途、功能範圍開始,至三個錢包技術原理,無任何程式碼,以及複雜的技術,或是詳細的運算函式解說,整體以有邏輯與架構的方式說明,希望給不懂程式技術的讀者,有個易讀的內容。

(一)角色與功能
(二)創建地址&數位簽章
(三)HD Wallet

若讀者尚未了解區塊鏈一些基礎知識,例如:地址、私鑰與助記詞,可以參考我的文章「看完頓然開悟了!區塊鏈錢包使用指南(一)基礎入門知識」。

錢包軟體的技術範疇

一般在談錢包軟體的技術範疇時,會由三個部分所構成。

⦿ 區塊鏈技術(私鑰、公鑰與地址的生成)
⦿ 錢包本身技術(助記詞、HD Wallet)
⦿ 接入網路技術(Http、RPC)

以技術角度來說,上述是很棒的切分,但若直接介紹技術,可能讀者在理解上會有些生硬,於是我將會從錢包的角色與功能切入,帶大家認識其背後有趣的技術。

錢包軟體的角色

我先以一張圖來表示錢包軟體運作所牽涉的範圍。

本人手工製,引用請註明出處。

錢包軟體的角色,可以比喻成連上區塊鏈網路的瀏覽器,是我們與區塊鏈網路 P2P Network 的中間橋樑,我們透過錢包連線上區塊鏈網路,讀取鏈上的資訊,也可發出使用資產的指令。

也可以想像它是一個傳譯員,將我們想要指令訊息,翻譯傳送給區塊鏈網路,以及接收與顯示網路傳回的訊息,例如:

  • 傳送:我要轉500顆以太幣給A帳戶
  • 傳送:我要發行一千萬顆的房地產代幣(智能合約)
  • 傳送:我要部署一個應用程式(Dapp)
  • 顯示:轉帳成功/失敗等。

錢包軟體的功能

本人手工製,引用請註明出處。

創建私鑰、地址

使用者想與某區塊鏈網路互動(比特幣、以太坊)就必須有地址與私鑰,於是錢包軟體一開始要協助使用者創建私鑰,並依照該區塊鏈的地址協議與定義,推算出地址給使用者使用。

傳遞訊息

錢包要傳送的訊息,可能價值很高,例如:轉出500顆以太幣(市值280萬)、發行房地產代幣(擔保品市值3000萬),發布應用程式的程式碼(百人工程團隊花費三年打造)等,所以傳遞訊息的可靠性與安全性,相當重要。

接入網絡

接入網絡的技術(Http、RPC),跟過往做法沒什麼差異,所以本系列文章不會探討,讀者可另行查詢相關資料。

管理私鑰

私鑰是使用區塊鏈上資產的關鍵,於是如何妥善的進行私鑰備份與分類使用,會直接影響到錢包服務的多元性與易用性。

本篇就到這邊,下兩篇會針對上述❶❷❹功能,說明其背後的技術原理或解決方案。

感謝閱讀,有任何問題,歡迎指教!

下一篇,會談錢包軟體如何創建私鑰與傳遞訊息。

不懂程式,也能理解的區塊鏈錢包技術原理(二)創建地址&數位簽章

拍手(claps)按鈕示範

如果喜歡這篇文章,可以透過拍手👏給我鼓勵一下。
*拍手按鈕可以點擊 1–50 次
*長按按鈕會自動增加次數。

歡迎至下方拍手鼓勵,謝謝大家 😄

--

--

Eric Liou

深深著迷於區塊鏈的思維,以相對白話,但不失完整性的方式,讓大家認識區塊鏈。