DFINITY | 用於網際網路計算機的分類帳和治理工具包Quill

買賣虛擬貨幣

為了支援自託管選項來管理網際網路計算機的 ICP 實用程式通證,DFINITY 基金會研發團隊宣佈開源版本 Quill。

Quill 被定位為分類帳和治理工具包,可最大限度地提高管理錢包的安全性和便利性,提供一種簡單的方法來在離線計算機上為網際網路計算機的分類帳和治理容器建立簽名訊息。

這些訊息必須傳輸到線上機器併傳送到網際網路計算機才能生效。

動機

在持有通證時,使用者通常會遇到過多的應用程式,大致可以分為以下幾類:

中心化錢包服務

熱錢包(連線到網際網路的裝置上的應用程式)

冷錢包(離線或“不觸網”裝置上的應用程式)

與所有事情一樣,選擇上述選項之一歸結為便利性和安全性之間的權衡。

在中心化服務上持有通證非常方便且使用者友好,但您為此付出的代價是您失去了對屬於您資產所在地址的私鑰的控制。

使用所謂的熱錢包可以讓您完全控制您的私鑰,流行的熱錢包是智慧手機應用程式、桌面應用程式或瀏覽器擴充套件程式。您可以透過將您的金鑰載入到應用程式中來操作它們,然後應用程式就可以代表您控制您的資產。

但是,您的私鑰暴露給連線到網際網路的應用程式這一事實跨越了一個嚴重的攻擊面,不幸的是,該攻擊面在過去已被多次利用。

例如,使用者可能會被誘騙下載冒名頂替的熱錢包應用程式,或者合法應用程式可能會因注入惡意依賴項而受到損害,從而劫持金鑰並從您的帳戶中竊取所有資金。

冷錢包選項涉及使用完全與網際網路斷開連線的裝置,這怎麼可能?這就是“加密貨幣”的“加密”字首發揮作用的地方。區塊鏈在加密協議上執行,該協議由可加密驗證的訊息驅動。

也就是說,如果您可以在離線計算機上製作這樣的訊息,那麼您可以簡單地將其傳輸到您的線上計算機上並廣播到區塊鏈,無論它是如何以及在何處製作的,區塊鏈都會接受它。

在這種情況下,如果您的私鑰僅暴露給離線計算機,並且這臺計算機永遠處於離線狀態,那麼您的金鑰可能受到威脅的攻擊面就會小得多。

重要的是要注意,還有其他方法可以利用此設定,例如已被攻陷的軟體安裝在離線計算機上。

例如,離線計算機上的惡意程式可能會在交易被簽名之前更改交易內容,因此維護離線計算機的安全性至關重要。

可以說,所有這三種不同的方法都提供了更高階別的安全性以及更低的便利性級別。

為了解決這種缺乏便利性的問題,DFINITY 基金會一直在積極開發 Quill,以最大限度地提高使用者的易用性,同時確保您的冷錢包的安全性達到最高水平。

Quill

Quill 為自我監管提供了分類賬和治理工具包。如前所述,它為使用自我監管的持有者提供了一種簡單的方法,可以在離線計算機上為網際網路計算機的分類帳和治理容器建立簽名訊息。

這些訊息必須傳輸到線上機器併傳送到網際網路計算機才能執行。

Quill 有很好的文件記錄,您可以透過呼叫以下 help 命令開始探索其 API:

要獲得每個 Quill 命令的幫助,只需附加命令名稱:

幾乎所有操作所需的主要引數是您的金鑰的路徑,Quill 目前僅支援 PEM 格式的金鑰。根據維基百科:

隱私增強郵件(PEM)是一種基於 1993 年定義“隱私增強郵件”的 IETF 標準集,用於儲存和傳送加密金鑰、證書和其他資料的事實上的檔案格式。

大多數成熟的工具都支援 PEM 格式的私鑰序列化,您還可以使用 DFINITY 的 keysmith 工具從您的 BIP39 種子短語生成 PEM 檔案,您也可以使用 keysmith 或使用您選擇的任何其他工具生成該檔案。

當您生成 PEM 檔案時,您可以使用它來顯示相應的委託人 ID 和帳號,您可以使用它們來接收 ICP 令牌轉移:

要簽署轉移到某人的帳戶,只需執行:

這將生成一條包含兩條簽名訊息的訊息,分別是實際的轉賬交易和請求狀態查詢:

為了獲得最大的安全性,重要的是要注意,您必須在將簽名交易傳輸到線上計算機之前驗證其內容,以排除對原始輸入的任何有害危害(例如交換目標地址)。

理想情況下,您應該使用由與簽名工具不同的受信任方開發的工具。但是如果你自己編譯 Quill 並事先檢查原始碼,你可以使用 Quill 來顯示已驗證交易的內容。

為此,您可以在離線計算機上使用 send 帶有--dry-run 選項的命令(這很好,因為我們不會在試執行模式下將其傳送到任何地方):

確認交易無誤後,您現在可以將此訊息傳輸到線上計算機,將其儲存為檔案,並在線上計算機上使用 Quill 將其廣播到網際網路計算機:

上面發生的事情是,Quill 首先要求明確確認,然後將交易提交給網際網路計算機,然後輪詢交易狀態。

請注意,在上面的示例中,我們使用了一個不包含 ICP 令牌的測試帳戶,因此網際網路計算機返回了相應的錯誤。

同樣的方法適用於所有治理命令,例如,要將您的 ICP 通證抵押到新的或現有的神經元,請使用以下命令:

我們在抵押或充值時使用 8 個字元長的 ASCII 名稱來識別神經元的原因是現有治理 API 的結果,超出了本文的範圍。

在任何情況下,成功執行上述命令都會返回神經元 id,該 id 需要用於後續的神經元配置。此外,目前建議您為神經元命名並寫下來。

可以輕鬆恢復神經元的名稱 -這只是用作交易的備忘錄,將質押的 ICP 通證轉移到治理子賬戶 - 但這是未來的工作,將在稍後解決。

對於神經元配置,您可以使用以下 neuron-stake 命令:

因此,推薦的工作流程是:

1. 使用 neuron-stake 命令將您的 ICP 通證抵押給神經元。

2. 使用 neuron-manage 命令和 --additional-dissolve-delay-seconds 選項指定溶解延遲。

3. 使用 neuron-manage 命令和 --start-dissolving 選項開始溶解神經元(如果需要)。

4. 使用 neuron-manage 命令和 --add-hot-key 選項將您的網際網路身份的主體 ID 新增為熱鍵。

此工作流程將允許您從冷錢包建立神經元,同時使您能夠使用 NNS dapp 檢視有關您的神經元的所有詳細資訊,例如質押數量、成熟度、投票歷史,甚至進行一些基本控制,例如配置追隨者。

請注意,在第四步中,您應該使用與您的網際網路身份相對應的主體 ID,該 ID 顯示在 NNS dapp 的 UI 中的“神經元”選項卡上。

對於希望採用技術含量較低的方式進行託管和神經元抵押的使用者,第三方通證託管服務也將很快支援網際網路計算機神經元操作。

- END-

作者:,來源:IPFSUnion星際聯盟

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读