亲爱的伙伴们:
由于我们要推出一个可用于生产且纯粹的POS网络,同时具有委托,绑定和罚没条件,又能保持最高去中心化程度和安全性,还要结合类似PoW的经济激励及所有协议——目标有些宏伟,所以Cosmos的开发进度有些延迟。
此类绑定的PoS(或BPoS)实现起来要困难的多,对安全性的要求也要比运行masternodes的PoS协议及以声誉做担保的DPoS更高一些。
10月的社区动态表明Cosmos网络的开发已经到了关键阶段。备受瞩目的Cosmos-SDK v0.25.0已经发布,标志着整个Cosmos网络路线图的重要里程碑。如果验证人或开发的伙伴们有什么困惑,相信本文将会十分有用。
这里我们必须强调下,一直备受期待的Cosmos-SDK v0.25有多么重要。历经了9周的重构、错误修复、对依赖的Tendermint Core的修复,并添加了主网发布所需的一些功能,我们终于成功地推出了这个版本。在发布RC0之前,我们最终通过激励的对抗性测试网权益争夺赛来测试加密经济层。所以毫不夸张的说,开发建立Cosmos网络的确需要付出巨大的努力。
请注意,Tendermint漏洞赏金计划仍在进行中,现在仍可以加入。
权益争夺赛的动态请戳:
https://forum.cosmos.network/t/game-of-stakes-upda…
话不多说,功能完备的软件和相关测试公网已上线,相信您期待已久。
开发进展:Cosmos-SDK v 0.25.0
请注意,我们现在使用的是SDK v0.26.0。但是主要功能是在v0.25.0上添加的。
以下更新从下至上是问题#2220:SDK 0.25 / Gaia-9000发布清单中主要问题小结。
https://github.com/cosmos/cosmos-sdk/issues/2220
模拟中查到的调试错误(#2224, #2225)
小结:我们最后重构了许多staking逻辑,只在每个区块的末尾应用验证人更新。 因此,在整个区块内交易的过程中,验证人可能会获得或失去委托人,他们的投票权也会相应地发生变化。但在gaia的EndBlock处理程序中,我们进行了一次迭代,找出前100个验证人,确保它们在绑定的验证人集合中,并且后续会回传到Tendermint。
https://github.com/cosmos/cosmos-sdk/issues/2224
https://github.com/cosmos/cosmos-sdk/issues/2225
这优化了许多复杂的逻辑。您可能还记得”cliff validator”的概念,造成了很多bug,目前该问题已得到解决。我们最后还修复了模拟框架中的bug,这些bug都与cliff validator的bug有关。
- EndBlock:EndBlock仅表明,在区块中的所有交易都已执行,所有待完成的状态更新都已应用,出现的问题都已解决,我们可以执行辅助操作。我们在EndBlock可以做的事情有:向绑定的权益抵押人支付通货膨胀费用,或了解Tendermint验证人需要更新的内容等。
- EndBlock的高效之处:做EndBlock的主要好处是,由于这在每个区块中只发生一次,我们可以做一些没那么高效但更简单的事。因此,我们可以迭代100多个验证人来确定要绑定的内容。但我们不想每次交易都这样做,因为如果有50笔交易,我们就要迭代5000多个验证人。但其实可以在一个区块上一次性完成,因为我们知道复杂度是多少:O(1)。
依赖Tendermint更新
- NextValSet的罚没动态 (#2255)https://github.com/cosmos/cosmos-sdk/pull/2255
- 更新至Tendermint 0.24 (#2219)https://github.com/cosmos/cosmos-sdk/pull/2255
小结:Tendermint v0.24.0引入了NextValSet的概念,导致新版ABCI应用(如IRIShub)向Tendermint更新验证人集合延迟一个区块。 尽管验证人集合可能会随机变化,但轻客户端可以安全同步,因为下一个区块验证人集的哈希值NextValSet
可以在当前的区块头中显示,区块头经过全网2/3以上的验证人签名达成共识。此外,这会使验证人集合更新延迟一个区块的时间。 因此,我们需要确保准确跟踪罚没期限、解绑时长、授权和重新授权,以便仅在他们行使投票权违规时才会让其下线。
- 模拟调试失败(#2162)https://github.com/cosmos/cosmos-sdk/pull/2162
简述 — 通胀目标将每小时更新一次。
- 在config.toml中设置简单的固定费用(#1861)https://github.com/cosmos/cosmos-sdk/issues/1861
简介:我们之前没有任何垃圾交易的解决方案。任何人都可以不需要手续费就提交交易,验证人也能接受,不过这不是理想状态。对于权益争夺赛(GoS),我们已允许任何人,如验证人或全节点都可投票,并在其配置中设置最低手续费标准,而在p2p层如果支付的手续费低于最低值,则交易将会被拒绝。
- 交易模拟,拆分构建/签名/广播事务(#2204)https://github.com/cosmos/cosmos-sdk/issues/2204
小结:您可以使用gaia-cli单独完成构建,签名和广播交易,十分常用。比如多重签名的应用,如果您想使用多重签名钱包(在发布时支持)与您的朋友签署交易,您首先必须生成要签名的JSON”文档”,并将其发送给您的朋友。他们会下载gaia-cli、进行签名,之后你们互相发送签名,最后一人对该交易进行广播即可。 这是用户级工具的应用。
手续费分配模块
- 存钱罐手续费分配规范 (#1944)https://github.com/cosmos/cosmos-sdk/pull/1944
- 存钱罐的实现 (@rigelrozanski) #2236https://github.com/rigelrozanskihttps://github.com/cosmos/cosmos-sdk/pull/2236
- 通货膨胀的分配&佣金 (#2527)https://github.com/cosmos/cosmos-sdk/pull/2527
小结:手续费分配由distribution和minting两个模块组成,负责计算通货膨胀,手续费,以及最重要的,按照其抵押比例向委托人和验证人分配手续费。
https://github.com/cosmos/cosmos-sdk/tree/develop/…
https://github.com/cosmos/cosmos-sdk/tree/develop/…
该SDK版本是市场上第一个带内手续费分配系统,有一个关键特性,即将在Cosmos SDK上构建的应用专有链(即dAppchains)的最复杂框架区分出来,同时依旧可以保持与普通公链上编写智能合约逻辑同样的灵活性,应用便捷,并可相互操作。
- 罚没期限规范 & 实现(#2001 , #2122)https://github.com/cosmos/cosmos-sdk/pull/2001http…://github.com/cosmos/cosmos-sdk/pull/2122
小结:罚没期限是我们在该版本中引入的一个概念,旨在降低连续(或者说是多余的)违规的影响。对于恶意行为相关的激励与惩罚确实不大好平衡,我们对那些危害网络安全的人会予以严厉的惩罚,但也会宽容对待那些不小心配置错误的抵押人。
- 罚没期限: 即验证人从绑定到解绑之间的时长。
小结:假设您在Tendermint上错误配置了HSM,并且对每个区块进行了双重签名,或者您的验证人共识签名密钥可能被黑客盗取或滥用,如果没有罚没期限的概念,您可能每次违规都会下线。每次双重签名都会进行严厉处罚,加起来可能会将权益全部罚光。但现在,我们只会在罚没期限内对你最严重的违规行为进行处罚。
- 验证人解绑状态 (#2163)https://github.com/cosmos/cosmos-sdk/pull/2163
小结:验证人解绑状态可能会存在以下三种情况:
1、验证人可以在区块上的100个验证人集合中进行绑定。
2、如果他们不在验证人集合中并且在过去3周内没有被绑定,那么可以解绑。
3、如果他们目前不在验证人集合中,但在过去3周内在,也可以解绑。也就是说,他们仍然要对已经犯下但尚未被发现的违法行为承担责任。
- 重新委托/解绑 (@sunnya97) #2393https://github.com/sunnya97https://github.com/cosmos/cosmos-sdk/issues/2393
小结:当您重新委托(即更改您要委托的验证人)时,该协议仍需要您对旧验证人签署的内容(最多过去三周)负责。它需要记录一些数据,以查看是否在发现违规行为时承担责任。三周后,如果没有发现违规行为,则您重新委托的解绑期限结束,协议将删除该记录。
- 验证人队列 (#2412)https://github.com/cosmos/cosmos-sdk/issues/2412
小结:过去,我们需要建立新的交易来重新委托或解绑,这对于清理记录中冗余的信息十分必要,并且如果解绑了,则需要接受通证,我们将转而支持自动解绑队列。
所以现在,在解绑期限最后,您的通证将自动发到您的帐户,并且将自动删除重新委托记录以及完成解绑的验证人。
- GenTx -> StdTx 重构(@alessio) #2422https://github.com/alessiohttps://github.com/cosmos/cosmos-sdk/pull/2422
小结:验证人集合由genesis文件中包含的绑定交易决定。这很重要,因为抵押的通证分配不足以确定验证人集合,并非所有通证持有者都会运行验证人节点。 此外,如果一些没有参与融资的人仍想在创世阶段运行验证人节点,他们可以找到委托人委托给自己。
其他软件更新
- 新版轻客户端软件(Gaia Lite)更新
https://medium.com/r/?url=https%3A%2F%2Fcosmos-sta…
相关问题#2113:实施Gaia-lite LCD规范
https://github.com/cosmos/cosmos-sdk/issues/2113
- 开发模式下的Ledger钱包已集成Cosmos
- 密钥管理服务发布
密钥管理集成于Tendermint将允许验证人使用YubiHSM2或Ledger Nano作为HSM设备进行签名。
https://medium.com/r/?url=https%3A%2F%2Fforum.cosm…
会议摘要
Cosmos首尔研究院见面会
在Cosmos验证人Lunamint团队的支持下,我们举行了Cosmos首尔研究院见面会,其中Cosmos-SDK的核心开发人员Joon和战略传播负责人Chjango Unchained共同对区块链互联网的愿景发表了看法。在实践研讨会上,他们介绍了Cosmos SDK的元素,向观众展示了如何在框架内构建模块。
https://blog.cosmos.network/developer-showcase-hac…
70多名参会者,其中包括Cosmos的忠实粉丝,开发人员和记者,均出席了本次见面会,了解了Cosmos网络提供的开发工具。
如果您错过了现场研讨会,可以按照以下步骤自行学习如何在SDK中构建模块:
1、下载Docker container:
https://hub.docker.com/r/mossid/sdk-example/
2、用docker pull mossid / sdk-pull:0.2来pull
3、观看以下视频(此处提供不同的英语教程)
https://github.com/cosmos/sdk-application-tutorial…
观看上个月Cosmos YouTube上Cosmos 韩国研究院的其余演讲:Cosmos Talks Playlist
https://www.youtube.com/playlist?list=PLdQIb0qr3pn…
Web3 峰会
总结
新建一个极具价值的区块链(更不用说新的生态系统)的最大难点在于,在高效的时间内开发出特定的功能。新建一个区块链(以及相关的工具生态系统)一旦出错,则要付出巨大的代价,且要比中心化的软件高得多。比如,Facebook出现漏洞并不重要,能够快速修复,纠正错误,这才更重要。但在区块链中并非如此。我们需要做到精准无误,同时还要保证效率。
非常感谢您与我们共同参与这一旅程。
Cosmos与你们同在!下次见咯!
来源:Cosmos
本文由用户:跳舞精灵 发布,不代表网站的立场,转转请注明出处:http://www.maiyaotop.com/hangye/6961.html