Namecoin

為什麼 namecoin 有多餘的 name_firstupdate 步驟?

  • January 31, 2018

我正在嘗試了解 namecoin 協議。正如可以在namecoin 文件中看到的那樣,為了註冊一個域,您需要執行以下步驟:

  1. 執行命令name_new,這會預購一個域名。
  2. 執行命令name_firstupdate,這將完成註冊,名稱變為公開。

為什麼存在第二個冗餘步驟?合併這兩個命令,讓使用者在註冊時直接更新域來完成註冊不是更有意義name_new嗎?

原因是為了防止搶先:當受害者註冊abc.com,時,攻擊者可能會注意到 TXN 以及name_new abc.comNamecoin 的 P2P 網路上的請求。然後,他可能會發出相同的請求,但收取更高的 TXN 費用,並從試圖註冊的受害者那裡“竊取”域。

解決方案很簡單:

  1. name_new abc.com與其發送顯示域的請求,不如發送一個送出到域而不顯示域的name_new SHA256(r, 'abc.com')請求。這樣,攻擊者就無法了解正在註冊的域。
  2. 稍後使用顯示域的name_firstupdate r, abc.com請求顯示域,防止人們竊取它。至此,攻擊者無能為力,因為abc.com已經使用name_new請求分配了所有權。

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