参考
常见问题
关于 Ksana 最常被问到的问题,这里给出简短的回答,每条都链接到讲得更详细的页面。
本页目录
关于 Ksana
Ksana 是什么?
Ksana 在自己的工作量证明链上运行 WebAssembly 合约,这条链就是快轨;它用比特币保存这条链的数据,并由比特币决定它的区块何时最终。操作约 5 秒即得到快轨确认,每个区块的数据都写进比特币,任何人只凭一个比特币节点就能重建全部状态。见 Ksana 的工作原理。
Ksana 是 L2 吗?
按通常的理解,不是;它也不是侧链或 Rollup。与侧链不同,它没有挂钩(peg):你的比特币从不进入 Ksana,Ksana 的区块也只有凭比特币上的数据才会成为最终。与 Rollup 不同,没有哪个运营方或排序器给操作排序:出块者凭工作量证明竞争,比特币保存这些数据并为它们排序,却不执行它们,规则由每个 Ksana 节点和索引器自己来执行。见 Ksana 的工作原理。
有 BTC 跨链桥吗?
没有。Ksana 不保管任何人的比特币:BTC 留在比特币上,一笔 BTC 转账就是一笔普通的比特币交易。取而代之的是,合约能读取比特币区块头和交易,所以合约可以根据比特币上的一笔付款采取行动,兑换合约在充值中做的正是这件事。见合约中的比特币。
主网上线了吗?
没有。主网尚未上线,现在要用的网络是公开 signet。主网的参数大多已经确定,少数还要等测量结果;上线之前,signet 要在没有共识改动的情况下运行至少四周。剩下的工作包括:主网的创世配置、在 signet 上用真实钱包试运行路径 B 和路径 C、这些测量,以及一次独立的安全审计。见公开 signet。
Signet 会重置吗?
有可能。主网上线之前,共识规则一旦改动,signet 就会换上新的创世配置,从创世重新开始,所有余额也都从头算起;反正它的币本来就没有价值。见公开 signet。
使用 Ksana
能用哪些钱包?
Unisat 和 Xverse,切换到 Bitcoin Signet,并使用 Taproot 地址(在 Xverse 里是 Ordinals 地址)。你的账户就是这个地址,所以其他类型的地址不能持有 KSA。在命令行里,ksana-cli 用它自己的密钥文件;TypeScript SDK 可以用密钥签名,也可以通过钱包签名。见 Signet 钱包。
我需要 KSA 吗?
不需要。走路径 C,你把操作放进自己的比特币交易里提交,只付这笔交易的比特币手续费;交易得到所需的确认后(signet 上 2 个),每个出块者都必须收录这笔操作。有了 KSA,你就能走路径 B,几秒内即可确认;你可以通过充值用 BTC 买 KSA,在 signet 上,水龙头也会免费给你一些。见操作与手续费。
怎样领取测试币?
测试 KSA 来自水龙头,可以在网页钱包里领,也可以通过 https://signet.ksana.network/faucet 领:每个账户每天一次,每次 100 KSA。signet BTC 可以从任何比特币 signet 水龙头免费领取;走路径 C、充值以及结算你出的区块,都要用到少量 signet BTC。见公开 signet。
一笔操作要花多少?
走路径 B,你用 KSA 设定手续费:手续费达到出块者的打包门槛(默认 1 个最小单位)时,出块者就会收录这笔操作;出块者按费率填充区块;ksana-cli estimate-fee(ksana_estimateFee)会给出建议的数额。走路径 C,你付的是自己那笔交易的比特币手续费:一笔普通转账约 330 虚拟字节,按 2 sat/vB 约 660 聪;一笔充值约 381 虚拟字节。见操作与手续费。
比特币手续费由谁付?
走路径 B 时,由出块者付。一次结算是一对提交与揭示交易,约 320 到 380 虚拟字节,外加一个 240 聪的锚点输出,按 2 sat/vB 约 1,000 聪;出块者则以 KSA 获得报酬:路径 B 手续费和出块奖励,它们在数据写进比特币后解锁,其中一份归区块的携带者,携带者通常就是用自己的结算把数据写进比特币的那个出块者。走路径 C 和充值时,你支付自己那笔交易的手续费。见 KSA 与奖励。
我的操作什么时候算最终?
走路径 B 时,操作约 5 秒得到快轨确认;等确认其结算的那个比特币区块被挖出,它就已写入比特币。这些数据有了 6 个比特币确认,就是 BTC 最终:在 signet 和主网上约需一小时,因为这两个网络的比特币区块约每 10 分钟出一个。路径 C 操作要先等它自己的交易得到确认(signet 上 2 个,主网上 5 个),才会被区块收录。见确认与最终性。
BTC 和 KSA 共用地址吗?
是的。你的 Ksana 账户就是你的 Taproot 地址,所以同一把密钥既在比特币上持有你的比特币,也在 Ksana 上持有你的 KSA,两者各在自己的链上。转到你地址上的 KSA 进入你的 Ksana 账户,转到这个地址的 BTC 则在比特币上到账。见账户。
区块与挖矿
空闲时为什么几分钟才出一块?
因为两速难度:没有条目的区块需要平常 12 倍的工作量,此后每多一个连续的空块,所需工作量就再翻一倍,最高到 120 倍。链上没有动静时,区块之间约隔 1、2、4、8 分钟,之后隔 10 分钟,这样写进比特币的区块头就很少,而单位时间的奖励不变。第一笔操作一到,区块间隔就回到约 5 秒。见挖矿。
为什么是 Argon2id 而不是 SHA-256?
与比特币合并挖矿的方案被排除了,因为合并挖矿的工作量证明得随每个区块头一起写进比特币。在一条独立的链上,SHA-256 会让租来的比特币矿机压垮快轨,也会把普通电脑挡在门外。用 2 MiB 内存的 Argon2id 让 CPU 能挖矿、浏览器能验证;GPU 仍有优势,估计为 10 到 30 倍,但还没有实测,远小于 ASIC 在 SHA-256 上的优势。见挖矿。
我能用自己的电脑挖矿吗?
能。给节点加上 --producer 和你的账户,它就用一个 CPU 线程挖矿;它挖到的区块,在数据写进比特币之后,会把奖励付给这个账户。要自己结算这些区块,你还需要一把持有少量 signet BTC 的出资密钥;没有它,就由其他出块者携带你的区块数据,并拿走携带者的那一份。见挖矿。
我能自己运行节点吗?
能。节点需要一个自己的 bitcoind,运行在同一个比特币网络上,并开启 -txindex;在 signet 上,bitcoind 第一次同步需要几个小时,占用约 30 GB 磁盘。项目在 Ubuntu 22.04 上开发;在最近几次 10 小时的 devnet 浸泡测试中,每个节点结束时约占 130 到 150 MiB 内存。如果想让其他节点连接你的节点,请开放 TCP 端口 9000。见运行节点。
安全
出块者能审查我吗?
一个出块者可以不在自己的区块里收录你的路径 B 操作,但其他任何出块者都能收录它。路径 C 则不能被排除在外:你的比特币交易一旦有了所需的确认,每个区块都必须收录它,不收录的区块无效。不过,你的交易何时确认,仍由比特币矿工决定,任何比特币交易都是如此。见安全模型。
付款能被撤销吗?
在最终之前,能:占有一部分快轨算力的攻击者可以撤销一笔已快轨确认的付款,得逞的概率随你多等的每一分钟而下降,在链空闲时则更高。快轨确认只在小额时可以依靠;在繁忙的链上,中等金额要等约 5 分钟;大额,或者在空闲的链上,都要等到 BTC 最终。要撤销一笔已最终的付款,就得重组比特币本身,而且之后每多一个比特币区块,就更难一分。见安全模型。
比特币重组了会怎样?
不超过 ANCHOR_DEPTH 个区块(signet 上为 1,主网上为 2)的比特币重组,不会动任何一个 Ksana 区块。更深的重组会把锚定在成为孤块的比特币区块上的 Ksana 区块移出主链,这些区块中的操作会在新的分支上再次被收录。已最终的区块只有比特币重组才能推翻;它成为最终之后,每挖出一个比特币区块,这就更难一分。见安全模型。
区块一直没结算会怎样?
其他节点会替出块者把它送上比特币:任何节点都可以广播这个区块携带的结算,在结算卡住时用自己的资金重建它,或者补发这个区块的数据;之后的出块者还会携带那些没有结算的区块的数据。在它上链之前,这个区块以及它之后每个区块的奖励和手续费都保持锁定;过了 6 个比特币区块,新区块就只能包含路径 C 操作。数据装不进一个载荷的区块,本来就是无效的。见安全模型。
所有节点都消失了会怎样?
这条链的数据还在比特币上。索引器只凭一个比特币节点就能重建全部状态;一个没有任何对等节点的新节点,靠比特币上的数据重建区块,就能跟随已最终的链;出块者可以从那里继续挖下去。只有数据从未写进比特币的区块会丢失,而其中没有一个已经最终。见运行索引器。
Ksana 经过审计了吗?
2026 年 10 月,两次内部安全审计检查了代码,审计带来的共识修复如今已成为规则;第二份报告就在仓库里。它们代替不了排在主网上线之前的那次独立审计。与审计并行的,还有模拟、模糊测试和长时间的浸泡测试。见安全模型。
KSA
有预挖或代币发售吗?
协议里没有。主网没有创世分配(带有创世分配的主网创世配置无法启动),KSA 只以出块奖励的形式产生。signet 的创世分配共 1.1 亿测试 KSA,供它的水龙头和运营方使用,没有任何价值。见 KSA 与奖励。