说一下帐号托管的问题。
1. 首先要分清几个和帐号相关的东西:account ID, account Name, owner key, active key
delegate (unlocked) >>> blockchain_get_account delegate.baozi
Name: delegate.baozi
Registered: 2014-07-23T11:55:10
Last Updated: 14 hours ago
Owner Key: BTSX6EVRgzdQqEX9vsPqAq5PpNotfxpagFeL8b1DF2KffvLm9VvxXM
Active Key History:
- BTSX6EVRgzdQqEX9vsPqAq5PpNotfxpagFeL8b1DF2KffvLm9VvxXM, last used 14 hours ago
ID NAME (* next in line) APPROVAL PRODUCED MISSED RELIABILITY PAY RATE PAY BALANCE LAST BLOCK
============================================================================================================================
9954 delegate.baozi 0.0298789802 % 0 0 N/A 100 % 0.00000 BTSX NONE
Account ID 和 Acount Name可以认为是绑定的,除非帐号过期了,重新注册一个名字会得到另一个不同的 Account ID。
owner key 是用来管理这个 account 的凭证,可以更新区块链中这个 account 的相关数据。
active key 是用来在 TITAN 中生成交易接收地址的,可以认为钱都是发到这个active key 相关地址的。初始 active key 和 owner key 是相同的。
2. 再说帐号数据的更新。想要更新帐号信息,需要相关权限,拥有帐号的 的 owner key 对应的私钥就是权限凭证。
如果本帐号是 sub account类型,父帐号的 owner key 私钥也有权限。
3. 最后说说delegate 托管是怎么回事,比如 baozi 想找 superlab 托管代表服务
1) baozi 注册一个子帐号 delegate.baozi
2) superlab 生成一个 key,把地址发给 baozi
3) baozi 把 delegate.baozi 的 active key 修改为 superlab 提供的地址。
4) 因为 superlab 拥有这个 active key ,所以就可以帮助 delegate.baozi 运行 delegate 服务。
5) 等到 baozi 觉得自己有能力独自运行这个服务,只需要再次更新 active key,改为自己控制就可以了。所有收到的投票是对应到 account ID,不会因为修改 active key 而失效。
另外还有其他一些好处。delegate 一般在 VPS 上运行,如果 active key 被泄漏出去,可以通过父帐号很方便的修改使用新的 key。