Proof-of-Solvency
創建我自己的儲備證明腳本
我最近遇到了一個話題,交易所必須不斷提供償付能力證明,以證明他們為客戶持有足夠的比特幣。然而,我對交易所提供儲備證明的方式很感興趣。我試圖建構一個腳本來使用無效輸入方案生成儲備證明,以證明節點持有的比特幣儲備。有沒有我可以參考的資源?我一直在努力尋找。任何幫助將不勝感激。
由於一些原因,通過無效輸入的儲備證明不一定可以通過正常方式建構。
- 證明你在單個 tx 中擁有所有 utxos 可能會導致 tx 太大 - 雖然這不是證明的問題,但任何理智的錢包都會拒絕建構這樣的 tx
- 根據定義,使用無效輸入需要您簽署無效的交易 - 任何理智的錢包也將不允許這樣做。
- 在瑣碎的情況下,通過無效輸入的證明是不必要的 - 如果您的所有硬幣都位於 p2pkh 地址或簡單的多重簽名地址中,則使用所有相關密鑰(以及適當的兌換腳本)簽名的單個簽名消息就足夠了。
也就是說,如果你真的想使用無效輸入的儲備證明,你可以建構一個消耗所有輸入的原始交易,添加一個無效輸入(一個不存在或已經被花費的 utxo),並且然後使用任何比特幣簽名工具或庫對其進行簽名 - 任何支持離線簽名的工具在簽名時都應該沒有問題(儘管如果生成的 tx 太大,您仍然可能會遇到驗證問題)。