您在恒星上交易的资产异常珍贵,所以安全性很重要。接下来的指导方案可以帮助您与恒星集成时保护其安全。
恒星使用工业标准级的公钥加密工具和技术,这意味着代码被充分测试和易于理解。网络上的所有事务都是公开的,这意味着资金的流动总是可以审计。每个事务是由发送方使用 Ed25519 算法签发的,该算法从密码学上可以证明发送方被授权发起事务。
虽然所有事务都是公开的,但使用恒星代表客户进行汇兑资金的银行,可以通过在事务备忘录(memo)字段中使用加密或唯一标识符的方式,来保护有关收发资产的客户信息。这使银行能够满足法规遵从要求,并在保证保密信息安全的同时保持交易历史可验证。
保护账户的一个最简单方法就是将其私密种子(secret seed)离线保存——它可以位于没有联网的计算机上,也可能只是某人钱包里的一张纸。它可以在离线计算机上创建和签署事务,然后将其保存到 U 盘(或其它介质)并传输到具有联网权限的计算机上,该计算机将事务发送到 Horizon 服务器或 Stellar Core 实例。 如果将种子存储在纸上而不是计算机上,请使用不会保存种子的程序来创建和签署事务。
由于离线计算机没有网络连接,因此对于无法物理接触的人来说,得到账户的密钥非常困难。但是,这也使每个事务都成为一个非常依赖手动的过程。通常的做法是维护两个账户:一个安全保存大部分资产的离线账户和另一个只包含少量资产的在线账户。大多数事务可以使用在线账户执行,并且当资金较少时,可以从离线账户手动为其补充资金。
您可以将此方法比作银行金库和前台收银机。大部分时间金库总是关闭并锁定的。它只是偶尔(并在特定程序下)打开,为收银机补充资金或者保管资金。如果有人试图抢劫银行,他们最多也就只能拿走收银机里的资金。
通过要求来自多人的授权进行交易,可以保护敏感账户。阅读多重签名指南 以了解更多信息。
如果您需要多个签名人,还应确保对任意事务都不能要求所有签名人同时签名。否则如果有一个签名人丢失了他们账户密钥,您将无法再发起事务。
如果您发行自己的资产,通常应该确保可以使用账户上的“authorization revocable” 标识撤销它们。这样您就可以在发生盗窃或其它情况下,有效地将您的资产冻结在其他人的账户中。
恒星的核心协议将自身限定于作为资产汇兑的简单且可验证的手段。如果您是金融机构或正在进行大宗交易,您还应该执行 KYC 客户身份识别以及任何相关的监管合规性检查工作。 您可以在我们的合规协议指南中找到更多信息,或使用恒星桥接服务简化该过程。
由于恒星的安全性基于公钥加密技术,因此保护账户的私密种子(secret seed)至关重要。拿到种子的任何人都可以控制账户。但是,如果有人知道了您的账户种子或您不小心泄漏给外人,您可以通过以下步骤移除该种子对账户的控制权限:
set options
操作)。重要的是要了解使用多重签名的账户,其账户需要能够移除泄漏的密钥。您设置签名权重应该始终保持谨慎,以便实现以下目标——对于任意事务都不能要求所有签名人同时签名。
每个节点都会保留一个历史存档,因此您始终可以获取丰富可靠的历史记录。受问题影响的各方可以检查所有历史细节,并在问题修复时就修复方法达成一致。
限制对 Stellar Core 的访问权限通常是个好主意。 确保只打开与 Horizon 及公有网络上的其它 Stellar Core 实例通信所需的端口。访问 Stellar Core 的数据库也应受到高度限制。
通过与最新版本保持同步,确保您使用最安全的软件。Stellar.org 使用邮件列表发布发布公告,您可以在 https://www.freelists.org/list/sdf-releases 订阅该列表。