你一定看得懂的波卡详解

波卡是一个跨链项目,跨链项目是可以连接不同公有链项目(比如我们熟悉的比特币,以太坊,EOS 等)更底层的协议,但跨链不仅仅于此,还可以连接不同的 DAPP, 传统商业世界的企业服务,政府公部门数据等。
这些都是波卡未来可以做的
团队靠谱吗
波卡的团队首先不缺钱,(融了 1.4 亿美元等值 Eth,其中一半以上是法币),领头人物是 GavinWood,团队成员很多来自 Parity,Parity 有多牛逼呢 ? 当年以太坊网络遭受 DDOS 攻击,以太坊官方的 geth 客户端无法运行,只剩下 Parity 客户端,因此大多数节点都转向使用 Parity。有经验的 Parity 团队阵容坚强,根据追踪目前为止波卡的开发进度都按预定时间表完成
重要的时间轴
2017 年 10 月众筹
2018 年底提到 2019 正式上线前会有第二次众筹
2019 年上半季度,治理及 PoS 共识架构(我们推测会有经济白皮书,关于每年通胀多少,如何委托代理,怎么抵押等规则)
2019 年 7.8 月,Parachain 的接入
2019 年第三季波卡正式上线(推测只是主网运行,能进行委托代理,但真实的跨链场景没有那么快,后续还需要接入 Grandpa 共识,跨链通讯,中继链的 routing 架构,完整版的波卡应该会在 2020)
波卡的 DOT 币价值支撑在哪里?
(官方对币的价值不予评论,只提到了持有 DOT 的功能,一参与治理,二参与 PoS 共识,三作为价值奖励机制,参与波卡网路共识的用户能获得奖励)
1. 维系整体网络
DOT 是串起波卡系统的灵魂,DOT 用来维系整个波卡跨链系统的稳定,在 PoS 共识下,DOT 可以类比为 PoW 下的矿机,有了 DOT 就有权力进行挖矿,参与挖矿的同时就是为网络安全做出贡献。
2. 共享安全性概念(维系整体网络的延伸)
我把安全性看做为信用,用古代的钱庄举个例子,一群商人想做钱庄生意,但因为知名度不够,普通人又对新钱庄信用存疑,于是有一家大钱庄跳出来说,我们建立一个联盟吧,大家都用我印有我样式的纸钞做生意,我来替大家提供信任与安全的背书,加入这个联盟的新钱庄就不用担心信用问题,可以专心在自己业务上。
下面是详细解释:
区块链世界提出去中心化的概念,去中心化靠的是全世界各地有不同的节点共同维持网络,但随着链与应用越来越多,区块链世界其实已经面临到一个问题,“节点不足”,没有足够分散的节点就可能被质疑中心化与不够安全。
每一条链都希望有足够多的节点,但不是每条链都有足够的影响力号召和提供经济激励给这些节点,波卡预见了这个问题,提出了共享安全性的概念,也就是接入波卡协议的链,可以通过放弃自身链的最终共识,使用波卡节点提供的安全性,波卡会为不同的链随机分配节点来维系网络
这些节点要运行就必须要有 DOT,随着联盟扩大,DOT 支撑的信用与安全性就越大越重,波卡就是像个老大哥,保护大家的同时,提高自己影响力与增加价值。
3. 手续费
手续费产生于在区块链上的任何操作,衡量关键就在于有多少应用操作需要消耗到 token,目前看来只有交易所的交易手续费场景会消耗大量的 token,大部分的区块链手续费消耗很难称其链的价值。未来手续费的消耗会随着使用波卡的操作场景变多而增加,从而支撑波卡价值。
波卡的应用场景
我就用几个点简单举例
1. 最简单的是去中心化交易所,通过跨链与中心化交易所竞争
2.更复杂的是智能合约的服务调用(比如说一家专做反洗钱业务的公司,将查询比特币地址的服务写成了智能合约接入了跨链,任何交易所或公部门想要查某一个违法地址,就可以通过消耗 Token 在链上调用这项服务)
3. 政府部门的数据链接(EOS 的 CEO 在推特发表,这是区块链价值很大的一部分)
真实的跨链应用场景,是需要双方或是多方配合完成的,因此在大家没有广泛认识到区块链技术前是很难出现的,就比如互联网出现很久后,直到手机普及,电子支付普及,在中国才诞生了我们每天使用的外卖服务。跨链最先的应用会先从 Token 与 Token 的交换开始,复杂的智能合约服务互相调用及与政府部门数据跨链使用是一个将来的故事了。
波卡技术架构详解
在介绍明星跨链项目波卡前,我想先说一个社群里一般用户的疑问,跨链项目可以是侧链项目吗,差别在哪里?
两个概念是有共通点的,侧链是两个人间手拉手,分享资源解决问题,跨链是一群人手拉手,分享资源解决问题。
区块链里的扩容问题,链与链的交互问题,实际上跨链与侧链都可以解决。
侧链是 在原有的区块链外,搭了一条平行的区块链来解决原有区块链的问题
比如:比特币交易速度很慢,可以有一条侧链专门解决比特币交易速度问题,但用户依然使用比特币;比如以太坊扩容问题被质疑,TPS 低很多应用跑不了,可以有一条侧链专门跑以太坊上跑不动的应用,但用户使用 ETH
主链与侧链间通过双向锚定,持币人持有主链的代币,但使用侧链上的功能。
跨链是
有一个像路由器的中心,中心外是各式各样的区块链,持币人可以持有 BTC,并通过跨链去使用比特币上无法实现的功能
,也可以理解成上面有好几条链,因为有了路由中心,所以互相为侧链。
任何的想法其实都是在解决问题,只是实现的方式不一样,我觉得结论很有意思:区块链的演化路径只有一个:专业的链做专业的事,其他事让更专业的链去做。侧链或跨链作为管道,连接成果。
我们进入今天主题,波卡的跨链模型怎么实现呢?
**
**
波卡的实现由 Relay chain,Parachain,和 bridge chain, 通过双向锚定实现。(下面是一个故事)
想象一下,在太平洋上,有好多好多不同的小岛,因为交通不发达,小岛上的居民只能自己自足,到了大航海时代,来自英国的公司叫波卡(波卡真的被英国政府投资了),来到了太平洋,告诉了大家加入我这个波卡联盟,以后你们岛上的榴莲呀,苹果呀,橘子呀都可以通过我而与各个岛做交换,甚至是岛上的任何技术,通过波卡作为中心,会记录各个小岛资源的信息库,同时也会把各个小岛想要交换的物品,资讯,通过中心,有顺序的安排转入与转出,于是各个岛因为交换,岛上的居民生活变得更好了。
跨链就是解决区块链孤岛效应的问题,下面我们说说怎么实现的 , 继续上面的例子,但不是真实的水果,真实的水果互相交换需要的是物流中心与快递,区块链里的交换是链上的虚拟资产与服务。
情境:假设 Alice 要将 Parachain A 链上的 Apple 币和 Bob 在 Parachain
O 链上的 Orange 币做交换。(备注:Parachain 就是故事里孤立的岛,Relaychain 就是波卡信息中心)
信息状态的记录步骤如下:
1. Alice 在 Parachain A 链发起交易,将交易信息 (我要将我的 Apple 币换掉) 放入转出队列 outgoing
2. Relaychain 接收到这个转出队列 (outgoing) 信息后,Relaychain 作为中继站将信息取出来,整理好放入到 Parachain O 链上的转入队列 (incoming)。
4. Parachain O 链接收到转入队列 (incoming) 的消息后,便记录 Bob 拥有了 Parachain A 链上的 Apple 币
5. 重复以上的步骤,Bob 在 Parachain O 链上发起的交易,最后 Alice 接收到 Parachain O 链上的 Orange 币。
以上是关于 Relaychain(中继链的信息记录),实际上有一个问题,信息是信息,但实际资产是资产,有读者可能有这样的疑问,我如何知道 Alice 有把 Apple 币确实的转出来,而 Bob 确实拥有所有权呢?
这中间呢其实取了一个巧,波卡系统将 Apple 币转入智能合约里在 Parachain A 链进行锁定,同时发行了一个叫波卡-Apple 币给到了 Bob,这个波卡-Apple 币其实就是 Bob 的所有权证明,当 Bob 想要动用 Apple 币,他可以像波卡系统提出要求,将智能合约里的 Apple 币取出来,同时波卡系统会销毁波卡-Apple 币。
反之亦然,另一个方向的 Orange 币也是这么解决,这就是前面提到的“双向锚定机制”,不仅仅是跨链项目,侧链项目也是通过这个办法证明所有权,进行链的转换,以太坊通过双向锚定,可以在侧链上跑更流畅的应用,在结束时顺利的将 ETH 转换回以太坊主链。
最后还有 Bridgechain,桥链是特化的 parachain,因为不是每个 parachain 的共识都和波卡系统相似,比如比特币及以太坊属于 Pow,波卡属于 Pos,彼此的通讯需要特化的协助,桥链顾名思义连接,通过运行完整的比特币链,以太坊链,整个波卡 Relaychain 系统可以精准掌握不同链上的所有情况。
波卡的经济架构里几个参与者
PoS 的架构里,基本的参与者都差不多,大家只要读懂一两个,接下来的了解速度就会很快,首先Nominator (提名人)
,也可以理解为一般持币人,每一个持币人在 PoS 里都有权利,这个权利能让持币者获得收益,但持币者没有那么多的时间精力去关注区块链,所以可以通过委托的方式,将权利委托给信任的人,间接行使权利获得收益。
这个信任的人就是Validators(验证人)
,验证人是维护区块链网络的重要部分,大家可以理解为矿工,但 PoS 里没有矿机,币就是矿机,验证人在波卡的中继链中运行节点,负责验证收集人(下一个会提到),在各平行链打包好的区块,验证成功获得奖励,最后将奖励依照一定比例分给 Nominator(一般持币人)
Collator (收集人)
这边比较特别一些,是一般区块链没有的角色,在跨链中收集人就像是收快递员一样,打包好信息放入到 Relaychain(中继链) 的角色
Fisherman (钓鱼人)钓鱼人其实就是波卡系统中的警察,检查验证人和收集人有没有不合规定的操作而影响到系统的安全性。
区块链系统就是一个去中心化的平衡,有普通人,有被选出来维系网络的验证人,有负责监察纠错的人,通过奖励惩罚方式,这些参与者被引导做正确的事。
目前波卡详细的经济体系要 2019 第一季才会出来,到时候大家就可以了解通胀率,奖励分配,锁定日期,还有关于共识机制,目前只知道主体是 PoS,但波卡肯定是 PoS 的变形,等到 Grandpa 共识有更详细的介绍出来会为大家详细说明。

波卡下一次众筹!什么形式什么价格

明星项目 Polkadot (波卡)又要众筹了?Gavin Wood 20 号在他的 medium 提到还未分配的 20% 波卡币 dot 的发售计划。
这篇我会告诉你当初众筹价格,拍卖形式,及我们对下一次众筹价格的想法,要看到最后哦,下面是 Gavin 英文原文。
**

**

波卡有多么热门呢?
当初一共募集了 485,331 个 ETH(以太坊),由号称以太坊隐形大脑的 Gavin Wood 领军的项目,Gavin
Wood 是以太坊技术黄皮书的撰写者,Partiy 的创始人,这个跨链项目被很多人追捧是区块链 3.0。
Polkadot (波卡)是什么?
Polkadot 是一个跨链项目,用来连接不同公有链,私有链,及传统公司的数据和服务,是下一代价值互联网的基石,后续会有文章介绍。
Polkadot (波卡)当初募资情形与价格
2017 年 10 月 15 号-10 月 27 号,波卡的第一次众筹
采取变形的荷兰式拍卖原则,总共售卖总量为 1 千万总量的 50%
看一看 Polkadot (波卡)代币的分配
除了团队保留的 30% 外,并没有私募,而且还有 20% 还没由售出
我们来看一看当初售卖的情形,大家也可以评估一下什么价格我要入手下一阶段的 Polkadot (波卡)代币?
**
**
先说结果
波卡第一次众筹,结束日期 2017 年 10 月 17 号,众筹价格 1 DOT=0.109ETH, 当天以太价格 320 美金,换算 1
DOT 成本 =35 美金左右。
(第一个小时内参与荷兰式拍卖的投资人有 15% 的折扣,随着时间递减到 0)
想看荷兰拍卖细节的继续往下,这对决定 DOT 价格非常重要,也可以跳过直接看我对未来售卖形式与价格的猜想。
荷兰式拍卖细节详解
荷兰式拍卖有别于传统拍卖,喊一次,两次,三次,逐渐递高价格,最终拍板。
荷兰式拍卖有两个显著特点。
1. 价格随着一定的时间间隔,按照事先确定的降价阶梯,由高到低递减。
2. 所有买受人 (即买到物品的人) 都以最后的竞价 (即所有买受人中的最低出价) 成交。
Polkadot (波卡)是变形的荷兰式拍卖,投资人不是对一个固定价格进行出价,而是对你愿意拿出多少钱投资 DOT 为一个整体进行出价 ,
最后系统会算出成交价格,再结算出投资人拿到多少数量 DOT
重点一 , 投资者并不知道自己最后会以什么价格买到 DOT。
重点二,每一个投资人拿到的价格都是一样的。
重点三,一旦决定要购买 DOT,请尽快,早参加有折扣。
**

**

波卡荷兰式拍卖具体原理的小白解释
第一次售卖有 500 万个 DOT
供给方面:
1. Polkadot 官方会设定一个与以太兑换比例非常高的价格(比如 1 ETH=1 DOT), 这个价格会高的离谱。
2. 根据荷兰式拍卖规则,这个拍卖价格会随着时间逐渐下降,也就是图中的黑线(图中是以市值做表示,我简化为价格,市值公式如下:ETH 数量 =500 万个 DOT
* 与 ETH 兑换之比例)
需求方面:
3.投资人参与荷兰式拍卖投入的以太数量,也会产生一个价格,投入以太数量越多,需求方的价格也会越高,也就是图中粉红色的线。(图中是以市值做表示,我简化为价格,价格公式如下:投资人投入的 ETH/500 万个 DOT= 价格)。
4.拍卖结束的触发条件是,当图中上面的供给线(黑线)与图中下面的需求线(红线)相交。换句话说,当前价格下计算系统设定能接收的 ETH 数量上限 (供给线)= 投资人投入的 ETH 数量(需求线),拍卖结束,供需平衡。
5. 最终价格就会是 500 万的 DOT 除以供需平衡下的 ETH 数量 (相当于投资人总投入的 ETH 数量)。
6. 荷兰式拍卖结果是 1 DOT=0.109ETH
下一阶段可能的众筹形式
我个人推测很有可能与上一次的荷兰式拍卖相仿,由市场决定结果,如果是定死的价格,太高有人会吐槽,太低又会有当初投资人批评。
Gavin 说要等法律文件跑通后才会公布,预计明年初,Wetez 会为你继续跟踪
(中国用户要注意 , 当初波卡众筹是禁止中国人与美国人的,嗯,这个嘛,聪明人自由办法,嘿嘿嘿)
价格的猜想
那多少价格你会买波卡呢?我们来分析一下
1. 有谣言下一次的众筹会是一个 DOT=190 美金 ? 正确吗?
我们先看看目前唯一一个有交易波卡期货的交易所 Toktok,12 月 22 日价格 245 美金。
和当初募资价格相比涨了 7-8 倍,看起来好像有可能哦?
但是我们比较一下当初 Tezos 的情况,在 Hitbtc 上期货价格最高 1 xtz 到了 75 美金,现实情况开盘却不是如此,只有 1.6 美元,所以期货只能当作参考。
2. 那我们从不让当初投资人亏钱的角度出发?
当初大约是 35 美金一个 DOT, 换算到 12 月 22 号以太价格是 1DOT=0.32ETH, 相比当初对以太的众筹价格涨了 3 倍左右
3. 我们再从极端情况考虑,假设漫漫熊市波卡对以太破发了呢?
好的项目在熊市大概率也是破发的,并且打了 5 折,不好的项目在熊市一开盘就对以太只剩 1/10。
假设对以太破发一半,也就是 1 DOT= 0.06ETH, 换算成 12 月 22 日美金价格就是 1DOT=6.5 美金左右

Polkadot的Substrate基础链简介

如果你关注了Polkadot项目,可能会多次看到“Substrate”这个词。 它是Polkadot项目的重要组成部分,但有关它的信息非常少。 白皮书或黄皮书里找不到, 至少没有专门的介绍“Substrate”。 从较高的层面来看,Substrate是一个可以创建数字货币和其他去中心化系统的框架。 这太笼统了,本文详细说说。
首先,Parity Substrate是独立于Polkadot的项目。 Polkadot是基于Substrate构建的,现在你可以使用Substrate来构建新的区块链项目,而不用等Polkadot开发进度。
那到底什么是Substrate呢? 它是一个框架,类似于Express框架或其他Web应用程序框架,只不过是用于构建分布式或去中心化系统,比如加密货币项目,或消息总线系统。 正如大多数Web应用程序不需要重新实现自己的HTTP一样,我们认为创建新区块链也不需要从头实现网络和共识部分的代码。网络和共识的开发需要密码学专家、网络安全专家、网络工程师、网络运维人员等等,但是其实你应该专注在产品的核心业务逻辑上。 所以如果你使用Substrate,只需要实现非常少量的回调,就能得到这些特性:
·共识机制,不可逆性,出块投票逻辑。 即使你的项目不需要构建加密货币,甚至不是需要区块链的项目,Substrate也可以用于需要拜占庭容错机制的项目,比如网络中部分节点宕机、失效或者被恶意控制,但整个网络仍然可以继续正常工作。
· p2p网络。比如p2p节点的搜索,同步等等。
· 运行时的WebAssembly虚拟机。可以运行智能合约,或者其他基于Substrate开发的项目。 虽然你可以编写自己的虚拟机解释器,但我们坚信使用WebAssembly运行时的好处是,可以让你利用在WebAssembly社区的工作成果;
· 在浏览器中运行一个节点,并与其他节点通信;
· 跨平台的数据库/文件存储系统,还支持浏览器环境;
· 客户端平滑更新。对于可能影响共识的更新,会将代码编译成WebAssembly的执行文件,然后部署时作为网络上的一条消息。 这样的机制提供了这种可能,就是你还可以本地保有多个版本的共识代码,并在本地执行一个与部署环境不同版本的共识,Substrate会去处理本机环境与部署环境的差异。因为WebAssembly有回退机制,所以保证不会有不受控制的硬分叉或其他难以解决的共识导致的问题。
· Polkadot发布时立即接入你的项目。 虽然说使用Substrate构建的项目可以编译出一个独立的客户端程序(就像现有的区块链项目一样),但是把你的项目接入Polkadot就可以共享Polkadot的安全性和链之间的互操作性。 Polkadot本身就是使用Substrate构建的。Polkadot实现了Substrate API,会对Substrate框架中的任何漏洞进行快速反馈,很方便的运行Polkadot测试网,甚至再启动一个Polkadot链作为侧链。 这篇博客比较详细的介绍了Polkadot。https://medium.com/polkadot-network/how-polkadot-tackles-the-biggest-problems-facing-blockchain-innovators-1affc1309b0f
那你需要自己实现哪些东西呢?从本质上讲,Substrate是状态机,可以包括交易等内容。为了使Substrate尽可能通用,它本身没有任何交易。它有我们所谓的“Extrinsic外部交易”,这个“外部交易”是一个二进制BLOB,可以用来存储你想要的任何数据。对于大多数链而言,这些BLOB数据包括了交易,但使用Substrate,你完全可以从网络中去掉货币的概念,然后创建一个分散的Erlang样式的actor模型并发系统,赋予该系统一组受信任的权限,来验证网络行为的正确性。
如果你需要货币和交易,那么可能更简单 , 只要约定一个协议和一个数据库来访问数据。它比其他分布式架构(如微服务)更容易 ,因为运行的代码和数据存储在同一个地方,仅为数据存储提供向后兼容性就可以。对于具有私有交易的链,实现要复杂一些。
下面简要介绍启动并运行一个完整的区块链需要做什么:
1、初始化块的函数。该函数根据前一个块的头创建一个新的块。
块的头包括:1. 块高度; 2.块状态的加密索引,主要用于轻客户端验证块是否正确。 加密索引类似于hash; 3.块中二进制BLOB的加密索引; 4.父块的hash值;
2、块头的自定义数据。轻客户端仅同步块头,更新轻客户端时,注意处理块头中自定义的数据。
3、将交易写入块的函数。 这个函数也更新链的状态(例如,账户余额);
4、生成块的函数。生成一个写好头、写好BLOB数据的块。这个块就可以广播出去了。
5、校验块的函数。 全节点运行这个函数,确认接收到的块在接受之前是有效的。 例如,在资产链中,你可以检查是否有人人花费超过其自身余额的钱。
需要注意的是,块头包含块状态的信息,在生成块的函数里,要把块状态从初始状态设为完成状态,校验块的函数里,要把从完成状态变成校验通过状态。 块状态错了的话可能会导致共识问题。虽然以后可能会用其他方式来处理块状态,但是现在还需要这么做。当前的方式也不会太麻烦,额外写一个校验BLOB数据的工具函数就好了。
此外,你需要自己维护一个公钥集合,用于验证块的签名。块的签名验证与链使用的共识机制无关。 给块签名的私钥所对应的公钥应该放进这个公钥集合, 集合里的公钥可以变化,但每个块都由块创建时选择的集合进行验证。公钥集合里的公钥变化会产生的不同的公钥集合版本,以及由此引出的问题Substrate都会自动处理好。 公钥越少,安全性越低,公钥越多,验证耗费越多,这里要自己衡量。 通过签名验证后,块就被认为是“最终的”(即不可逆的)²。
使用Substrate创建链需要手动的处理POS,不是所有项目都要在链上发行数字货币。比如,测试网的币就没价值,还有消息总线的项目根本不需要数字货币。但是,在Substrate上编写一个库可以很容易地发行数字货币,并自动支持交易和POS共识³。比较推荐的使用Substrate方式,是在Substrate上构建更高级别的库,把Substrate作为项目的模块。随着Substrate的完善,会像编写现代Web应用程序一样轻松构建新链。
现在Substrate还没什么学习资料。 如果不是Polkadot团队的成员,很难学会本文讲的东西。 不过Substrate教程和文档很快就会有了。
补充3点:
你可能希望有向后兼容性,以便外部工具可以轻松地与你的链进行交互,你可以使用protobuf免费获得高效的向后兼容存储。
举一个例子,像比特币或以太坊这样的纯POW链根本不具有终结性,因为可能的验证器集是无限的。
例如,一个简单的POS链可能会在每个区块设置一次验证器,通过选择拥有最多权益的100个账户,并在获得不当行为证明时惩罚它们的权益。
最初于2018年7月9日在paritytech.io上发表,原文 https://medium.com/paritytech/what-is-substrate-29af4231d7e0

从设计哲学对比波卡与Cosmos

原创:张先生Wetez
前言
初视波卡与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。除了设计哲学,谁能更好的说服及宣传自己的工具包,谁就能掌握更多的开发者。

准备好在 Polkadot 上开发吧!

之前我们已大致申明了我们相信 Polkadot 可以吸引开发者的理由:Polkadot 会解决限制区块链普及和创新的最大困难。在这篇博文中,我们会提出一系列的建议,帮助开发者为 Polkadot 的发行做好充足的准备。

我们相信,让开发者继续使用他们已经熟练掌握的技术来开发是有可能的。在可开发性上,我们的目标是尽可能移除开发去中心化技术的障碍,虽然长远来看,切换到使用一门可以编译到 WASM 的语言来开发会更好。其中的推论过程我们会在本文中详细说明。

现在我们要讨论两个主题:(1)部署在 Polkadot 平台上的去中心化应用的开发路径;以及(2)简单介绍开发者如何能够开发一条功能完整的平行链(Parachain),参与到 Polkadot 的多链环境中。

有意愿在 Polkadot 上部署智能合约的 dApp 开发者不是非得创建一条平行链,因为 Polkadot 将会有配备图灵完备状态机的平行链。如果你对开发一条平行链感兴趣,我们来深入了解下你需要实现的东西、你可以用来实现它的工具、以及一旦实现了你可以在链上做些什么。

在 Polkadot 上开发 dApp 和平行链

现在,有些开发者可能会问:“我们可以为 Polkadot 的发行做些什么准备工作吗?”

答案是“当然可以”!

我们非常乐意与想在 Polkadot 原生平行链上开发 dApp 或是开发新平行链的团队接洽。我们的建议是在一种可以编译到 Wasm 的语言上写智能合约以及平行链运行环境。

打造一条基于 EVM 的平行链、让开发者可以继续使用 Solidity 写智能合约也是有可能的。然而,我们并不推荐这样做,因为以太坊也希望在实现分片的时候(将虚拟机)转变为 Wasm。幸运的是,现在人们正在开发一种叫“Yul”的工具(原来叫 Julia),可以将 Solidity 编译到 Wasm。

从长期来看,我们希望 Wasm 对区块链开发者来说变成一种自然而然的选择,这也是为什么我们建议开发者应该开始研究 Wasm 智能合约。要阅读更多关于 Wasm 的材料,请看 Parity 对 Wasm 的解释以及他们的 Wasm 智能合约开发引论。

在 Polkadot 上开发 dApp

创建最终可以被部署到 Polkadot 上的智能合约,可以有两种主要的开发路径:(1)在 Wasm 上写合约,让它可以在原生平行链上运行,或者是(2)使用 Solidity 部署 dApp 在一条基于 EVM 的链上。后者对那些想要用现有可用工具来开发的开发者来说比较有吸引力,但从长期来看,切换到 Wasm 上会更好。

遵循选项(1)会是为平行链在未来启动做的准备措施。在 Wasm 中开发和测试 dApp、以及在 Kovan 测试网 或是一个自己部署的 PoA(权威证明)网络上做测试都是有可能的。来自 Parity 的 Fredrik Harrysson 在 EthCC 上解释了如果在装载 WASM 的 Kovan 测试网上运行 Rust 合约。围绕 Wasm 智能合约的工具有限,可能让测试更加困难,但这一点不重要。更多信息可以看 Parity 博客中关于 Wasm 虚拟机和智能合约的推文。

对那些倾向于遵循选项(2)并继续使用 Solidity 来开发 dApp 的开发者来说,我们建议仿效选项(1)。当然,这要部署在基于 EVM 的 PoA 链上,这也会让开发者可以测试数据流并得到一个具备一定可扩展性的可用产品。当以太坊连接到 Polkadot 之时,现有的 dAPP 便可以从系统提供的新功能中受益,包括扩展以及跨链通信。

调试一条 PoA 链是非常简单的,现在已经有很多教程,并且最终来说,这些链也可以在 Polkadot 创世块构造好之后(预期在 2019 年第 3 季度)连接到 Polkadot。假设切换到 Wasm 的趋势会持续下去,而以太坊会成功地实现分片,我们强烈建议使用 Wasm 作为首选语言。

具体流程如下所示:

  • 部署一条 PoA 链以及一个桥接合约(Bridge Contract)
  • 让 dApp 在 PoA 链上跑起来

桥接合约提供了消息传递功能,让孤立的链可以跟 Polkadot 联系起来。Polkadot 平台会拥有很多不同的链,在类型上也会百花齐放。

开发一条平行链

平行链这个概念一开始是在我们的白皮书中提出的,一篇之前发表的名为《Polkadot: The Parachain》的博文则在细节上进一步阐发了这个概念。

“平行链(Parallelizable Chain,直译为‘可平行化链’)是区块链的一种更简单的形式,它会附加由一条‘中继链(Relay Chain)’提供的安全性,而不是由自己来提供。中继链为附属的平行链提供安全性,也提供平行链之间信息传递的安全保证。”

后者解除了对桥接合约的需要,因为信息传递功能已经被整合进了协议中。

创建一条原生于 Polkadot 的平行链需要理解 Substrate。更多细节请看 Gavin Wood 博士在 Event Horizon 中的演讲以及 Polkadot GitHub 的子目录 Substrate。

Polkadot 多链架构的设计让开发者可以指定他们平行链有效性的概念。要实现一条平行链,开发者要实现一个状态转变验证函数、决定一种状态形式以及一种交易池机制。实现了自己的平行链只要,要将它与 Polkadot 整合起来和需要一系列额外的措施。要做到这一点,你还需要将状态转变验证函数部署到中继链上,然后分发一种包含交易池机制的核对者节点客户端(Collator Node Client)。

创建所有这些部分需要思考:一个核对者节点应该如何构造你的链的区块链、这些区块的有效性又如何能够被验证者节点(Validator Node)检查和验证。这里有两个选项:(1)从头开始编写核对者节点;或是(2)使用一个已有的可以运行各种状态机的核对者节点。在写这篇文章的时候,我们还没有余裕来写一个核对者节点,虽然更多细节会随着 PoC(概念验证)的发布而披露出来。

编写状态机的一个要求是使用一种可以编译到 Wasm 的语言。这是一种设计上的选择,可以保证足够的灵活性,比如为运行环境实时更新。研究在推进,平行链也可以容易地升级以实现最新的技术,比如分片。

我们希望一些热门平行链的代码可以被复制并重用到其他链上,甚至用到独立的区块链上。Web3 基金会邀请开发者们开始创建平行链以及所有其它对 Polkadot 的成功来说关键的通用组件,比如区块浏览器、钱包、中继节点和核对者节点的替代性实现。请移步 Riot以联系团队中的成员。

展望未来

Polkadot 启动以后能为开发者带来的好处是非常有吸引力的。无论是区块链之间和平行链之间的互操作性、可扩展性上的提升、大量执行中的效率提升,还是动态链上治理系统,很多理由值得你考虑在 Polkadot 平台上开发。

我们希望,已经在以太坊上部署 dApp 的开发者们、正试图在 Polkadot 上开发的以及刚刚开始起步的开发者们,能够从本文中得到对必要迁移的更清楚的认识。

我们计划在 2019 年 3 月启动 Polkadot 主网。因为我们正在推进概念验证和测试网,我们欢迎社区成员帮助我们推进项目;加入我们,让 Polkadot 网络落地。

我们邀请所有人下载 Polkadot 的代码,编译一下,连接到全球测试网。安装之后,请记得来 Riot 的聊天频道拿一些测试网的 DOT 代币!

开发快乐!

原文链接: https://medium.com/polkadot-network/preparing-to-build-on-polkadot-349ff5002885
作者: Polkadot
翻译: 阿剑

Gavin Wood: 我与以太坊的二三事

“但如果你真的想改变世界,还是得通过网络来学习和探索。”

序言

如果你是加密世界的技术流,你一定知道圈内的传奇人物Gavin Wood。他被称为以太坊的隐形大佬,人称“隐形大脑”,为人低调、神秘,但他的地位却举重若轻。他编写的《以太坊黄皮书》, 其作用和影响力堪比亚当·斯密的《国富论》。他是以太坊联合创始人,以太坊客户端Parity 创始人,Polkadot 创始人, Web 3 的发起者,他擅长英语、意大利语、法语、西班牙语、逻辑语,喜欢跆拳道、滑雪,也是著名桌游Milton Keynes 的设计者,他还是视觉音乐博士,以及CD RiplnPleace 的编写者。今天我们有幸采访到了Gavin Wood, 看他如何用代码改变世界。

访谈

Q1. 您从小就对经济以及博弈论感兴趣,甚至自己设计过桌游。这段童年经历给你带来了什么?对你后期成为技术大拿有着怎样的作用?
Gavin Wood: 我小的时候是个有逻辑性和创造性的孩子。大概8岁的时候,我开始在朋友的电脑上编程。在此之前,我喜欢乐高积木,但我基本上不看说明书,更喜欢靠自己的想象力拼出我喜欢的东西。

渐渐地我长大了,对这个世界有了更多的了解以后,我迷上了游戏,包括棋盘类游戏和视频类游戏。我很喜欢用编程做游戏,我做的其中一个游戏还在一本杂志上得到了很多好评。我不知道做自己喜欢的东西并努力把它做好这件事是否对我产生了一定影响,或者这种精神本来就在存在于我的血液里。

Q2. 大众都关注比特币作为货币形式的应用,而您却更看重其背后的技术,是独树一帜的技术流。当初是什么吸引了您关注区块链技术的呢? 您为什么选择创建以太坊?您又是为什么后来选择离开以太坊创立Parity呢?
Gavin Wood: 我从来没有对比特币经济产生过兴趣。比特币可能在刚开始火的时候很有里程碑性意义,但我并不是很感兴趣。因此,2011年我第一次听说比特币的时候,我并没有太在意。但是,2013年我再次研究这个协议及其衍生物的时候,我注意到了一些与众不同的东西:一种在不参考信任实体的情况下,在经济层面传递信息的强大手段。不同于通货紧缩的经济学,它的与众不同让我对这项技术着迷。

以太坊是一个有趣的项目,它帮助我自学区块链技术。我通常更喜欢直接去行动、开始使用技术而不是事先先研究。如果这其中有我不懂的地方,我会直接去学习。以太坊就是这样,我做以太坊编程就是把它当成一个练习。其实我并不知道它后来会发展的这么好。

当时我与Jeff还有Vitalik 有个模糊的想法,想一起合作,将以太坊这个平台发展壮大,从基金会发展成为公司。但是最终只有我这样做了 (Vitalik 担任顾问)。在做Parity 期间,我很遗憾没有继续作为生态系统的架构师,但我知道在我2015年底离开时,我还有更多的东西可以为以太坊和整个生态系统做出贡献。我和我的朋友以及程序员Arkadiy和Marek聊天时,他们跟我说了他们的新想法,想要三个人从头开始编写一种新型语言Rust。于我来说,这是学习和专注于新事物的挑战和机会,所以我同意了和他们一起开发。

Q3. 您创立的Parity后来世人皆知,也是第一个用Rust语言编写以太坊客户端的人。 目前市场上DApp层出不穷,从技术的角度来看,您如何看待市面上不断涌现的DApp呢? 同时,您作为很多项目的顾问,您认为好的项目具有哪些必要的DNA 呢?
Gavin Wood: 我曾经给一些项目提供了一些建议,但是近期我不会直接给一些项目做咨询,会通过Parity 间接地给一些建议。我不敢肯定的说,但我想有些项目认为我的经验和愿景可以帮助他们向前迈进。

我觉得人们使用以太坊平台创建DApp 是很好的,但是目前来说我没有看到哪个真正的DApp 是让我印象深刻的。当然,确实有一些很好的想法,比如Gnosis,Melonport,Provenance和Orchid,它们最终会成型,但我也认为平台尚未发展成熟到支持真正伟大的东西出现, 扩展性共识、暗消息传递、数据的快速发布和节源的可访问用户界面也还在发展过程中。所以我希望Web3基金会能够帮助完成部分或者全部的开发,当然,资金也是很重要的环节。

Q4. 您如何看待 Parity“多人签名”钱包漏洞导致数亿以太币被冻结事件?这个事件给您带来哪些影响?智能合约平台是否存在风险呢?您怎么看?您如何看待加密世界里的“安全”呢?
Gavin Wood: 这是很不幸的事件,它向我个人和生态系统强调了我们创造的这把“刀”的真正含义是什么。虽然我并没有直接参与这个有漏洞的软件的开发,但它确实反映出我对周围人的能力过于自信,对于我自己的判断力也是一样。

这些天来,我对于关于信任的技术观点更加的偏执。我将所有运营安全的决策留给有一定经验的人,并倾向于担任顾问角色。Parity本身就能够完成所有“生产”软件进行自上而下的审计需求。

正如对新兴技术的期待一样,平台的本身就充满了风险。虽然我在2015年写的钱包仍在被广泛使用,并且没有发现重大漏洞,但它是一个复杂的软件,也可能存在关键性缺陷。Solidity编译器也可能这样,原则上来说,就像在Devcon 2期间发生的事件一样,协议本身可能会是另一个问题,只有及时发现才能及时止损,这也是人们使用这个改变世界网络软件的代价。

Q5. Polkadot 致力于解决跨链技术,据说可以同时解决跨链和扩展性问题这两个当前区块链领域关注的核心问题。Cosmos 也是支持多链的区块链项目,因此Cosmos 与Polkadot有哪些相同点,哪些不同点呢?
Gavin Wood: Cosmos采用了由PBFT衍生的“Tendermint”算法中的“即时终结”属性,并且通过要求链上有相对小的权限需求来运行、跟踪彼此的权限,从而能够接收到简单的证明来证明行为已经发生。这个系统可能被看作“Tendermint的侧链”并且具有与之相同的问题。

它有待解决三大问题(至少在其原理上),即可扩展性、治理方式以及去信任化消息传递。Polkadot在其中两方面都取得了重大进展。

第一个“可扩展性”围绕着安全性以及扩展方式。正如通常所提到的对侧链的批评(即使是来自作者),如果共享的安全装置无法在不削弱其优势的前提下应用于所有的链上,那么在一个系统内拥有多条链的能力本身并不能解决可扩展性问题。例如,在诸如Tendermint/Cosmos的权益证明(PoS)系统中,添加到系统中的每条新链都必须提供新的经济激励措施,以此来吸引新的验证者来保护自己。如果由于该条新链用户较少,且代币价值低,从而导致该条新链支付不起新的验证者的激励费用,那这条新链将没有安全保障,并容易受到攻击。合并挖矿的方式是有可能实现的,但是如果没有复杂的系统(这可能看起来像Polkadot),数十条或者数百条链不可能成系统地运行。这就引发了下个观点。

让多条链能够彼此沟通是有用的,但前提是它们相互信任彼此。如果每条链具有不同的安全级别,那么一条链的验证和“最终验证”可能不像系统中的另一条链那样有效或者是最终验证。来自安全性较低的链的消息可能是无效的。Cosmos通过一条经过高度验证的“中心”链来解决这个问题,但是它有两个缺点:它引入了中心化的概念,而且它也限制了消息的性质,这些消息只能传递给中心链能够验证的消息。对于Cosmos而言,这仅仅意味着代币转移的消息。由于Polkadot在所有链之间共享安全性,它不会被上述这些问题所困扰:新链共享现有的安全设备,由于绑定到所有链上的DOT代币价值上升,整个系统会变得更强大、更安全。同样,由于所有链都共享相同的安全设备,因此它们完全可以信任从所有链发送过来的消息,而不仅仅是“中心”链发送来的消息。

最后,Polkadot的架构可以实现链上治理。由于Polkadot协议的所有核心部分都是在WebAssembly中编写并存储在链中,因此这些核心部分的升级、补救或更改可以根据参与者决定的任何政治结构进行投票实现。最初,该投票是通过轮换批准投票的公民投票和委托理事会的结合来实现。鉴于此,Cosmos没有可比性。

Q6. Polkadot 在2017年完成了众筹并锁定两年,到目前为止,有哪些技术突破吗? 在哪一阶段呢?
Gavin Wood: 我们最近发布了PoC-1,它引入了基本的权益证明(PoS)PBFT衍生共识算法,网络/链同步以及具有治理结构的WebAssembly核心运行时间。

我们正在快速研发PoC-2,这是一个初始的平行链环境,允许多个平行链之间共享安全,也是一个更好的权益证明(PoS)机制, 包含了缩减、奖励和网络遥测技术。

展望未来,我们的目标是在今年年底之前完成所有共识和平行链原型设计,明年将致力于改进、工具化、审计、搭建、平行链,并最终的平台发布。

Q7. 目前来看,您认为合理的治理方式是怎样的?
Gavin Wood: 治理方式是任何系统在不断变化的环境中生存下来应具备的功能。治理是在以太坊网络被设计出来之后而出现的想法。目前来说,治理在很大程度上没有什么作用(虽然也没有像比特币那样糟糕),而且耗费网络成本。
虽然链下治理足以让系统获得认可,但是链上治理从根本上改变了我们在透明度和包容性方面可以实现的目标,为社会构建打开了大门,否则这些结构不仅不切实际而且无法实施的。所以我们应该大胆做实验。

Q8. 您怎样评价EOS? 您如何看待越来越多的人关注EOS?
Gavin Wood: EOS是一个典型范例,它很好的说明了当低迷的技术与过度营销相结合时会发生什么,特别是当针对的是无知和最脆弱的人。我不认为监管对于以太坊生态系统来说是一件好事,但如果有一个项目可以改变我的想法,那也是可以的。

我不知道为什么有越来越多的人关注EOS,但是从纯粹的技术圈来看,我没有看到很多技术的东西。

从技术上讲,我知道EOS没有任何有趣或开创性的“DNA”。EOS对外的声称相当高级,但据我所知,它似乎是技术人员将之前的代码库在EVM(以太坊虚拟机)中进行翻新和克隆。这在我看了并不是创新。

Q9. 最后,您有哪些话想要对正在学习以及即将要学习区块链的程序员们说吗?由于区块链是一项开源的技术,您是建议他们进入大学继续深造还是通过网络自学呢?
Gavin Wood: 我很享受的我大学时光,大学为个人成长和社交提供了一个绝佳的环境。我觉得上大学是一件非常棒的事情,并建议大家都应该去大学提升自己。但如果你真的想改变世界,还是得通过网络来学习和探索。

结语

以上是我们此次对Gavin Wood的采访,非常感谢他对Unitimes的大力支持。如果您有更多的问题,可以在评论区留言或发邮件给 Contact@unitimes.media,也可以添加我们的微信服务号unitimes2017提交问题,我们会将重要问题转达给Gavin Wood进行解答。感谢您关注Unitimes,我们将成为您最有价值的伙伴。

采访及翻译:Shuyue Yang

校对:Xiaoqing, Hulin

Gavin Wood的故事:神级黄皮书、出走以太坊、乱世成名与三代区块链

这个世界从来不缺乏希望用代码改变世界的程序员。
笔者很早就想写一写Dr. Gavin Wood的故事,此人是以太坊名副其实的「隐形大脑」,然而江湖甚少关于他的新闻或报道,因为此人甚是低调。相比时常出席世界各大区块链峰会的神童Vitalik,Dr. Gavin显得低调而神秘。但是凡是了解以太坊项目发展历程的人对于Gavin Wood肯定不陌生。Vitalik发起了以太坊项目,初步构思了白皮书并完成初稿,同时进行了以太坊的众筹(如今称为ICO),但是直到Gavin加入以太坊项目后,以太坊的技术实现才走上正轨,可以说Gavin博士奠定了以太坊的技术基石。

神级黄皮书

在以太坊项目之中,其开创性的立身之本「以太坊虚拟机」(Ethereum Virtual Machine), 以下简称EVM就是Gavin博士于其写作的《以太坊黄皮书》中定义的,曾有大神感叹「此黄皮书全世界能直接看懂的加起来估计也不超一百个」,由此可见,以太坊黄皮书对于以太坊如同亚当·斯密的《国富论》之于英国资本主义萌芽、马克思《资本论》之于社会主义大潮的重要性一般。虽然以太坊的最初构想来源于Vitalik,但是毕竟在技术细节的实现和落实上,一个20岁的年轻人依旧有所技术局限,因此以太坊的协议细节很大一部分是Gavin博士设计规划的。据说当时以太坊遇到Edge Case边界问题时,VB和Geth都没法解决此难,最后的定夺都是Gavin主导。

那么,以太坊和Gavin写作的《以太坊黄皮书》中定义的以太坊虚拟机究竟是什么?

以太坊(Ethererum):是一个开放的去中心化的区块链自治系统,更确切的说,是一个可编程的区块链系统。任何人都可以基于以太坊构建和使用运行其上的去中心化应用程序,即DAPP。
以太坊虚拟机(Ethereum Virtual Machine):以下简称EVM,可以执行任意算法复杂度的代码。开发者可以使用语法上类似JavaScript和Python的编程语言(Solidity)创建运行于EVM上的应用程序。
简单说,以太虚拟机和在此基础上的「智能合约」是以太坊系统的一大创新和杀器。
Gavin在2011年第一次听说比特币,和很多故事中的主角一样,一开始对比特币并不感兴趣,据他自己所说,比特币是一种太关注于区块链货币形态的试验,而不是关注其背后的技术。但他在2013年重新审视这个划时代的试验时,却深深迷上了区块链技术,于是属于Gavin和Vitalik共同的一个新时代拉开了序幕——他通过朋友介绍认识了Vatalik。Gavin在自己的个人主页上这么形容这次相识:
“And Ethereum has dominated my life since” 「此后以太坊主宰了我的生活」。
随后Gavin开始了一个天才程序员的代码开挂旅程,一气呵成了包括以太坊早期C++版本客户端和以太坊Python原型展示客户端,以及基于Go语言的官方客户端Geth在内的一系列开发任务。两年间Gavin主导了以太坊的原型设计、系统开发以及最后版本的测试发布。在这两年中,这位硕士和博士都毕业于英国约克大学计算机科学系的天才程序员一直默默敲着代码,但也因此在区块链历史上留下了浓重的一笔。

出走以太坊与乱世成名

随后由于种种原因,Gavin Wood离开了以太坊,原因不详,但是听闻涉及到团队成员对未来方向的分歧和人员内部矛盾。毕竟这样奠定以太坊底层技术的神级CTO工资是很高的,据说在以太坊COO Stephan Taul离开时就曾表达了对其高薪的强烈不满。然而Gavin出走的真正原因也许没人说的清了,但是Gavin离开后做了一款世人皆知的以太坊客户端:Parity。Parity用Rust语言编写,应该使用过的人都知道,后期一度接近垄断了以太系钱包市场。Gavin 是第一个用Rust语言编写以太坊客户端的人,其性能上是Geth和C++客户端数倍。

据说还有个故事,以太坊DevCon2.0开发大会前夕,黑客利用Geth的漏洞发起了攻击,导致 Geth客户端全线崩溃,加上随后以太坊遭遇大容量垃圾信息攻击,只有Parity由于Gavin优秀的架构设计强势幸存,而Geth表现差强人意。于是经此一役,Parity一战成名,矿池节点纷纷倒戈切换到了Parity,至此基本奠定了其在以太坊体系中的江湖地位。

在与Geth的较量中,以Gavin为首的Parity开发团队可以说对以太坊的弱点异常清楚,随后在随之而来的2017年ICO爆发大纪元时代,Gavin开始走上了一条“乱世之路”,先后支持和作为顾问参与了众多开发项目,但是也背上了一个“黑锅”——站台的项目代币很多难逃剧烈波动的魔咒,先后充当了Ambrosus,Omise,Melonport,Grid Singularity等项目的顾问。因此江湖中对他涉猎的项目褒贬不一,甚至有责怪其有不顾身份,随意站台之嫌。

三代区块链

2015年Gavin开始掀开自己的第三次历史大幕,在同年的Parity Tech大会上宣布发起Polkadot项目,也即是我们称之为的第三代区块链,主要解决的是跨链通信和数据传递的问题。经过两年理论研究和项目准备,即将在2017年10月15日正式启动ICO计划。(注:ICO,即Initial Coin Offering缩写,意为首次代币发行,源自股票市场的首次公开发行IPO概念,是区块链项目首次发行代币,募集比特币、以太坊等通用数字货币作为发展资金的融资行为)
那么,究竟什么是垮链,以及Polkadot如何实现这些功能或者说有什么意义呢?
官方定义:Polkadot is a heterogeneous multichain technology. 即Polkadot是一个异构多链技术。
简单说,现有的大部分区块链都是相互独立的网络,万链不互联。而Polkadot想做的就是用其协议和跨链技术将这些各自独立的区块链连接起来,并且彼此之间可以进行通信和数据传递。

是不是有点抽象?让我们来打个比方:就像我们的操作系统,你可以使用苹果系统,也可以使用Windows系统,或者你可以使用IOS系统,也可以使用安卓系统,但是通过互联网协议或者移动网络实现彼此之间的信息互通和数据传输。Gavin设计了一套中转和并行的协议来处理这个问题:比如,当IOTA物联网协议上有一个节点需要传输一个数据到以太坊网络,首先它会通过Polkadot的一个桥接器(Bridge)接入到Polkadot的网络中,然后通过一个中转链(RelayChain)找到恰当的并行链(ParaChains)进行处理,随后通过验证来处理信息。

是不是有一些抽象,背后的原理和逻辑我们不深入讨论,这边再举一个现实生活场景中的例子来帮助理解:有两个并行的网络,比如还是举例IOTA物联网和以太坊网络。当你家的电灯坏了需要更换,而你的电灯又接入了智能家居的物联网网络。所以在发生电灯损坏的情况下,物联网网络将通过Polkadot网络这个中介传递这一信息给以太坊智能合约网络,并执行“购买新电灯的智能合约”,也就是实现了信息从IOTA网络到以太坊网络的传递并最终执行了一个智能合约。
一个很重要的点,之前很多区块链网络只是实现了虚拟世界信息传递,但是Polkadot却实现了从现实世界读取数据。这一点是超越以太坊的一个重要创新。以太坊是一台计算机跑所有应用的架构,公有链要像以太坊一样能够经得起世界范围大规模部署,实属不易。
所以Polkadot解决了两个核心问题,一个是互联,一个是扩展,而扩展又是通过互联实现的,本质其实又是一个问题。

一位大神曾这么对比Polkadot和Cosmos(注:Cosmos也是一个支持多链的区块链项目):
“Polkadot跟Cosmos相比,Polkadot完胜。因为Cosmos只支持价值转移,至少没法做到扩展以太坊,而Polkadot可以支持智能合约的跨链互调。所以,理论上来讲,以太坊上的Dapp完全可以做成独立的链,然后通过Polkadot互联,这对于以太坊的扩展性来说,是釜底抽薪的。Cosmos是币本身的价值跨链转移,别的跨链项目基本如出一辙。”
关于Polkadot这个项目的原理我们这边就不累述了,感兴趣的可以移步Polkadot官网:www.polkadot.network
既然这个项目愿景这么大,那么我们这些吃瓜群众是否有参与或者说投资的机会呢?也许这就是下一个以太坊呢。答案是,有的。然而如果你是中国人或者美国人,那么就只能很遗憾地说句抱歉了—— Polkadot不接受美国和中国的投资人。当然,这个和两国对ICO的监管有关,也是无奈之举。Polkadot的全球ICO将在2017年10月15日下午18点开始,并采取荷兰式拍卖的方式进行。

Gavin给Polkadot定下了至少两年的开发期,也就是哪怕你参与投资这个项目,也至少要等两年才有结果。这和2017年5月滋生的群魔狂舞ICO风景形成了鲜明对比,摆明意思就是,我们只和长期的价值投资人玩,等不起的还是别打扰我们默默开发了吧,团队还在官网列出了14条风险提示参与者。其实,这才是区块链开发团队应有的态度。
这次Gavin是否可以续写以太坊和Parity之后的神话呢,一切都在2年后。

Polkadot(波卡)简介

Polkadot is a blockchain technology, a heterogeneous multi-chain.
这里最需要理解的就是:heterogeneous这个词。
在朗文英英5中heterogeneous的意思被表述为:
consisiting of parts or members that are very different from each other.
翻译过来就是:由全然不同的部分/成员组合而成,由此我们才能理解polkadot的真正的概念:
融合多种不同公链的区块链技术,并且各种不同的公链可以任意消息通信,兑换代币。
所以我们知道polkadot主攻的是跨链任意消息通信。其解决的问题有:
1、BTC、ETH公链处理交易过慢,无论是BTC在11月的升级,还是V神发布ETH的Plasma项目,其目的都是解决扩容问题。而polkadot项目,一开始在底层架构处理上,就会解决这个问题。
2、不同的公链之间无法进行价值互换,BTC想换成ETH,必须依赖于交易所,而polkadot项目同时解决跨链代币兑换的问题。
不同于其它的区块链技术,polkadot本身不会有各种的应用,其实polkadot本身就相当于一个基础设施,如果说,以太坊是一条公链,目前的各类基于以太坊的ICO是基于这条公链的应用,EOS是操作系统,在EOS上面可以建设公链,那么polkadot就是提供带宽数据交换的电信运营服务商。
还有一个很好的类比:
移动、电信、联通相当于一条条公链,那么polkadot就相当于打通网关接口的协议。没有polkadot之前,移动只能给移动打电话,联通只能给联通打电话,有了polkadot,移动、电信、联通就能互相通信了。
由此可见polkadot的目标是多么伟大。
polkadot存在的目的:
目前的区块链技术并没有在现实世界中进行大范围商用的原因,是没有较好的解决以下几个问题:
扩展性:全球计算、带宽和存储的资源,用于处理单个事务的交易和在高峰条件下能处理的交易?
隔离性:在同一框架下,多方对于应用程序的不同需求能否达到最佳满足?
开发性:工具有多好? API是否符合开发者的需求? 是否提供教材? 是否集成权力?
治理性:网络能否随着时间的流逝而变化和适应? 决策是否具有充分的包容性,合法性和透明度,可以有效地领导分散制度?
适用性:该技术是否实际上适用于刚性需要? 是否需要其他“中间件”来嫁接真实的应用?
区块链世界中牛逼的大咖无不在为了彻底解决上述问题,尤其是前两个问题而绞尽脑汁:
DM的EOS.io就是为了解决第一个问题既可扩展性,同时使用了DPOS,作为其治理哲学;V神的新项目Plasma,也是为了解决以太坊的扩容问题。看看DM和V神天天互掐就知道在这个问题上谁彻底解决,谁就占领了未来的先机。
Cosmos也在扩容和为实现跨链而努力,但其跨链通信仅限于转移数字资产(也就是代币),而不是任意信息。
那么由Gavin Wood主导的polkadot,则声称要在扩展性和隔离性中提供出有意义的改进。
polkadot的技术
区块链技术在现实中的问题表现为可扩展性,既是否能满足海量以及高峰的商业化使用,而产生这个问题的原因,则是因为现有的区块链技术把一致性(canonicality)和有效性(validity)绑定得太紧密了。
Polkadot就是在确保安全和传输的基本功能之下,通过非信任节点的激励机制,弱化他们的内生绑定关系。在polkadot的架构中,支持众多高度差异化的共识系统在非信任完全去中心化的联邦内交互操作,允许去信任地相互访问各区块链。从而能够实用性地支持全球商业级别的可伸缩性和隐私性。
在Polkadot网络:有四种角色,分别是收集人(collator)、钓鱼人(fisherman)、提名人(nominator)、验证人(validator)。
收集人,简单的说就是负责收集平行链各种信息,并把信息打包给验证人。
钓鱼人,说白了就是钓鱼执法,专门检查恶意行为,检查出后获取奖励。
提名人,其实是一个权益群体,验证人为其代表,他们将押金委托给验证人。
验证人,帮助在Polkadot网络里打包新区块。其必须抵押足够多的押金,并在高可用和高带宽的机器上运行一个中继链的客户端。可以理解为矿池。
中间的七边形就是中继链,中继链旁边的四边形就是不同的平行链,下面的灰色是以太坊,右边的五边形是二级中继链。
Polkadot网络的跨链流程就是:由外部的交易广播进入到平行链社区(绿色区域),先由收集人(collator)打包交易信息,中间经过钓鱼人的执法检查,然后提供给平行链,平行链的区块头包含在中继链中,经过验证人打包,再转移到另一条平行链中。
而对接以太坊或者比特币时,需要由Polkadot网络先提供一个平行链转接桥,来保证收集人角色。今年ParityTech用Rust重写了比特币的客户端,同时以太坊Parity客户端也在紧锣密鼓地为Polkadot进行改造应该就是在为做好对接而做准备。
在中继链旁边,还可以链接二级中继链,而二级中继链还可以配套很多平行链,这样的话一条中继链就可以链接上百条平行链,从而实现可扩展性。
此图说明,不同的平行链之间,通过梅克尔树传递,来保证数据真实,中继链只是把交易从来源平行链的出口队列转移到目的平行链的入队列。已转发的交易会在中继链上被引用,而不是中继链自身的交易。
以上只是Polkadot网络中的一部分技术,在Polkado的官网中,可以清楚的看到Polkado的路线图,敲定机制——并行分散候选人选择机制——股权证链——网络子系统——Parachain实现——事务处理子系统——事务路由子系统——中继链——独立校对机
由此我们可以看到,在经过了大致1年左右时间的开发,Polkadot正在有条不紊的按照白皮书中所说的功能逐步实现。