簡體   English   中英

如何用區塊鏈進行文件的數字簽名?

[英]How to make digital signature of documents with blockchain?

我的目標是創建一個網站,要求用戶登錄,上傳文件並使用區塊鏈單點或多點標志簽名 ,就像signaturablocksign一樣

我已經看過這兩個網站,並且對它們如何工作有一點了解。 但這是我沒有得到的技術圖片。

所以作為一個中級python開發,我有一些問題。 請回答。

  1. 如果各方成功簽署(技術上),則在下載之前將文檔上傳到我的網站之后的整體流程。

  2. 如何生成私鑰和公鑰以及是否將它們與用戶信息一起存儲?

  3. 如何與區塊鏈api進行交互。 我已經通過api,但沒有任何意義。

Blockchain上的文檔存儲可能會影響其性能,因此從可伸縮性的角度來看並不總是這樣。 因此,最好將文檔存儲在分散的分布式文件系統(如IPFS(行星際文件系統))中,然后將引用傳遞給像以太坊這樣的區塊鏈平台。 在以太坊中,您可以設計和開發具有授權證明類型的一致性算法的多重簽名錢包,並調用一系列智能合約,這些合同可以幫助您以安全和可擴展的方式創作,編輯,版本,發布,存檔和過期文檔方式。 希望能幫助到你。 如果您需要有關此方法的任何進一步詳情,請與我們聯系。

Phew,你為區塊鏈的新人設定了一個艱難的目標。 不過,這是非常可行的。 我將不按順序回答你的問題,因為這就是代碼的流程。

如何生成私鑰和公鑰以及是否將它們與用戶信息一起存儲?

您不應該生成私鑰。 至少,如有必要,使用客戶端代碼生成它們。 至於存儲,你也不應該存儲它們。 讓用戶將它們存儲在客戶端,最好是在具有Metamask的API的專用錢包中。

不幸的是,你的帖子意味着你的意思是比特幣區塊鏈,我不知道任何類似的比特幣API錢包...如果你必須使用最安全的存儲和加密,但不管你做什么,都不要發送私人服務器的密鑰。

如果各方成功簽署(技術上),則在下載之前將文檔上傳到我的網站之后的整體流程。

好的,讓我們按照一步一步的示例文檔簽名。

  1. 將文檔上傳到您的網站。
  2. B簽署他的私鑰文件。
  3. B將簽名文檔上傳到您的網站。
  4. 您的網站哈希簽名文件。
  5. 您的網站使用簽名文檔哈希作為元數據廣播事務。

現在讓我們說A想要驗證B簽署了該文件。

  1. A下載B簽署的文檔副本。
  2. 對已簽名文檔進行哈希處理,並將其與您提供的哈希值進行比較。
  3. A檢查區塊鏈以查找包含文檔哈希的事務。

如果所有三個步驟都成功,A現在可以確定B在事務被包含在塊中的時間周圍簽署了文檔。

如何與區塊鏈api進行交互。 我已經通過api,但沒有任何意義。

正常的blockchain.com API不適合此用例。 您對事務內容沒有足夠的控制,這是嵌入文檔哈希所需要的。

我建議您使用像python-bitcoinlibbitcoinlib-js這樣的庫來創建事務,並使用RPC到節點,與區塊鏈進行交互。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM