Wallet

將錢包限制為將資金發送到地址列表

  • November 14, 2014

想像一個場景。有 3 方:甲方、乙方和調解方 C。A 和 B 將每個 1 BTC 轉移到 C 擁有的新創建的錢包 W。C 的功能是將整個 2 BTC 分配給 A 或 B在某些情況下(想想打賭)。現在想像一下 C 被攻破了,它的私鑰被黑客竊取了。黑客現在可以將 2 BTC 發送到他想要的任何地址。是否可以將錢包 W 限制為僅向 A 或 B 發送資金?因此,即使它被洩露,黑客也只能向 A 或 B 發送資金,而不能向任何任意地址發送資金。

絕對地。

  1. 中介者 C 創建一個地址。
  2. 投注支付完成後,C 創建兩個交易。一個支付給 A,另一個支付給 B。他*對這兩筆交易保密。*然後,他銷毀該地址的私鑰。
  3. 根據誰獲勝,調解員會發布其中一項交易。

攻擊者不能將比特幣發送給自己,但他可以選擇誰贏了賭注,或者銷毀這兩項交易。

缺點

如果在 C 銷毀私鑰後向 C 的地址支付額外費用,這些比特幣就會失去。這可以通過將地址設置為 1-of-2 多重簽名帳戶來緩解,其中一個密鑰是服務運營商持有的離線密鑰。

該服務在發布地址和創建和簽署交易之間存在漏洞。在看到傳入交易之前,您也無法在第二步中創建交易,因為它們將取決於您嘗試花費的 txid。

引用自:https://bitcoin.stackexchange.com/questions/32513