V1.0
更新时间:2022-02-10
1 Chives Blockchain发展概况
做为一个草根的创业项目, 自发布第一个版本以来,Chives Blockchain已经取得了不错的发展成绩,包括:10519个矿工,375Pib的网络空间算力,以及161744个地址,和0.01USDT的价格。这些指标整体上面已经达到Chia的1%,部分指标像活跃地址已经达到了Chia的4.3%,表现非常不错,可能受益于Chives的空投和NFT市场发布。
下图是详细信息:
Item | Network Space | Activity Address | MarketCap |
Chives | 375 | 161,744 | 1,682,966 |
Chia | 32,768 | 3,717,277 | 219,656,024 |
Percentage | 1.15% | 4.35% | 0.76% |
Chives Blockchain的发展策略主要是跟随Chia的版本更新和升级,然后尽可能多的开发一些周边应用。主要目的是给Chives的用户提供一个尽可能方便和全面的使用体验。
同时这些应用也兼顾到Chia的用户,共同发展和壮大整个Chia的生态环境。只有Chia发展壮大了,做为Chia的一个分叉,才能取得更好的发展空间。
2 Chives Blockchain主节点的源起
“Chives 包含一个两层网络。第一层是由矿工组成的网络,为用户提供资金收发服务,防止双花。第二层由组成网络的主节点组成,为Chives网络提供独特的性能支持。
主节点系统也称为服务证明(PoSe),因为主节点的本质是为整个Chives网络提供关键服务。整个 Chives 网络由主节点监督。如果矿工试图拥有所有区块奖励或运行旧版本的 Chives 软件,主节点网络将隔离该区块并阻止它被添加到区块链中。”
Chives 主节点的概念主要来自于DASH COIN。在传统的BITCOIN架构体系中,挖矿并不需要运行一个全节点,只需要运行第三方的挖矿软件,接入对应的POOL就可以进行挖矿。因为挖矿不需要运行全节点,导致整个区块链网络的全节点数量很少,从而影响了整个区块链网络的安全和健康。
DASH COIN给出的方案就是再增加一层主节点网络。给予这一部分的用户一些奖励,要求他们必须运行全节点,来维持网络的全节点数量。这些主节点的数量肯定要超过POOL的数量,所以当主节点进行软件升级的时候,必然会形成事实上面的多数,从而强迫其它少数节点也一并进行软件的升级,从而使整个网络维持在最新的版本之上。
Chives 网络跟DASHCOIN网络的不同之处在于Chives网络的矿工即使加入POOL,也是需要在本地运行一个全节点才能进行挖矿。所以Chives网络的全节点数量不会因为矿工加入POOL而减少。
这个显著的区别,造成了强制Chives 主节点运行一个全节点才能获得奖励变得多余。但是为了使Chives更加稳定和健康,决定还是按当初的设想,要求每一个主节点,运行一个全节点来扩大Chives网络的去中心程度。
3 Chives Blockchain主节点的奖励机制
主节点的奖励机制跟DASH COIN保持一致,45%的区块奖励归所有的主节点。
但是两者也有很大的区别。DASH COIN的出块时间为10分钟,在这10分钟时间之内,可以让所有的节点完成主节点网络异动信息的同步工作,从而可以使主节点奖励的发放放到COINBASE中去处理。而Chives 的出块时间大约为18秒,这个时间太短,根本无法在18秒之内完成主节点网络异动信息的同步工作。正是因为这个区别,导致了Chives网络主节点奖励的发放变得异常复杂和困难。
这些难点总结如下:
1 奖励的发放不能放在COINBASE中处理,因为区块产生的速度太快,在18秒内无法同步所有主节点状态的变化,从而也就没有办法得到一个准确的奖励清单。
2 需要有一定的时间,比如10分钟时间,来让所有节点同步主节点信息的变化。这样的话,就需要有一个缓存池来缓存这些奖励。
3 当缓存池收到这些奖励进行累积,当累积超过3000XCC(每10分钟32个区块,每个区块45%的奖励,合计2880XCC,大约3000XCC)的时候。就需要启动发送机制,把这些奖励发送给所有主节点的奖励地址。
4 同时要求主节点奖励地址的发送间隔为至少6分钟。
5 当网络空间增长过快,区块的出块速度增加,奖励余额在6分钟之内增加到3000XCC的时候,将会在6分钟的时候进行发送主节点奖励。如果区块的出块速度过慢,就需要一直等到累计到3000XCC的时候,进行发送奖励。
6 会有一个专门的服务来监控这一过程的执行。
4 Chives Blockchain主节点奖励缓存池
1 缓存池将是一个标准的COIN钱包,公开私钥,公钥和地址。
2 这个地址下面所有的COIN,只能发给自己或是主节点中的奖励地址,不能发送给其它任何地址,这个会在代码中进行检查和校验,以防止恶意的转账操作。
3 转账的过程就是一个标准的钱包转账操作。
4 强制所有的输入COIN均为这个缓存池的地址,所有的输出只能所有主节点的奖励地址和缓存池的地址本身,不允许其它的转账地址出来。
5 转出方的金额必须是3000XCC,所有接收方的金额必须是相同的。
6 所有主节点奖励地址的奖励金额必须是一样的。
7 转账过程中所有主节点的奖励地址至少包括10个区块以前的所有主节点的奖励地址。
8 要求至少留下1XCC做为手续费,以便于增加交易优先级。
9 当对主节点的奖励地址进行奖励发放的时候,不对TX的大小做出限制,这样就可以支持超大TX的交易,如2000个汇款地址,以便于完成对所有主节点奖励地址的一次性转账操作。
10 上述规则均需要在提交内存池和区块头和区块BODY的部分进行合法性校验。
11 如何把COIN转入缓存池中,这一部分的原理跟现有的10%社区奖励的机制一致。
5 Chives Blockchain 主节点注册和注销
1 当需要注册主节点的时候,需要使用钱包,先构建一个金额为100000 XCC的COIN。
2 使用这个100000XCC的COIN来铸造一个NFT,同时把获得奖励的地址和质押的地址写入到NFT里面,此时NFT处于有效状态。
3 当注销主节点时,直接退还质押XCC,无需对此NFT做出改变。
4 当服务进程过滤NFT列表得到质押地址的时候,会对该质押地址的余额进行实时判断,达到质押要求,才计入有效的主节点。如果余额为0,但是取消质押的区块和现有区块高度差小于10,则允许打包进入区块。
5 过滤NFT列表的进程,将会一个单独的服务,每10分钟全新过滤一次,数据存储在数据库中,以供前端GUI调取。但是在构建转账交易的时候,将会实时获取最新的质押数据和奖励地址。
6 Chives Blockchain 主节点关键数据
1 需要额外部署AWS服务器,拥有公网IP。
2 主节点的质押金额为100000XCC。
3 主节点45%的奖励将会先转入缓存池,再由缓存池发放给主节点。
4 缓存池的密钥是公开的。
5 将会有一系列的限制,来防止缓存池的XCC被恶意转走。
6 主节点使用NFT来做为数据存储层,同时会缓存到数据库里面。
7 测试网发布时间:2022-05
8 预计主网发布时间:2022-06