3分钟深入了解临界公链的开发基础Cosmos
临界 (Hashgard) 测试网络已经成功上线: 查看详情>>
由于我们的测试网络基于Cosmos进行开发,为了更好的理解临界公链,一些Cosmos的基础知识必备不可少。
Cosmos是跨链的顶级项目,被人称作是区块链3.0,日前,Cosmos接受密码极客邀请参与分享。
今天,我们就转载了这篇Cosmos的直播分享,让大家更好的理解Cosmos,更好的理解临界公链的开发基础~
按照惯例Cosmos全程英文分享。
大家可以在以下链接中听到直播音频:
https://www.ximalaya.com/keji/16820730/
分享正式开始
Chjango Unchained小姐姐的分享主要围绕Cosmos如何重构区块链生态,而Sunny Aggarwal就负责相关技术内容。
在Chjango Unchained小姐姐的介绍里,首先是对区块链发展演变的总结。
区块链1.0时代主要是以比特币和比特币的分叉币(BCH)为代表,开发团队对比特币代码进行fork,功能主要集中在交易。而且因为系统庞杂也阻碍了区块链发展,不同区块链之间也无法相互通信。
在Cosmos之前,大家的选择很有限,只能从比特币分叉,大家对应用的控制很有限,第一代Dapp Zcash的灵活性就很不好。
那后来区块链 2.0 时代,以太坊的出现,使得开发者可以使用智能合约扩展功能。但是创建的应用都基于以太坊,性能受限。未来的区块链应该是所有人可以在自己的链上操作,同时又可以进行跨链操作。
所以我们提出了Cosmos-SDK。
Cosmos-SDK对于开发者十分友好。首先它是用Go语言写成,允许开发者在Cosmos网络上用最简单的方式来设计自己的区块链。
Cosmos-SDK提供模块化的结构,为开发者提供现成的开发框架。也就是说开发者可以选择基础区块链应用程序,添加治理或权益委托等模块,甚至创建属于自己的模块,并发布可交互的区块链。
我们的SDK在github上完全开源。
经常会有人说我们的SDK和Polkadot的substrate框架很像,事实确实如此,区别在于我们是用Go语言来写的。
Cosmos的核心协议是IBC(链间通信协议),允许区块链之间进行通信,实现链链交互功能。
其中的方法是将自己的区块链连接到Cosmos Hub上,通过Hub再将信息发送到相应的链上。只要新链遵循IBC协议,就可以加入该网络,包括公链和私有链。
本质地说,Cosmos正在构建一个网络体系,其中新区块链可以轻易创建,并从创立之初就可以进行交互。而且在用了Cosmos-SDK之后,就不用从零开始建立区块链了。同时每条链都将在Tendermint上运行,有了Tendermint也不用重新开始建立共识。
在简单地介绍了Cosmos之后,官方团队的Sunny开始给密码极客的社群成员介绍Cosmos更专业的内容。
对于Cosmos为什么选用POS,Sunny给出了答案。
类似于比特币的POW共识,首先是对算力的浪费。另外就是消耗大量电力带来的环境问题。同时POW是一种低效的共识,网络吞吐量很低。
为了解决POW存在的这些问题,研究人员提出了基于权益证明,POS的共识算法。与POW不同,希望成为有出块资格的人必须抵押一部分资金。抵押通证越多,获得出块资格的概率也就越大。就像POW中,算力越大,出块的概率也就越高。若出现作恶行为,押金将被罚没。
如果你出现恶意行为,比如双重签名,解绑期就会让你受到惩罚,Cosmos的解绑期为3周。另一方面,如果我们没有证据证明你的恶意行为,你能重新拿回权益。
一般用户,可以通过委托来参与网络维护。我们为验证人提供参与的机会,但需要一直在线。这是我们引入委托的原因。委托人会选择自己想要的验证人。
验证人会把部分委托人给他们委托产生的收益,通过协议返回给委托人。
很多人建议,比起直接给验证人奖励,不如给他们智能合约。但是,我们想要一个标准的委托系统。
验证人如果不诚实话可能会携款逃跑,比如Tezos 最近就出现了类似的事故,Cosmos的委托是通过链上协议完成来解决这个问题的。
所以如果你是验证人,你可以使用特殊的自我绑定功能。
Cosmos 要求验证人self bond, 也就是自己要有一定比例的抵押,同时,解绑期还有罚没机制,都在解决这个问题。
委托人根据以下方面选择验证人:
验证人记录
验证人安全设置
协议要求的最低自我绑定
佣金
你需要为运行验证人支付一定比例的佣金。这是经典的再委托机制。Cosmos的用户可以在多个验证人间无缝转换,这是其他POS公链现在都没法支持的。
换验证人时首先需要解绑。这种无缝转换是智能合约没法支持的,Cosmos 能做的这点,是因为我们直接在协议层实现。协议层实现有许多优点,这里先不做赘述。
我们希望这种无缝转换能让委托人非常容易地选择更好的验证人。我们支持良性竞争。
验证人需要给委托人提供一定比例的分红,来吸引用户委托通证抵押在网络上。
Q&A
到这里,Cosmos团队对于简单的项目介绍结束了。而接下来,就是我们照例的问答环节,此次的提问嘉宾,密码极客邀请了Wetez的创始人卡咩。Wetez目前是Tezos在中国最大的节点,同时也将给Cosmos社区提供服务。
01
如何解决PoS里面,大户持币较多,获得出块的几率也比较多,从而奖励也会越多,大户更大的问题?这个问题在Cosmos这种要求前100Staking验证人的系统当中,大户的问题会更加明显。
我们围绕委托、奖励分配、重新委托、验证人承诺等建立了一个很坚实、经济的良好机制,使持币系统尽可能的去中心化和抗粘性,并将持币者的权力交到几千个委托人手中。不像DPoS或LPoS,在Cosmos奖励将自动分配给所有委托人而不只是给100个验证人。
这里刚才提到的委托机制对于去中心化支持非常重要。成千上万的用户都可以通过委托参与网络验证。
曾经看到一份提议,自我绑定大于平均值的账户,获得奖励的几率会按一定比例减少,那么怎么防止大户把自我绑定的部分分成多个账户来选择委托的方式获得奖励?
这个模型提出,比普通委托(由自我绑定分割)有更高委托的验证人(我们称之为杠杆)将得到的奖励将减少。将验证人分成更小的验证人对他们没有好处,我们的目标是激励委托人成为经过过度杠杆化的验证人,而不是重新委托成为低杠杆的验证人。然而,这个提议还只是个有趣的想法,依旧需要进一步思考,因此不会在上线时出现。
自我绑定越多,验证人获得的奖励就越多,一个很优秀的验证人在目前的体系下,可以获得可观的奖励。
提议模块今天我没有机会细讲,但我们希望社区通过这个模块,让Cosmos 能实现POS+POR(proof of reputation)。
刚才讨论的这些提议,后期会通过在线治理,由提议模块支持是否真的会采用。
02
unbonding的时间,是怎么计算出来的,和长程攻击有关系吗?
没错,这两个观念直接相关,因为解绑时期对节点必须与网络同步的频率设置了上限,使其避免远程攻击。现在,这个时期是三周。
太长太短都不好,3 周正好,我们也在优化一些工具, 我个人认为这个时间还可以更短。
POW 和 POS 在安全上各有优势,我对于结合 POW 和 POS 如何结合支持安全性提高非常有兴趣。
03
怎么看100个节点的中心化问题,后续的节点并不能轻松进入做验证人,100个是BFT的某个阈值吗?
我们最近在测试网上测试了Tendermint,发现了软件能自如运行200个及更多的验证人。这是PBFT的一个突破。
我们计划每年增加验证人的人数,十年后能达到300个验证人。在初始阶段,我们认为最好相对保守一点,直到我们能用集合签名这样的新技术,使更多验证人在没有被委托的情况下实现操作并扩展。
我们不用担心100位验证人太中心化,因为我们的委托机制将给委托人更多权力。
PBFT下的节点数一般是4-7个,我们的300个节点是个大突破。
现在POW 基本上被10个大的算力池控制,EOS21个节点,而且是固定的。 基于Cosmos的PBFT,100 个节点是动态的,而且未来我们能支持更多验证人加入网络,而不会影响网络性能。
以下问题是密码极客在社群成员中搜集的问题
01
关于跨链技术机制,主要有公证人机制、哈希锁定、侧链|中继、分布式私钥控制,Cosmos用的是中继机制,请问当初为什么选用这种机制?
大家可以看看这个链接
https://forum.cosmos.network/t/polkadot-vs-cosmos/1397/3
我们将注意力放在侧链/中继上,因为它是最普遍的变体,在POS而不是信任的公证机制保护下,允许跨链状态转移。
原子交换允许资产在两条不同链间交换,而侧链则允许资产本身在不同链间的转移。
IBC或侧链允许资产本身在不同的链之间转移。
考虑到这一点,我们认为不同的跨链技术应该共存,以提供完善的用户体验。不同的技术侧重解决不同的问题,因此,我们和Kava及IOV项目在跨账本协议和原子交换技术上展开了密切合作。
开始,我们只专注通证本身的转移,日后,我们或加入更复杂的资产。
02
波卡的互操性与Cosmos的实现策略比较类似,请问Cosmos与波卡相比有哪些不同或优势?
Cosmos 和 Polkadot 很像,我们也一直在互相学习,分享成果,希望日后两个系统可以互相交流。
相似点:支持应用专有链(cosmos先提出的)。不同主要在于对治理模块的处理,discentralized security (Cosmos) VS shared security (Polkadot)。
03
Cosmos的经济制度激励是什么样的?Cosmos何时发币?
生态奖励请见:
https://blog.cosmos.network/economics-of-proof-of-stake-bridging-the-economic-system-of-old-into-the-new-age-of-blockchains-3f17824e91db
通证抵押模块:
https://github.com/cosmos/cosmos/blob/master/Cosmos_Token_Model.pdf
ATOM通证将在Cosmos主网上线时发行。
Cosmos生态由验证人和委托人组成,原生通证是ATOM,日后可以有其他通证。
今天的分享就到这里啦,欢迎大家关注我们!