在Chia官方近日举行的视频会议“Chia Pools for Pool Operators”上,创始人Bram Cohen与其团队成员共同分享了Chia耕种池协议相关的最新信息及进展,详细介绍了Chia耕种池协议的设计原则、运行机制及技术背景,并再次确认官方耕种池协议将很快上线。以下内容由“蓝贝壳云储”整理自会议信息,具体内容请以Chia官方为准。
Chia团队不希望其相关“耕种池”产生一家独大的局面,即便在某些情况下这种局面已经形成,他们也会保证这些大型耕种池无法作恶。(“耕种池”相当于其它区块链项目的“矿池”,Chia官方将其获取区块奖励的过程称为“耕种farming”,对应其他项目的“挖矿mining”)
Chia团队中的耕种池协议程序负责人之一Mariano S.表示,在大多数工作量证明机制(Proof of Work)下的矿池协议中,矿池会去创建区块,矿工则会去进行哈希碰撞,“区块的创建”直接关联于“代币奖励的发放”,这样的机制下矿池会拥有极大的控制权。
而Chia的耕种池协议中,“区块的创建”与“耕种池协议”之间是完全分离的,耕种池只负责“代币奖励的发放”。它收集农民farmer(相当于其它区块链项目中的“矿工miner”这一角色)的全部代币奖励,并按比例将它们分配给这些农民。这些农民可以运行他们自己的全节点(full node),也可以将自己连接至第三方并代理他们去为自己运行全节点。
Chia耕种池设计中的基本原则
为农民保障安全:农民无需信任耕种池,农民也绝不需要向耕种池上传他们的私钥,这些私钥全部都保存在本地。
由于在工作量证明机制中的矿池不涉及到私钥,矿工只需不断进行哈希碰撞并将其提交,以此赢取奖励,矿工需将自身算力投入矿池,所以其中不存在作弊行为。然而在Chia的空间证明机制(Proof of Space)中由于涉及到私钥去创造签名,其农民并不与耕种池进行绑定,因此理论上农民在可以赢取Chia的同时又去对另一方进行签名,出现多挖作弊的行为。为避免这种作弊行为的发生并确保其安全性,Chia的耕种池协议相对于普通的矿池协议会更复杂也更难于建设。
为耕种池保障安全:P图(Plots)以加密的形式与相关智能合约进行绑定,而该合约指向某一特定耕种池,由此便可以防止农民作弊。1.75/.25奖励分割机制(创建区块所获得的2个Chia代币中,1.75个代币流入耕种池继而按比例分配给所有农民,剩余0.25个代币则直接奖励给赢得了那一区块的农民)也会有效抵御耕种池之间的攻击行为。
在目前的版本中,P图里加密存储了公钥。团队曾试图将耕种池地址加密存储至P图中,以此防止农民的多挖作弊行为,然而这种做法会让农民无法更换耕种池,一旦P盘完成,他们就只能固定加入某一特定耕种池中,这不仅非常不方便,而且还会导致耕种池趋向中心化。最终团队决定使用智能合约去绑定耕种池地址,从而有效解决了上述问题。
区块创建更为去中心化:农民们可以选择运行自己的全节点,从而助力去中心化,也可以选择代理耕种池为自己运行全节点。
可自由更换耕种池:农民可以随时更换耕种池,无需重新P盘,同时确保农民无法为赢取更多奖励而对耕种池作弊。不涉及“注册”、“用户名”和“密码”等,农民可以直接在链上更换耕种池并直接开始耕种。
无需重复配置的区块链备份系统:假设某农民拥有A和B 两台计算机,这两台计算机中用到同样的key(同样的24个关联词汇),那么只要其中一台计算机加入了某耕种池,则另一台计算机就会自动加入该耕种池并进行耕种,无需重复手动进行配置。
什么是Singleton?
每个Singleton都是独一无二的,类似于NFT,一旦在区块链上创建,那么它就永远是独一无二的。在新的Chia耕种池P图中,将会包含特定的Singleton支付地址(pay to singleton address)。
用户通过Singleton创始币(Singleton genesis coin)来创建你的第一个Singleton,这个创始币可以是你钱包里的任意Chia代币,因为用户想要在Chia区块链上生成记录,就必须通过花费Chia代币来实现,如此才能开始创建Singleton。
在创建独一无二的Singleton时,用户可以将具体的耕种池相关信息加入其中,包括耕种池的地址、URL、用户的公钥等,这些信息将全部上链。
一旦用户想要更新Singleton上的信息,就需要花费这个Singleton去创建新的Singleton,这个新创建的Singleton将拥有和原Singleton同样的ID。也就是说,Singleton本身无法修改,更新其信息也就意味着销毁旧的Singleton的同时创建一个相同ID的新的Singleton。
当成功收获一个区块时,由耕种池分配的1.75个代币并不直接流入用户或耕种池手中,而是进入Pay to singleton puzzle里,只有耕种池才有权领取这些代币。
当用户想要更换到新的耕种池时,需要使用现有的Singleton去创建一个包含新耕种池信息的新的Singleton,在一定的时间过后,用户就会更换到新的耕种池中。一个Singleton对应一个特定的耕种池,各耕种池通过查看区块链上的Singleton信息来判断某用户是否为其成员之一。
测试版演示
每一个Pool Tab(耕种池标签)都代表一个Singleton。在Pool Tab上,可以看到“耕种池名称”、“耕种池URL”、“已获得奖励”、“当前难度”、“Points Balance(积分余额)”等信息。
用户可以选择自己组建耕种池(耕种奖励将直接进入自己的钱包地址中),也可以选择加入其它耕种池。想要加入其它耕种池,只需将耕种池地址输入Connect to pool的空白栏内,下方便会自动弹出该耕种池的相关信息。用户通过仔细核实这些信息,来确保自己不会加入恶意耕种池中,以免遭遇欺诈。
在新的Point积分系统中,假设A贡献难度是1000,B是10,那么A自然比B更重要,价值更大,因为A的证明比B的证明难度更高,当用户通过耕种池耕种时,在耕种池的数据库中,他们会被授予和所贡献难度相应的积分(如贡献难度为10则会被授予10个积分),由此耕种池就可以追踪用户所拥有的积分,用户也可以随时查看自己的积分。
在P盘时的设定菜单中加入了Join a Pool选项。在选项单里可以选择none,即按照以往方式自己耕种,或者也可以选择由自己创建的Singleton(每个Singleton指向某特定耕种池)。
Q&A
Q: 我可以用一张P图加入两个不同耕种池吗?
A: 不可以,你的P图与Singleton绑定,而一个Singleton一次只能指向由你自己设定的某一特定耕种池。
Q: 耕种池可以封禁用户吗?
A: 可以,因为Singleton ID加密存储于P图中,所以耕种池理论上可以封禁用户。虽然耕种池无法禁止用户将自己指向其耕种池,但是耕种池可以通过不向用户发放奖励的方式封禁用户。无论如何,耕种池奖励依然是由耕种池控制。
Q: 耕种池有可能卷款跑路么?
A: 如果耕种池支付了你应得的奖励,那就没什么问题。不过一些流氓耕种池可以在支付间隔——也就是三天之内卷款跑路,理论上这类流氓耕种池确实可以在三天之内收集所有奖励,然后不把奖励发放给农民,自己卷款跑路。因此,耕种池的名誉是用户在加入某耕种池前需要调查清楚的重要事项,毕竟没人想加入流氓耕种池。另外,用户永远都有更换耕种池这一选项,用户一旦发现自己加入的耕种池不太对劲,就可以马上更换到其它耕种池。
Q: 用户如何使用Singleton?
Q: 当为每个用户的证明(proofs per user)设限时,是否同时会为单用户耕种规模(farm size)设限。
A: 不会,这两者是独立的,如果你有100P空间,同时把证明难度设置的非常高,那么你最终得到的每日证明量可能会和拥有1T空间的人一样多。
Q: 对于想要使用多个Singleton连接同一耕种池的用户而言,是否需要每个Singleton单独登录?
A: 是的,目前每个Singleton需要单独登录。不过这只是Chia耕种池协议的第一个版本,后面还会陆续加入更多功能。
A: 不可以,这一比例存在于源代码及共识之内,因此无法更改。我们之所以加入这一比例,是因为如果存在某一耕种池的规模在全网中超过了一定比例,那么原则上,它就可以通过攻击其它耕种池来为自己牟利。为了让全网的发展更为健康,这种奖励分割是非常必要的,它保证这些被攻击的耕种池或农民依然可以获得部分奖励。那些没有奖励分割的传统矿池协议是糟糕的。另外Chia的交易手续费均直接流入农民手中,因为我们希望由农民创建区块,而不是由耕种池创建区块,这也会是对抗某些耕种池的恶意行为的有力武器。此外随着今后的奖励减半,奖励分割的数量也会减半,但是比例依然保持不变。
Q: 耕种池如何设置提现的最小限额,它是否可以根据全网交易手续费的变化来进行更改。
A: 这完全由各个耕种池决定。
Q: 难度和获取证明的机会是否是线性相关的?
A: 是完全线性相关的。这和Time Lord的速度也有关系,不过大部分时间里我们假设Time Lord的速度是恒定不变的。
Q: 奖励机制会不会在未来改变?我们是否可以封禁耕种池?Chia究竟是不是真的去中心化?
A: 关于第一个问题,奖励机制不会改变,目前我们发布的所有东西都是基于Layer 2的,未来我们什么都不会去变更。我们不会去分叉,绝不会去硬分叉,在很长一段时间内也没有任何软分叉的打算。再次强调,奖励机制不会改变,我们不是Chia网络的独裁者,这是一个去中心化的网络。关于第二个问题,我们无法封禁耕种池,因为这是一个去中心化的网络,我们并不拥有这个网络,因此它也并不被我们掌控,所以我们无法封禁耕种池。关于第三个问题,是的,我们是非常去中心化的,当然也希望未来Chia能够更加去中心化,以建设一个更健康的生态系统,我们希望存在多个耕种池相互竞争,而不是一家独大。
目前关于Chia的开发均在计划之内,只不过这个计划正在加速进行。Chia上线后的发展速度超乎我们的想象,因此人们对耕种池协议的需求之急也在我们的预料之外,要知道距离Chia币价趋稳还不到一个月时间,目前我们正尽我们所能,以尽快推出耕种池协议。
Q: 任何人都可以建设耕种池吗?
A: 是的。不过想要建设并运行耕种池并非易事,你需要通过一系列相关申请,还要进行KYC、AML等。另外,我们当然不会建设官方自己的耕种池,我们希望这个生态系统是健康的。
最后,官方表示他们不会再提前预告具体的耕种池协议上线时间,而是会在官方认为目前的耕种池协议已经准备好,并尽可能解决了所有bug之后再上线。另外在耕种池协议的测试网版本上线后,一旦官方确认测试网版本的耕种池协议可以在没有重大bug的前提下有序运行三天时间,官方就会在主网为所有人上线耕种池协议。