协议docs/protocol/native-finance.md

原生金融

原生配置支持有储备支持的同质化代币、launchpad、顺序交易和固定价格 NFT 市场。这些操作都属于 HistoryStep 证明的 State 转换。getNativeProtocol 返回已安装的资源容量。

身份与所有权

代币的 asset_id 将定义绑定到创建时消耗的确切资金输入,包括链、所有者、槽位和创建 ID。集合采用相同的资金锚定方式。NFT 由集合 ID 和序号共同标识。名称和代码用于描述身份,两个资产可以采用相同代码。

当前类型化开口承诺代币数量、储备余额、市场储备、NFT 所有权和上架条款。State 认证开口的根和确切实例。原生转换以原子方式消耗输入并创建输出。外层关系绑定完整操作体、Owner 授权、金额、费用和 State 操作。

固定供应与持有人储备

同质化代币通过 launchpad 创建。供应量在创建时固定,精度为六位小数,至少为 100,000 枚完整代币。创建者为每枚完整代币存入至少 0.001 NOID。例如,创建 100,000 枚代币需要 100 NOID 持有人储备,另付报价中的网络费。

储备与交易流动性属于独立的 State 对象。储备义务涵盖所有未赎回代币,包括曲线和 DEX 持有的代币。储备仅用于持有人赎回,供应量始终固定。

设储备为 R,未赎回的最小单位总量为 S,销毁数量为 q:

text
payout = floor(R * q / S)
next_reserve = R - payout
next_outstanding = S - q

销毁与赎回在一次原子操作中完成。向下取整将小数余量留在储备内,剩余单位的储备比例保持或提高。销毁最后一批未赎回单位会返回全部剩余储备。钱包分别显示网络费和最终 NOID 净变化。

标准发行曲线

设 S0 为初始供应的最小单位数量,q 为曲线已售数量。标准配置规定:

text
curve allocation = 3 * S0 / 5
graduation token liquidity = 2 * S0 / 5
curve NOID cash C(q) = ceil((3 * S0 * q + 5 * q * q) / (900 * S0))
graduation NOID cash = S0 / 250
marginal price = (3 * S0 + 10 * q) / (900 * S0)

现金以 microNOID 计。NOID 和代币都采用六位小数,所以边际价格比值也表示每枚完整代币的 NOID 价格。起始价格为 1/300,迁移时达到 1/100。执行采用精确整数现金差额,边际价格用于界面参考。

创建可包含创建者首次购买的 q 个最小单位,范围为 0 <= q <= 3 * S0 / 5。同一原子转换存入完整持有人储备,将 C(q) 支付到交易托管对象,并将 q 枚代币分配给创建者。曲线初始库存为 S0 - q,现金为 C(q)。若首次购买全部曲线配额,则立即创建永久 DEX 池,包含 2 * S0 / 5 个代币单位、S0 / 250 microNOID 和 S0 / 25 份永久锁定池份额。原生创建关系共同检查购买、资金保管和储备。所有首次购买数量都使用相同的创建资金锚来确定资产身份和固定供应。

完整代币供应量 持有人储备 曲线配额 DEX 配额 迁移时 NOID 流动性
100,000 100 60,000 40,000 400
1,000,000 1,000 600,000 400,000 4,000
5,000,000 5,000 3,000,000 2,000,000 20,000

买入获得资金可支付的最大整数数量。卖出获得 C(q) 的相应减少额。售完曲线配额后,同一转换自动创建永久 NOID/代币池。资产身份和持有人余额保持一致。跨越迁移边界的买入可将剩余资金用于新池,无法使用的微小余量返还。

永久 DEX 流动性

池的初始价格等于曲线的最终边际价格。池流动性永久锁定。本配置采用永久池,DEX 手续费累积到池储备中。

设输入储备为 x,输出储备为 y,总输入为 g:

text
fee = ceil(30 * g / 10000)
effective_input = g - fee
output = floor(y * effective_input / (x + effective_input))
next_input_reserve = x + g
next_output_reserve = y - output

手续费为输入的 0.3%,向上取整到最小单位。仅在曲线上执行时使用曲线现金函数。DEX 手续费适用于 DEX 执行或跨越迁移边界的买入中的 DEX 部分。网络费单独报价。每次接受的交换都保持储备为正,且储备乘积保持或增加。

同一区块内的多笔交易

每份经过 Owner 授权的策略固定链、时期、资产、所有者、接收者、总输入、最小输出、最大网络费和允许纳入的高度区间。确切资金输入绑定到授权 ID。

对于选中的集合,关系根据不可变父区块和策略的主要资金输入推导优先级,再按优先级排序,并依据当前价格相对区块初始价格的位置选择下一侧。价格不高于初始价格时优先买入,高于初始价格时优先卖出。每笔执行交易都使用上一笔交易产生的储备或曲线位置。因此一个区块可以包含多笔买入和卖出。

原生关系和递归共同检查完整选中序列、中间价格、资金来源和最终支付。执行位置遵循这些规则。矿工选择纳入的策略,可用资金身份和所选集合会影响执行。每次成交仍须满足所有者规定的最小输出、接收者、金额、费用和期限。未成交策略的资金来源保持未花费。

待处理估价采用本地节点已知的候选集合。不同节点可看到不同集合。确认区块确定最终顺序和各参与者的准确结果。

NFT 市场

钱包集合采用完整 u64 序号范围。创建者可在后续铸造交易中添加项目。铸造消耗并更新集合发行计数器。已销毁项目的序号保持已发行状态。简单的 Create NFT 流程先准备单项目集合,再铸造项目,每个阶段分别审核。

上架消耗所有者的 NFT,并固定卖家、项目、要价和到期高度。费用额度为 0.1 NOID。购买在一次转换中消耗该确切挂单、向卖家付款并将项目交给买家。卖家收到要价和上架费用额度。取消返回 NFT 及扣除网络费后的剩余额度。并发购买会竞争同一个挂单实例,一个 NFT 只能交付给一个买家。

证明与存储预算

经过认证的矩阵库为每个区块选择一个类别:

类别 物理页 普通活跃输入容量 ABI 3 调用槽
Small 63 504 63
Large 206 504 63
Native 63 504 63

Small 和 Large 支持 NOID 支付与 ABI 3 调用。Native 增加代币、launchpad、DEX 和 NFT 操作。Native 区块也可在共享页和输入预算内包含 NOID 支付与 ABI 3 调用。

节点自动考虑 Small 和 Native。--v2-large-blocks 额外允许 Large。节点选择可领取费用最高的候选,并为该候选构建一个证明。费用相同时保留先前候选,Small 最先考虑。外部矿工接收现有 PoW 模板,并通过同一挖矿 API 提交 nonce。

Native 类别还同时限制为最多 48 份交易策略、64 个共享资金输入、128 个类型化动作和四个市场。实际策略容量取决于资金与支付结构。例如,每份策略使用两个资金输入时,32 份策略会耗尽 64 输入预算。节点选择模板时也计算同一区块中的普通支付和 ABI 3 调用。

近期区块体携带原生交易数据。当前活跃开口及其必需定义随经过认证的 State 同步传输。区块体在保留期后剪枝,活跃权利保留在 State 中,导出收据仍可根据规范区块头验证。

类型、规范帧、来源和活跃负载同步见原生对象与传输格式。

ParanO(1)d 技术文档共识行为以源代码为准。