专栏首页区块链大本营必读!未来月薪10万的五大利器(三)

必读!未来月薪10万的五大利器(三)

来源 | 《区块链与产业创新》

作者 | 井底望天、蒋晓军、相里朋

责编 | 乔治

出品 | 区块链大本营(blockchain_camp)

当前,区块链技术已经由1.0版本过渡到2.0版本,并逐步向3.0版本发展。新一代区块链技术发展的主要方向侧重于基础设施建设,即区块链底层技术的研发以及一些具体应用的落地。区块链3.0技术发展的目的在于提高区块链的整体运行性能,包括通过各种方式提高区块链系统的交易容量、交易速度以及系统的可扩展性等。 在提高性能的解决思路方面,社区试图通过区块扩容、隔离见证等一系列技术提升交易处理能力。

本文接上文,重点介绍如何利用跨链技术提高区块链系统性能。

1、跨链的缘由

目前产生数字资产的来源主要有以下几个:

(1)智能合约产生数字资产;

(2)各种私有链和联盟链产生数字资产;

(3)公有链产生数字资产。

目前各类区块链项目大多是在自己的孤岛上单独存在,而跨链(Cross-chain Atomic Exchange)技术可以把这些孤岛连接起来。因此,跨链将是区块链的下一个杀手级应用。

连接各个孤岛的桥梁就是各种数字资产兑换的交易平台。当前两个区块链数字资产之间的兑换有两种方式。一种是采用线下的方式,找到一个可信的有相反需求的其他买家,甲把A数字资产转给乙,乙把对应的B数字资产转给甲。这种方式比较低效,很难找到可信的对家,执行的风险也很大。另一种就是普遍采用的中心化交易所,用户把各自的数字资产充值到交易所,交易所在它的系统里记录每个人的余额,然后在交易所的平台上进行兑换,直到买家从交易所取出相应的数字资产。中心化交易所存在的问题是显而易见的。在监管缺失的情况下,中心化交易所可能存在内幕交易、伪造交易、资金挪用等。而且,中心化交易所很容易受到主权机构的控制。

2、Polkadot的跨链技术

Polkadot是一个可伸缩的异构多链系统,其本身被设计成不提供任何内在功能应用。

Polkadot将其他的所有区块链都定义为平行链(Parachains)。跨链交易通过中继链(Relay-Chain)技术,将原有区块链(某平行链)上的通证转入类似多重签名控制的原有区块链地址中,并对其进行暂时锁定。跨链交易结果通过中继链传递,交易结果的有效性将由中继链上的验证人投票决定。同时,中继链还引入了钓鱼人(Fishermen)角色对交易进行举报监督。其具体原理如下图所示。

Polkadot的跨链原理

从交易协议来看,Polkadot的跨链交易和目前标准的外部交易没有区别。这些交易都会有交易发起方字段,用于辨别平行链的身份。但是,Polkadot跨链交易需支付的手续费并不像目前的比特币或以太坊系统那样,而是必须通过交易发起方平行链和交易目标方平行链的谈判逻辑来管理。其具体实现机制是通过一个简单的队列来解决,这个队列用梅克尔树来保证数据真实。这些队列在中继链上管理,允许各平行链相互决定它们的饱和度大小。如果目标方平行链达到饱和状态后,发起方平行链再向停滞的目标链发送交易,中继链就可以同步报告错误。

在Polkadot系统中,中继链的任务是把从发起方平行链的出口队列转移到目标方平行链的入口队列。已转发的交易会在中继链上被引用,而不是中继链自身的交易。

为了预防一条平行链向另一条平行链发送垃圾交易,系统规定发起方平行链发送每一个交易时,目标方平行链的入口队列不能太大。如果区块处理完后入口队列太大,那么目标方平行链会被系统判定为饱和状态,系统在接下来的几个区块里就不会再传递交易给该目标方平行链,直到该目标方平行链的入口队列降到临界值以下。

目前,Polkadot还是以以太坊为主,实现其与私链的互联,并以其他公有链网络为升级目标,最终让以太坊直接与任何链进行通信。

3、0x协议跨链技术

0x协议的诞生,是希望通过制定一系列通用的智能合约来解决ERC20标准用户通证间的互换问题。由于以太坊智能合约的存在,用户可以通过自行编写智能合约发行基于ERC20的用户通证。但是,以太坊区块链系统本身是单通证系统,与银关发行的通证1不同,通过以太坊智能合约发行的ERC20用户通证之间是无法互换的。要使不同的ERC20用户通证可以做到一对一的互换,那么系统必须对每一对交易建立一个新的智能合约,其代价将会使用于交易对的智能合约数量呈指数级增长,因而大大降低了系统的性能。

在0x协议上开发的去中心化交易平台,有制定0x协议的团队做的0xOTC项目,也有其他团队基于0x协议而开发的路印(Loopring)项目,其本质都是基于以太坊区块链系统而建立的去中心化交易平台。

多通证系统下,银关发行的A、B和C等通证是自带互换功能的。

4、COSMOS

COSMOS是一个涵盖众多独立区块链的网络,其中的每个区块链被称为空间(Zone)。COSMOS旨在解决区块链交互操作和可扩展性的问题,其区块链间通信协议(IBC)可以实现区块链的互联,支持不同区块链之间的资产转移。

空间在Tendermint Core1的支持下运行。Tendermint Core是一个类似PBFT的安全共识引擎,兼具高性能、一致性等特点,而且在严格的分叉责任制保证下,能够防止怀有恶意的参与者做出不当操作。因此,Tendermint Core的拜占庭容错共识算法非常适合用来扩展权益证明机制下的公共区块链。

COSMOS上的第一个空间叫作COSMOS中心(COSMOSHub)。COSMOS中心是一种多资产权益证明“加密货币”网络,它通过简单的管理机制来实现网络的改动与更新。此外,COSMOS中心还可以通过连接其他空间来实现扩展。

COSMOS网络的中心及各个空间可以通过区块链间通信协议进行沟通,这种协议就是针对区块链的虚拟用户数据报协议(UDP)或传输控制协议(TCP)。COSMOS网络中的通证可以安全、快速地从一个空间传递到另一个空间,两者之间无需体现汇兑流动性。相反,空间内部所有通证的转移都会通过COSMOS中心来记录。

另外,COSMOS中心会将每个空间与其他故障空间隔离开,以此避免潜在的系统安全隐患。系统要求每个用户都将新空间连接到COSMOS中心,以保证COSMOS网络今后可以兼容新的区块链技术。

Tendermint是一种能够为多台机器安全和保证数据一致性复制应用程序的软件,该软件的通用应用接口共识引擎被称为Tendermint Core。

5、墨客跨链技术

在Polkadot项目的“白皮书”里,加文·伍德(Gavin Wood)博士提到目前的各类区块链无法扩展,主要是因为现有的区块链系统无法将一致性和有效性做到很好的隔离,其根本原因在于区块链的状态转移机制和共识机制捆绑过紧。不论是采用PoW机制的比特币和以太坊,还是采用PoS机制的比特股,都存在上述问题。

墨客在系统扩展方面独创性地提出了分层机制,将状态转移和共识机制脱钩,并且引入了异步智能合约调用机制,以此来解决系统扩展性不足的问题。

对于墨客而言,通过异步调用智能合约的功能,系统可以将智能合约的执行跨过几个不同的区块;当这种功能被运用到不同的区块链上时,系统就实现了不同区块链之间的跨链功能。这是因为不同的区块链系统产生区块的时间不尽相同。以墨客和以太坊之间的跨链交易为例。如果用户在墨客上设定一个购买以太坊ERC20用户通证的合同,那么该合同可以在5秒间隔后跨出墨客当时的区块;该合同通过链外通信,等待以太坊的区块完成对应交易;再在第N+2个墨客区块完成墨客区块链上的交易。

墨客具体的跨链实现方式如下图。

墨客的跨链通信

(1)用户甲向用户乙发起交易请求。该交易合约被制定为:甲在墨客区块链系统中从地址Am发送m个MOAC到地址Bm,乙在另一个区块链系统(如以太坊)中从地址Be发n个ETH到地址Ae。

(2)在墨客网络中,系统基于甲的交易请求创建一个哈希锁的系统定时触发交易T。甲同时会把m个MOAC发送到系统合约作为预备金,并由系统计算哈希值(T)。

(3)乙收到系统定时触发交易T后,执行以太坊网络中的交易合约,同时将哈希值(T)放入数据段。

(4)乙在以太坊的交易确认后,监控子链将以太坊的交易信息作为参数调用系统合约,解开哈希锁。

(5)系统定时触发交易将在k个区块后执行该交易。如果交易执行成功,地址Bm将获得m个MOAC;如果交易失败,系统会将所有MOAC退回给地址Am。成功与否依赖于哈希锁是否被解锁,即是否有可验证的以太坊交易及哈希值(T)标识。

值得一提的是,在墨客跨链流程中,墨客区块链通过其他区块链的确认交易信息解锁墨客交易,以实现原子操作。这一步操作对其他区块链没有新的要求,只需要交易能附加数据信息即可(现有的区块链系统大多有此功能)。因此,墨客的跨链机制可以实现与现有区块链的跨链操作,而不需要对现有区块链做相应改造,大大提高了系统的扩展性。

以上案例中的跨链交易被称为原子交易。不同于目前各种跨链中存在的第三方角色,原子交易不需要通过建立一个中间托管账户来完成交易。在合约中,用户还可以定义等待多个确认区块后再执行完成交易。而缺乏异步调用合同功能的区块链系统是无法进行跨链原子交易的。

关于区块链性能优化五大利器,老铁们有什么想说的?欢迎在留言区畅所欲言哈!

本文分享自微信公众号 - 区块链大本营(blockchain_camp)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从传统运维到云运维演进历程之软件定义存储(一)

    运维是企业业务系统从规划、设计、实施、交付到运维的最后一个步骤,也是重要的步骤。运维从横向、纵向分可以分为多个维度和层次,本文试图抛开这纷繁复杂的概念,讲述一个...

    DevinGeng
  • Ceph对象存储RGW对接企业级网盘OwnCloud三步走

    上篇文章我们把Ceph对象存储搭建成功了,但是成功了之后我们怎么用呢?下面我们本文就来讲下Ceph对象存储对接企业私有云网盘OwnCloud。

    DevinGeng
  • SDS趋势之二:对象存储将替代文件存储

    对象存储(Object Storage)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数...

    DevinGeng
  • SDS趋势之二:对象存储将替代文件存储

    对象存储(Object Storage)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数...

    DevinGeng
  • Transform 的简单理解 原

    canvas里面的transfrom与css3中的基本是一样的,唯一的不同是原点,canvas的默认原点是图形的左上角,css3是图形的中心,

    tianyawhl
  • 在 SCF 中运行 Puppeteer

    Puppeteer 是一个 Node.js 库, 提供了一组封装良好的接口, 使你可以通过 DevTools 协议控制 Chrome. 本文介绍如何在 SCF ...

    ritchiechen
  • 腾讯云9.9服务器,9.9元云服务器怎么申请

    现在云服务商对学生都是很优惠的,腾讯云也推出了9.9元购买云服务器的优惠活动,是一款固定的优惠套餐,包含特价云服务器、域名(加钱可选)、免费对象存储空间(6个月...

    tengxunyun8点com活动整理
  • 【MATLAB 从零到进阶】day6 MATLAB绘图与可视化

    图形窗口、线条、曲面和注释等都被看作是MATLAB中的图形对象,所有这些图形对象都可以通过一个被称为“句柄值”的东西加以控制,例如可以通过一个线条的句柄值来修改...

    统计学家
  • Ceph对象存储安装部署及验证

    今天来玩下Ceph的对象存储,在开始之前呢,先扯会闲篇,我觉得生活中处处是非结构化数据,最简单的举例,下面两个行业,一个是直播,一个是摄影。

    DevinGeng
  • 解决MacOS升级系统Sierra到Mojave后git报错

    (adsbygoogle = window.adsbygoogle || []).push({});

    阿dai学长

扫码关注云+社区

领取腾讯云代金券