概述
恒星(Stellar)是一个开放的去中心化支付网络,旨在实现快速、低成本的跨境资产转移与发行。其原生资产为流明(Lumens,简称XLM),网络采用账户模型而非UTXO模型,具备现代银行业的部分特性。本文将系统介绍恒星网络的核心概念,包括地址格式、账户激活机制、XLM的作用、资产发行规则、事务模型以及开发工具。
恒星地址与账户激活
地址格式
恒星地址采用 ED25519算法 生成公私钥对,并将公钥(Public Key)经过 Base32编码 处理,形成56位长度的字符串。该编码遵循 StrKey 规范,取值范围为[A-Z]和[2-7],不区分大小写(通常统一为大写)。地址以字母“G”开头,私钥则以“S”开头。
账户激活机制
与比特币UTXO模型不同,恒星采用账户模型,新生成的地址需经过“激活”才能使用。激活过程类似于银行开户:需通过 createAccount 操作向该地址发送至少1个XLM,从而在恒星网络的PostgreSQL数据库中创建账户记录。未激活的地址无法进行任何交易或资产操作。
原生资产XLM与账户冻结机制
XLM简介
恒星网络的原生资产称为流明(Lumens),ISO 4217代码为XLM。每个激活的账户至少持有1个XLM。
冻结规则
恒星网络通过冻结XLM机制管理资源占用:
- 每个账户在数据库中占用记录时,需冻结0.5个XLM(视为押金);
- 当记录被删除(如账户合并或资产撤销)时,冻结的XLM将被释放;
- 若账户余额不足,可能导致操作失败(如资产授信、挂单交易或数据记录)。
常见触发冻结的操作包括:
- 授信资产(Trust)
- 挂单交易(Offer)
- 数据管理(ManageData)
资产发行与锚定机制
资产唯一性
恒星支持用户自定义资产发行,资产由资产代码(Code) 和发行方地址(Issuer) 唯一确定:
- 资产代码:长度为1–12位的字母数字串(如“XFF”),区分大小写;
- 发行方:必须是已激活的恒星地址(以“G”开头)。
资产类型与锚点
资产可分为两类:
- 内生资产:完全在恒星网络上发行和流通的资产(如示例中的XFF);
- 锚定资产:与外部资产(如法币、加密货币)挂钩的资产,由锚点(Anchor)机构提供兑付保障。
每授信一种资产类型,账户需额外冻结0.5个XLM。
事务(Transaction)与操作(Operation)
事务原子性
恒星事务(Transaction)类似于数据库事务,具备原子性:
- 一个事务可包含最多100个操作(Operation);
- 操作类型包括:创建账户(CreateAccount)、支付(Payment)、挂单(Offer)等;
- 若事务中任一操作失败(如支付金额超限),整个事务将回滚,确保状态一致性。
操作组合
通过组合多个操作,可实现复杂业务逻辑,例如:
- 跨资产兑换
- 批量支付
- 条件触发交易
开发工具与生态资源
多语言SDK
恒星提供多种语言的软件开发工具包(SDK),方便开发者集成:
SDK支持功能包括:签名验证、余额查询、支付执行等。
区块浏览器
常用恒星区块浏览器:
常见问题
1. 恒星地址与比特币地址有何区别?
恒星地址基于ED25519算法生成,采用Base32编码并以“G”开头;比特币地址多使用Base58编码。此外,恒星需账户激活才能使用,而比特币地址可直接接收资金。
2. 为什么账户需要冻结XLM?
冻结机制防止网络滥用。每项资源占用(如账户记录、资产授信)需抵押0.5XLM,确保网络高效运行。
3. 资产发行是否需要许可?
恒星网络允许任何人发行资产,但资产价值取决于发行方信用与市场认可。锚定资产需由锚点机构承诺兑付。
4. 事务失败会消耗XLM吗?
是。失败的事务仍会消耗少量XLM作为网络手续费,但不会改变账本状态。
5. 如何选择恒星SDK?
根据开发语言选择对应SDK。JavaScript和PythonSDK适合快速原型开发;Go和JavaSDK适用于高性能后端服务。
6. 区块浏览器能查询哪些信息?
可查看交易详情、账户余额、资产发行记录、网络实时状态等。
总结
恒星网络通过账户模型、XLM冻结机制与灵活的事务系统,实现了高效资产发行与转移。开发者可借助多语言SDK快速构建应用,结合区块浏览器追踪链上数据。随着生态发展,恒星在跨境支付与资产Token化领域持续发挥价值。