集成地址非常适合以自动化的方式接受门罗币,类似于在线商店和交易所。
在集成地址嵌入一个支付 ID。 这可以让你了解你所得到的报酬。
请注意,这些是门罗币技术支付 ID,不能与商业标识符,如订单号或发票号码混淆。
发送到集成地址的交易不会公开显示支付 ID。 交易中的支付 ID 将使用共享秘密(只有发送方和接收方知道的一次性随机密钥)进行加密。 只有收件人才能将交易与付款 ID 进行匹配。
门罗币的集成地址废弃了以前在交易的额外字段(其中没有加密)中使用32字节支付 ID 的做法。 数据结构(src) :
Index 索引 | Size in bytes 字节数 | Description 描述 |
---|---|---|
0 | 1 | 定义网络和地址类型; 19 - main chain; 54 - test chain |
1 | 32 | public spend key |
33 | 32 | public view key |
65 | 8 | 紧凑付款ID(compact payment ID) - 由接收方随机生成的8个字节; 请注意,它不需要在地址本身加密,但它隐藏在支付到集成地址的交易中,以防止外部观察者将付款与地址相关联 |
73 | 4 | 校验和(前73字节的Keccak-f [1600]哈希值,缩减为前4个字节) |
它总共是77个字节。 然后将字节以门罗币特有的 Base58格式进行编码(src) ,生成106个字符长的字符串。 集成地址示例:
4ll9oslmtpccfuftmvppy6jwxnoumbzblyfpav5usx3skxngyeytrj5uqqtreos44qo9mtmqy45dj852k5jv2byxzkkqephes9khpk
集成地址与子地址
这两种类型都可以让你了解你所得到的报酬。
个人应该更喜欢子地址来接收付款**。 这是为了在某些情况下改善隐私。
详情请参阅有关子地址的文章。
以自动化方式接受付款的企业应该倾向于使用集成地址**。 理由如下:
- 子地址改善隐私的场景不适用于企业 b / c 企业随着时间的推移拥有相同的身份。 因此,子地址并不优于集成地址。 *
- 生成集成地址不需要私钥。 这提供了强大的安全优势,因为生成集成地址的服务不需要访问钱包。 相比之下,要生成子地址,需要一个私有视图密钥(private view key)。 *
- 生成集成地址不需要共享计数器。这允许各个服务独立地生成集成地址,而不需要在公共序列上同步。 相反,子地址是按顺序生成的,因此序列(计数器或索引)是钱包和所有需要生成地址的服务之间的耦合点。 回到集成地址,请注意嵌入的支付 id 是64位的。 这意味着空间足够大,人们可以简单地随机生成它们,并可靠地呈现它们的唯一性。 *
- 在非常特定的情况下,监视大量子地址的准备工作可能会成为一个问题。 如果想了解更多细节,请看这个 reddit 帖子。 *
警告
这里有一些警告:
- 单个事务不能支付给多个集成地址。 *
- 作为个人经营钱包,你通常应该更喜欢子地址。但是,如果您碰巧使用集成地址,则应允许门罗币软件为您生成集成地址(而不是强制使用您自己的付款ID)。 *
参考
- 关于StackExchange的问题(question on StackExchange )
本章内容由 xie 翻译制作,欢迎打赏作者。 xie 的门罗币钱包地址 为:
44EEzgAEWX56TtBrtphumDE9T9jLbgkd49eVUG2KPr843ejuTt4gMN74NySTs8WT9JXCHPqudjLVhYWUqL5rh72E4HbPqnS