技术规范
共识
如中所述的转移证明 (PoX) SIP-007
网络将在下列所述的烧毁证明 (PoB) 过渡 SIP-001 在 10 年之后。 在 SIP-001 中了解有关烧毁证明的更多信息.
威胁模型
比特币挖矿算力中 51% 的恶意力量可以对 Stacks 链进行重组或执行双重支付攻击
如果 Stackers 无法就区块有效性达成 70% 的共识,链可以停止
不同参与者及其角色
Stacks 矿工将交易打包进区块并向 stackers 提议这些区块
Stacks 持有者可能会改变区块限制的计算(受矿工否决权约束),并可能表决在一个奖励周期内禁用转移证明奖励。
Stackers 验证并将区块追加到链上,并验证 sBTC 存取款交易
转移证明挖矿
Coinbase 奖励计划:
前 4 年每区块 1000 STX
接下来的 4 年每区块 500 STX
随后 4 年每区块 250 STX
此后永续每区块 125 STX
Coinbase 奖励会因“错过抽签”而累积:如果某个比特币区块没有抽签(在高度 N),则任何在随后某次抽签中挖出的、并且构建于在倒数第二次抽签(高度 N-1)时存在的任何 Stacks 链顶之上的 Stacks 区块都可以申领其 coinbase。此机制鼓励矿工即使在比特币费用较高时也继续挖矿。
初始挖矿奖励:这是上述情况的一种特殊情形,用以激励早期矿工。位于首个烧毁区块高度(由独立矿工在 Stacks 2.0 启动时选择)与首次抽签赢家之间的所有烧链区块的 coinbase 会累积,并在一个固定窗口(待确定)内分发给矿工。例如,假设烧毁区块高度为 10,000,首次抽签在区块 10,500,分发窗口为 100 个区块,则前 500 个区块(10,500 - 10,000)的 coinbase 将在随后 100 个区块中均匀分配给赢得抽签的矿工。
奖励成熟窗口:100 个区块,即领导者将在其成功挖出的区块后 100 个区块获得 coinbase 奖励。
区块间隔:Stacks 区块链大约每 10 秒产生快速区块,且每个比特币区块都会发生一次矿工任期变更
BTC 承诺:矿工必须承诺至少 11,000 satoshi(5,500 sats / UTXO 输出);每区块 2 个输出)以避免“尘埃”。
欲了解更多细节,请参阅区块生产。
质押 (Stacking)
准备阶段
选择一个“锚定区块”。根据锚定区块时链的快照确定符合条件的地址集合(“奖励集合”)。准备阶段长度为 100 个区块。质押承诺需在该阶段开始前确认。
奖励阶段
矿工的 BTC 承诺在奖励集合中分配。奖励周期长度为 2000 个 BTC 区块(约 ~2 周)。
每区块两个奖励地址,每个奖励周期共 4000 个地址。地址使用 VRF(可验证随机函数)选择,因此每个节点可以对给定区块确定性地得出相同的奖励地址。
质押门槛:当参与率在 25% 至 100% 之间时为参与金额的 0.025%;当参与率低于 25% 时,门槛水平始终为流动 STX 供应的 0.00625。
委托:一个 STX 地址可以指定另一个地址代表其参与质押。 SIP-007 中的相关章节.
池化:单个 STX 持有者若未达到质押门槛,可将其持有合并以参与质押。为此,STX 持有者必须将(可选的)奖励地址设置为“委托地址”。欲知更多详情,请参阅 此参考资料.
支持 Legacy、SegWit、Native Segwit 和 Taproot 地址
账户与地址
Stacks 区块链中的交易源自、由以下账户支付并在其权限下执行
一个账户由其地址 + nonce + 资产完全指定
地址包含 2 或 3 个字段:1 字节版本、20 字节公钥哈希(RIPEMD160(SHA256(input)))、可选名称(可变长度,最大 128 字节)
两种类型的账户:标准账户由一个或多个私钥拥有;合约账户在智能合约实例化时生成(由上述可选名称字段指定)
Nonce 计算账户授权交易的次数。起始为 0,有效的授权必须包含 下一个 nonce 值。
资产是一个映射,列出所有资产类型——STX、任何由 Clarity 合约指定的链上资产(例如 NFT)——到该账户拥有的数量。
账户不需要显式“创建”或注册;所有账户隐式存在,并在首次使用时实例化。
交易
交易类型:coinbase、代币转移、合约部署、合约调用、任期变更。
只有标准账户(非合约)可以支付交易费用。
交易执行由以下项管理:
发起账户
创建、授权并发送交易的账户。
付费账户
由领导者向其计费以支付验证和执行交易成本的账户。
发送账户
标识当前谁在执行交易的账户:在交易执行过程中,这可以通过 as-contract Clarity 函数而改变。
交易可以被批量或流式打包进区块。可通过交易的锚定模式控制行为。使用流式(微区块)可实现更快的确认时间。
两种授权类型:标准授权是指发起账户与付费账户相同。 赞助 授权是指发起账户与付费账户不同。例如,开发者或服务提供商可以为用户调用其智能合约支付费用。
对于赞助授权,首先用户用发起账户签名,然后赞助方用付费账户签名。
每个账户并发待处理交易的内存池限制为 25 个
待处理的内存池交易将在 接收后 256 个区块内被垃圾回收。以目标区块时间 10 分钟计算,这大约等于 ~42 小时
所有影响账户余额的交易都是原子的,转账操作不能只增加一个账户的余额而不减少另一个账户的余额。然而,执行多个账户操作的交易(例如从多个账户转账)可能会部分完成。
交易可以包含备注字符串(最大 34 字节)
这有帮助吗?