Kaspa 是一条 Layer1 公链,并与比特币相同采用工作量证明(PoW)共识机制来维持网络运行。 不过与比特币等传统的链式区块链不同的是,Kaspa 使用BlockDAG架构,允许区块可以并行生成,而无需按照线性顺序连接,提高了交易速度和网络吞吐量。
Kaspa 项目最初于 2018 年由 Yonatan Sompolinsky 和 Aviv Zohar 提出,这两位学者也是 GHOST(Greedy Heaviest-Observed Sub-Tree)协议的提出者。 GHOST 协议后来也成为以太坊共识机制的一部分。
Kaspa 在 2020 年启动了其测试网,旨在测试和优化其 BlockDAG 技术以及整体网络性能。 在测试网成功运行之后,Kaspa于2021年正式启动了其主网,标志着其正式进入加密货币市场。
Kaspa 提出了 PHANTOM 协议,这是一种基于工作量证明的无许可分类账协议,它将中本聪所定义的区块链推广至有向无环图(BlockDAG)。 PHANTOM 可以引用多个前区块,提供所有区块和交易的总排序,并输出一组一致的已被接受的交易。
PHANTOM 包含一个引数 k ,用于控制协议对同时建立的区块的容忍程度,可以设定该参数以适应更高的吞吐量。 当 k=0 时,意味着没有分叉,这也就是比特币的单一链、最长链结构。
PHANTOM 解决了诚实区块和恶意区块的识别问题。 恶意攻击有一个特点:恶意节点生成的区块与诚实节点生成的区块之间的连通性较低,而诚实节点生成的区块之间的连通性会较高。
判断的标准就是上文提到的参数 K 。 对于特定区块 X,如果 anticone (X) 与诚实块的交集数高于 k ,则说明 X 块与诚实块的连通性较低,X 将被判定为攻击块; 相反,表示 X 与诚实块之间的连通性较高,X 被认为是诚实块。
下图是一个对诚实区块和攻击区块的判断。 这里的 K 值为 3,检查之后,蓝色部分为诚实区块,红色部分为攻击区块。
GHOSTDAG 协议也解决了双花问题,其原则是,根据每个区块的连通性(过去区块集合中的元素数量)对其进行评分,选择总分最大的区块形成主链,主链将形成初始子集。 其余区块将按照主链顺序依次投票。 整个网络就会按照连接度从高到低的趋势进行投票。
下图显示了参数 K=3 的情况下,GHOSTDAG 如何完成排序的过程。 每个区块 X 边上的小圆圈代表其得分,也就是过去 DAG 中蓝色区块的数量。
KAS 币是 Kaspa 的网络代币,其发行方式与比特币类似,没有任何预挖或预售活动,所有代币只能通过挖矿获得,100% 去中心化。
Kaspa最大供应量为287亿枚,必须在186个月内开采。 Kaspa采取了通货紧缩的货币政策,在主网上线后的前六个月内,Kaspa将每秒产生500 KAS,每月发行1,314,900,000 KAS。 第七个月,KAS的月供应量将减少12%。 后续的月度增发则为上月的KAS增发数*(1/2)^(1/12),从而实现每年总量稳定减半。
目前,KAS代币已经上架了Bybit、Bitget、Kucoin等中心化交易所,币安也上架了KAS的永续合约,撰稿时现货KAS报0.17美元,流通供应量为24,072,216,304KAS,流通市值接近42.1亿美元。
Kaspa 挖矿算法为 kHeavyHash,支持 GPU 单挖或与 ETHW、ETC 双挖,支持部分 FPGA 和 ASIC 矿机挖矿,需要注意的是,当前挖矿已被 ASIC 矿机占领,显卡用户虽无利可图,但仍可以使用下面教学体验去中心挖矿流程:
大算力矿工可以单独部署一个虚拟服务器,运行 Kaspa 节点。 但这需要大量的带宽和磁盘空间,且节点应保持每天 24 小时在线。 对于小算力矿工,你也可以在自己的挖矿电脑上完成这项工作。 具体操作为:
1. 运行节点
下载 Kaspa 之后打开,你会发现 kaspad.exe、kaspaminer.exe 和 kaspawallet.exe。 现在你需要创建单独的批处理文件:
2. 创建钱包
在文件夹中创建 create-wallet.bat 并输入:kaspawallet create pause。 运行create-wallet.bat并按照说明创建 Kaspa 钱包。
3. 运行钱包守护进程(文件名:start-daemon.bat)
4. 检查余额(with daemon running)
5. 下载挖矿软件:下载并运行 tmrlvi gpu miner 或使用 kaspaminer.exe 文件。
值得一提的是,除了使用自己的节点之外,你还可以使用公共节点进行单独挖矿,例如矿池。 Acc-Pool 等矿池支持单独和矿池挖矿。 但是你需要考虑费用、延迟等问题。
lolMiner 和 Bzminer 均支持双挖(NVIDIA 和 AMD),并且可用于 Windows 和 Linux。 此外,当双挖ETC+kaspa时,你需要同时为Kaspa和其他代币提供钱包和矿池。 对于 Kaspa 钱包,请使用 Kaspa 网络钱包。 对于 ETC 地址,你可以使用信任钱包或 MetaMask。
以 lolMiner 为例,双挖操作为:
1. 解压 lolMiner,你会发现一个名为 dual_mine_eth_kaspa.bat 的文件。 不用对其进行编辑。 而是创建一个新的文档并将其另存为 dual_mine_etc_kaspa.bat。 输入双挖命令并保存。
2. 在上面的配置中,请记住将 ETH/ETC 和 Kaspa 地址替换为你的 ETH/ETC 和 Kaspa 地址。 保存后双击 dual_mine_etc_kaspa.bat 启动矿机。