Exchanges

ShapeShift 等服務如何生成新地址

  • November 29, 2018

我發現 ShapeShift 會為每筆交易生成新地址。他們是怎麼做到的?是否可以以與 ShapeShift 相同的方式交換硬幣,但無需創建新地址?

這稱為分層確定性密鑰派生。

新的公鑰,以及擴展的比特幣地址,可以從一組父公鑰中生成。這樣一來,Shape-shift 的前端永遠不需要與“熱錢包”通信,並且可以為每個使用者交易生成一組新的地址。

為了從這些地址中消費,Shapeshift 只需從其父私鑰派生出相應的私鑰(伺服器端)。

子私鑰和公鑰可以並行派生(前端/後端),在它們之間保持防火牆。

高畫質錢包簡介

有關 HD 密鑰派生工作的詳細資訊,請查看我最近在 Scaling Bitcoin 上的演講:https ://youtu.be/OVvue2dXkJo 幻燈片:https ://teachbitcoin.github.io/wallets.html#/5

我不知道 shapeshift 是如何實施他們的解決方案的,也許這家公司的開發人員閱讀了這個論壇並可以提供答案。

對於網頁上的不同地址,一般有兩種方法:

1.) 後台執行一個比特幣核心節點(或任何其他適合他們需要的錢包軟體),每次使用者訪問該網頁時,伺服器都會向該節點詢問“getnewaddress”,並將其顯示給瀏覽器。然後在他們的後台應用程序中可能會有一些邏輯,將值轉換/移動到正確的“其他鏈”。

2.)高畫質鍵的使用。HD 密鑰帶有 xpriv 和 xpub,它們可以從單個 privkey 生成一組 2^31 個密鑰。這樣做有一個小問題,這些 HD 密鑰不能輕易分發給客戶,因為它們是從單個私鑰派生的。但是對於變形服務來說,這綽綽有餘,因為他們使用“一次性”地址……

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