在昨天密码极客 &COSMOS 直播的过程中,有很多小伙伴都表示「很懵」。

懵是正常的,每一次密码极客的线上分享都会有很多新听众,其中一大半并不了解技术,只是知道密码极客分享的项目都是技术过硬的顶级项目。

像这次 COSMOS 也是一样,作为跨链的顶级项目,它既然能被人称作是区块链 3.0,一定会有超出普通认知范畴的技术难点。

这也是密码极客为什么邀请 COSMOS 官方团队来做分享的原因之一。

分享正式开始

密码极客邀请到 COSMOS 团队两位工作人员来分享相关技术,其中 Chjango Unchained 小姐姐的分享主要围绕 COSMOS 如何重构区块链生态,而 Sunny Aggarwal 就负责相关技术内容。

在 Chjango Unchained 小姐姐的介绍里,首先是对区块链发展演变的总结。

听说你想知道 COSMOS 什么时候发币?

区块链 1.0 时代主要是以比特币和比特币的分叉币(BCH)为代表,开发团队对比特币代码进行 fork,功能主要集中在交易。而且因为系统庞杂也阻碍了区块链发展,不同区块链之间也无法相互通信。

在 COSMOS 之前,大家的选择很有限,只能从比特币分叉,大家对应用的控制很有限,第一代 Dapp Zcash 的灵活性就很不好。

那后来区块链 2.0 时代,以太坊的出现,使得开发者可以使用智能合约扩展功能。但是创建的应用都基于以太坊,性能受限。但未来的区块链应该是所有人可以在自己的链上资质,同时可以进行跨链操作。

所以我们提出了 COSMOS SDK。

听说你想知道 COSMOS 什么时候发币?

COSMOS SDK 对于开发者十分友好。首先它是用 Go 语言写成,允许开发者在 COSMOS 网络上用最简单的方式来设计自己的请尽快。

COSMOS SDK 提供模块化的结构,为开发者提供提供即插即用的开发框架。也就是说开发者可以选择基础区块链应用程序,添加治理或股权代理等模块,甚至创建属于自己的模块,并发布可交互的区块链。

我们的 SDK 在 github 上完全开源。

经常会有人说我们的 SDK 和 Polkadot 的 substrate 框架很像,事实确实如此,区别在于我们使用 go 语言来写的。

CPSMOS 的核心协议是 IBC (链间通信),允许区块链之间进行通信,实现链链交互功能。

听说你想知道 COSMOS 什么时候发币?

其中的方法是将自己的区块链连接到 COSMOS hub 上,通过 hub 再将信息发送到相应的链上。只要新链遵循 IBC 协议,就可以加入该网络,包括公链和私有链。

本质地说,COSMOS 正在构建一个网络体系,其中新区块链可以轻易创建,并从创立之初就可以进行交互。而且在用了 COSMOS SDK 之后,就不用从零开始建立区块链。同时每条链都将在 Tendermint 上运行,有了 Tendermint 也不用重新开始建立共识。

在简单地介绍了 COSMOS 之后,官方团队的 Sunny 开始给密码极客的社群成员介绍 COSMOS 更专业的内容。

听说你想知道 COSMOS 什么时候发币?

对于 COSMOS 为什么选用 POS,Sunny 给出了答案。

类似于比特币的 POW 共识,首先是对算力的浪费。另外就是消耗大量电力带来的环境问题。同时 PoW 是一种低效的共识,网络吞吐量很低。

为了解决 PoW 存在的这些问题,研究人员提出了基于权益证明,PoS 的共识算法。与 PoW 不同,希望成为有出块资格的人必须抵押一部分资金。抵押代币越多,获得出块资格的概率也就越大。就像 PoW 中,算力越大,出块的概率也就越高。若出现作恶行为,押金将被罚没。

听说你想知道 COSMOS 什么时候发币?

如果你出现恶意行为,比如双重签名,解绑期就会让你受到惩罚,COSMOS 的解绑期为 3 周。另一方面,如果我们没有证据证明你的恶意行为,你能重新拿回 stake。

听说你想知道 COSMOS 什么时候发币?

一般用户,可以通过 delegation 来参与网络维护。我们为验证员提供参与的机会,但需要一直在线。这是我们引入代理的原因。委托人会选择自己想要的验证者。

validator 验证者,会把部分 delegator 给他们 token 产生的收益,通过协议返回给 delegator。

很多人建议,比起直接给验证者奖励,不如给他们智能合约。但是,我们想要一个标准的委托系统。

validator 如果不诚实话可能会携款逃跑,比如 tazos 最近就出现了类似的事故,COSMOS 的 delegation 是通过链上协议完成的,来解决这个问题。

所以你是验证者,你可以使用特殊的自我绑定功能。

Cosmos 要求有 self bond, 自己要有一定比例的抵押,同时,解绑期,还有 slash 机制,都在解决这个问题。

委托人根据以下方面选择验证者:
验证者记录
验证者安全设置
协议要求的最低自我绑定
佣金

你需要为运行验证者支付一定比例的佣金。这是经典的再委托机制。COSMOS 的用户可以在多个 validator 间 无缝转换,这是其他 POS 公链现在都没法支持的 .

换验证者时首先需要解绑。这种无缝转换是智能合约没法支持的,Cosmos 能做的这点,是因为我们直接在协议层实现。协议层实现有许多优点,今天我没有时间细细介绍。

我们希望这种无缝转换能让 delegator 非常容易在 validator 中转换,选择更好的 valdiaor。我们支持良性竞争。

validator 需要给 delegator 提供 commission 分红,来吸引用户 delegator token 抵押在网络上。

Q&A

到这里,COSMOS 团队对于简单的项目介绍结束了。而接下来,就是我们照例的问答环节,此次的提问嘉宾,密码极客邀请了 Wetez 的创始人卡咩。Wetez 目前是 Tezos 在中国最大的节点,同时也将给 COSMOS 社区提供服务。

01 如何解决 PoS 里面,大户持币较多,获得出块的几率也比较多,从而奖励也会越多,大户更大的问题?这个问题在 Cosmos 这种要求前 100Staking 验证人的系统当中,大户的问题会更加明显。

我们围绕授权、奖励分配、重新授权、验证者承诺等建立了一个很坚实、经济的良好机制,使持币系统尽可能的去中心化和抗粘性,并将持币者的权力交到几千个被授权者手中。不像 DPoS 或 LoPS,在 Cosmos 奖励将自动分配给所有被授权者而不只是给 100 个验证者。

这里刚才提到的 delegation 机制对于去中心化支持非常重要。成千上万的用户都可以通过 delegation 参与网络验证。

曾经看到一份提议,Self-bond 大于平均值的账户,获得奖励的几率会按一定比例减少,那么怎么防止大户把 self-bond 的部分分成多个账户来选择 Delegate 的方式获得奖励?

这个模型提出,比普通授权(由自我绑定分割)有更高授权的验证者(我们称之为杠杆)将得到的奖励将减少。系统可以抵抗女巫验证者;将验证者分成更小的验证者对验证者没有好处。我们的目标是激励被授权者成为经过过度杠杆化的验证者,而不是重新授权成为低杠杆的验证者。然而,这个提议还只是个有趣的想法,依旧需要进一步思考,因此不会在上线时出现。

self bond 越多,验证者获得的奖励就越多,一个很优秀的验证者在目前的体系下,可以获得可观的奖励。

proposal 模块在今天我没有机会细讲,但我们希望通过社区通过 proposal 这个模块,让 cosmos 能实现 POS + proof of reputation (信誉)。

刚才讨论的这些提议,后期会通过在线治理,由 proposal 模块支持是否真的会采用。

02 unbonding 的时间,是怎么计算出来的,和长程攻击有关系吗?

没错,这两个观念直接相关,因为非绑定时期对节点必须与网络同步的频率设置了上限,使其避免远程攻击。现在,这个时期是三周。

太长太短都不好,3 周是个好的起点,我们也在优化一些工具, 我个人认为这个时间还可以更短。

我们不希望这个时间太短或太长,我个人希望缩短这个时间,随着节点同步和询问工具的完善,所用时间可能会减少。

POW 和 POS 在安全上各有优势,我对于结合 POW 和 POS 如何结合支持安全性提高非常有兴趣。

03 问怎么看 100 个节点的中心化问题,后续的节点并不能轻松进入做验证人,100 个是 BFT 的某个阈值吗?

我们最近在测试网上测试了 Tendermint,发现了软件能自如运行 200 个及更多的验证者。这是 PBFT 的一个突破。

我们计划每年增加验证者的人数,至第十年结束能达到 300 个验证者。在初始阶段,我们认为最好相对保守一点,直到我们能用集合签名这样的新近技术,使更多验证者没有授权的情况下实现操作和扩展性。

我们不用担心 100 位验证者太中心化,因为我们的授权机制将给被授权者更多权力。

PBFT 下的节点数一般是 4-7 个,我们的 300 个节点是个大突破。

现在 POW 基本上被 10 个大的 算力池 控制,EOS 21 个节点,而且是固定的。 Cosmos 的 PBFT 的 100 个节点是动态的,而且未来我们能支持更多 valdiators 加入网络,而不会影响网络性能。

以下问题是密码极客在社群成员中搜集的问题

01 关于跨链技术机制,主要有公证人机制、哈希锁定、侧链 | 中继、分布式私钥控制,Cosmos 用的是中继机制,请问当初为什么选用这种机制?

大家可以看看这个链接 https://forum.cosmos.network/t/polkadot-vs-cosmos/1397/3

我们将注意力放在侧链 / 中继上,因为它是最普遍的变体,在 POS 而不是信任的公证机制保护下,允许跨链状态转移。

原子交换允许资产在两条不同链间交换,而侧链则允许资产本身在不同链间的转移。

IBC 或侧链允许资产本身在不同的链之间转移。

考虑到这一点,我们认为不同的跨链技术应该共存,以提供完善的用户体验。不同的技术侧重解决不同的问题,因此,我们和 Kava 及 IOV 项目在跨账本协议和原子交换技术上展开了密切合作。

开始,我们只专注代币本身的转移,日后,我们或加入更复杂的资产。

02 波卡的互操性与 Cosmos 的实现策略比较类似,请问 Cosmos 与波卡相比有哪些不同或优势?

Cosmos 和 Polkadot 很像,我们也一直在互相学习,分享成果,希望日后两个系统可以互相交流。

相似点:支持 application specific blockchain (cosmos 先提出的)。不同主要在对于 governance 的 处理,discentralized  security (Cosmos)  vs shared security (Polk)。

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,日后可以有其他代币。

在这个大家伙都不大好过的 2018 年,密码极客也感受到了这波寒风。从年初到年终,密码极客都在快速成长,也曾在数小时内涨粉近两万。当市场的热情下降后,密码极客也及时调整了策略,面向海外技术过硬的顶级项目。

像之前的 Polkadot、Dfinity,都是密码极客邀请官方团队来国内做首次线上分享。

在这个年末,能够以 COSMOS 做 18 年的总结,我们密码极客也会以此为基础,撼动更多顶级技术项目。