前言

初视波卡与Cosmos觉得两个项目挺像的,都是基于中继链/侧链的跨链解决方案,后来为了写这篇对比文章找了很多资料,逐渐的发现设计哲学对项目后续发展不同的影响,得出了一点心得,欢迎大家一起讨论,。

每个人看项目的角度都不一样,安全重要?扩展重要?生态重要?哪一个要先发展?

在波卡与Cosmos开发人员的问答直播里,答案明显呼之欲出,两个项目一致共识从安全出发,这给我很大的体悟,从安全为起点思考这两个项目才是正确的方向。

没有安全就没有根基,为什么早些时候货币是金银,因为很难伪造,为甚么政府要在纸钞上做出这么多花样,因为假钞扰乱了真钞,正如这些货币,区块链上的加密货币一样如此,一条链出现了双花攻击,凭空造币等安全问题,那这条链大概率就声誉全毁,技术及远景再牛逼都是一场空。

以下开始正题:

第一个不同点

Cosmos与波卡两个跨链项目在安全上不同的设计哲学

Cosmos强调自治,希望能有一个更自由更自主的跨链生态,白话说如果一条链是一个国家,Cosmos这个大世界里,每个国家都有自己的军队与主权维护安全,所以在中心Hub和区域Zone上各自的验证人节点不同,自行维护安全。

Polkadot强调团结,希望更多的项目团结来增加跨链生态的安全,白话说在Polkadot这个大世界,大家共同建立一个联合政府,联合政府会指派军队去保护各个区域安全,所以在Polkadot上,中心Relaychain与区域Parachain的验证人节点统一由Polkadot系统分配。

第二个不同点

这样的安全设计理念下两者各自会遇到什么样的恶意攻击呢?

Cosmos下,中心Hub与区域Zone各是不同国家,每个国家负责安全的军队都不同,当跨链场景从ZoneA 到Zone B发生时,外部人怎么知道ZoneA 与Zone B的军队(验证人)是善良诚实的?在高速复杂的跨链场景下,某一个Zone被攻击后,可以发出虚假信息进而扰乱整个Cosmos大系统。

Polkadot下,所有军队(验证人节点)由Polkadot随机挑选并分发到不同区域(Parachain)上,如果随机分配到Parachain上的一群节点,是互相勾结的坏人,那外部人就有理由怀疑上面发生的跨链交互是有问题的。

如何解决呢?两者各有应对方案,在理想情况下

Cosmos本身团队是Tendermint出身,Tendermint团队深耕于在区块链上实现拜占庭容错,拜占庭容错能容许一定节点作恶下,系统依然不崩溃而正常运行,所以Cosmos有底气设计这样的自治生态,同时Cosmos的Hub中心会有一个全局观的代币状态,在最重要币的安全上,中心Hub有责任去检验不同区域Zone上的操作是否真的有这么多数量的代币,如果发现全局观的代币记录与分区上代币记录不一致,可以将中心Zone与区域Hub间的联系中断,有效遏止作恶引起的系统崩溃,具体实现等Cosmos上线后将会有更多的讨论。

Polkadot通过随机挑选验证人节点,维护每一条围绕Polkadot的链,当可以被随机挑选的验证人池子越大,那就会越公平与安全,想作恶的一群人被划分在一起的概率会下降,所以Polkadot官方希望有1000个节点来维护Polkadot这条链, 同时加入钓鱼人Fisherman这项角色,作为系统内警察,通过揪出作恶操作获得奖励来进一步加强系统安全。

PS: 真实的攻击和变化肯定更多,我不是安全专家,只是举了最容易了解的攻击形式

第三个不同点

安全设计哲学下如何影响代币价值与生态发展

币价和安全性有什么关系?

我们都知道比特币里一部分的安全是由矿工运行矿机来保证,算力成本的高低和币价有一定关联性(虽然不是直接因果关系),在PoS共识下,没有实体矿机,大家手中的币就是矿机,币通过委托代理Stake进行挖矿,同时维护链的安全,如果要攻击一条PoS的链,攻击代价就是控制1/2甚至要到2/3比例的代币。

先说Polkadot共享安全shared security的概念(就是前面提到的团结哲学),Polkadot认为不是每一个新的区块链都可以找到这么多节点来维护安全(事实也是如此,很多新公链最大问题就是节点不够,不够就代表不去中心化不够安全),Polkadot说我提供大家安全性,大家的链接入到我整个系统,所以Dot代币将来提供的不仅仅是Polkadot自身安全,还包挂围绕在Polkadot旁Parachain的安全,可想而知Dot用途更广了,价值也扩大了。

Cosmos强调了自治思想,所以每个区域Zone需要自己的验证人节点提供安全,在PoS共识架构下,每个自治Zone的代币都承担了安全保护的功能与价值,但同时Cosmos原生代币Atom的用途也相对Dot减少了。

反过来想Polkadot的模式其实是抢夺了其它链原生代币安全保护的功能与价值,建立在Polkadot上的链就只剩下本身业务场景才能撑起币的市值(打了一个大大折扣),所以我猜测一个希望自己做大(市值高),有自主权的链,会选搭建在Cosmos之上。

当然Cosmos也有在讨论提供共享安全性的想法,以现阶段区块链还在早期的阶段,市场上确实没有足够且去中心化的验证人节点来为新的区块链服务(必须要有足够的经济诱因),我认为共享安全性是一个不错的点子。

第四个不同点

瞄准场景的不同

Cosmos专注在代币流动的领域,还有支持跨链下使用代币进行的物件化模块功能调用。

Polkadot专注在整个信息的流动,其它Parachain的最终共识由Polkadot提供,使Polkadot的中心Relaychain在记录整个网络的所有信息状况更容易,Polkadot上可以做到直接调用其它链上的智能合约。

两个项目其实都可以向外扩展,或是向某个方向专注,特化下自然会形成两者各自的特色而吸引各自的项目开发者与使用者。

最后一些有趣的讨论

1. 不管是Cosmos和Polkadot都要面临验证人节点不足的问题,从我们参与社区的观察,一条链拥有超过100个不同背景的验证人节点现阶段是很难的(短期内区块链还没有发展那么广为人知,可能由基金会自己运行,投资机构运行,或同一个团队运行多个节点来满足)

2. Cosmos, Polkadot及Tezos, 这三个项目的验证人节点有很大一部分重叠,作恶问题,垄断问题可能发生,是一个有趣的事实。

3. 项目开发进度与回应速度,我会比较担心Cosmos,Cosmos项目已经延期,而且从我们递交给官方信息的反馈速度来看,Polkadot远胜Cosmos。

4. 跨链项目不会这么快,观察他们如何完美的解决连接以太坊及比特币再说,这两个最主要的区块链社区,互相连接上了才会有更多的交互的创意与应用,连接以太坊是这两个项目上线后最主要的目标,同时他们也提到连接比特币更困难,但还没有确定时间轴。

5. Cosmos团队提到2019年要开始宣传可组合型Composibility,Cosmos SDK是一个可以节省开发者大量时间的工具包,内置委托代理,治理,跨链等基础功能模块,Polkadot也做了一个类似工具包Substrate。除了设计哲学,谁能更好的说服及宣传自己的工具包,谁就能掌握更多的开发者。

从设计哲学对比波卡与Cosmos相关推荐

  1. [转] MySQL和MongoDB设计实例对比

    转载自: http://www.phpchina.com/?action-viewnews-itemid-39896 文章举了一个数据库设计的例子,对MySQL和MongoDB两种存储工具,分别进行了 ...

  2. python的设计哲学_Python 的设计哲学

    The Zen of Python, by Tim Peters Python 的设计哲学,作者:Tim Peters Beautiful is better than ugly. 优雅胜于丑陋. E ...

  3. mysql mongodb插件_MySQL和MongoDB设计实例对比分析

    下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢? 如果使用MySQL的话,应该如何存 ...

  4. Java面向接口编程,低耦合高内聚的设计哲学

    接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...

  5. 跟vczh看实例学编译原理——一:Tinymoe的设计哲学

    自从<序>胡扯了快一个月之后,终于迎来了正片.之所以系列文章叫<看实例学编译原理>,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点. 但 ...

  6. git add多个文件_Git之旅② - 子命令与设计哲学

    如果有人让你猜Git总共有多少子命令,你可能会在思索一番之后说:可能几十个吧(虽然常用的不超过10个).那么,当我告诉你大概有170多个时,你会是什么反应呢? 1. 所有Git子命令 Git版本号(这 ...

  7. MySQL与MongoDB设计实例对比

    MySQL与MongoDB设计实例对比 2011年06月15日14:06 来源:huoding 作者:老王 编辑:胡铭娅 评论:0条 如果使用MongoDB的话,应该如何存取数据呢? 如果使用Mong ...

  8. Python(1)-源起、设计目标、设计哲学、特点

    python简介 1. python的起源 2. 解释器 3. python 语言的设计目标 4. python 语言的设计哲学 5. Python 特点 人生苦短,我用python–吉多·范罗苏姆( ...

  9. 设计有三个窗口的框架结构网页_技术周刊丨钢框架结构直接分析设计与传统设计方法对比研究——恒荷载作用结果对比...

    ▲ 点击上方蓝字,关注SAUSAGE非线性!作者:侯晓武 丨 职位:技术经理 仁荷大学(韩)建筑工学博士 曾任建筑软件(MIDAS Gen/Building)技术负责人 拥有11年建筑软件技术支持经验 ...

最新文章

  1. MyBatis Generator 详解
  2. Python实现线性回归2,梯度下降算法
  3. GC算法-标记压缩算法
  4. 定义css设备类型-Media Queries
  5. java 获取所有线程,Java 实例 - 获取所有线程
  6. java判断两线段是否相交
  7. PHP switch问题
  8. 目前服务器操作系统版本,Windows操作系统的版本选择
  9. Applese 的毒气炸弹(最小生成树)
  10. XeThru Sensors SW Module Connector-matlab
  11. 写给五笔初学者,一家之言,欢迎拍砖
  12. 百度站内搜索使用教程
  13. 关于教程被人盗版出售的一些感想
  14. switch 贯穿的妙用
  15. MathML与SVL
  16. 访问控制列表之基本ACL、高级ACL 、 高级ACL之ICMP、高级ACL之telnet
  17. 笔算开2次方根、3次方根详细教程
  18. java计算机毕业设计ETC用户自驾游推荐系统MyBatis+系统+LW文档+源码+调试部署
  19. jquery中.eq()与:eq()的区别
  20. 第七届电工专项 如何进行焊接

热门文章

  1. 三网话费接口API 文档
  2. 纯CSS3制作的“Ribbons”效果
  3. Exception————c3p0
  4. python tkinter Button的使用
  5. 如何在Windows资源管理器中自定义文件夹背景和图标
  6. oracle addmonth用法,PLSQL ADD_MONTHS用法及代码示例
  7. 哈希切割+布隆过滤器
  8. 使用Docker搭建自己的在线密码管理器软件-Bitwarden
  9. Java实现bt文件下载、制作、解析、磁力链接
  10. 学校计算机用房地面用什么材料,学校食堂地面防滑该用什么材料?