精华内容
下载资源
问答
  • #资源达人分享计划#
  • 区块链跨链技术是什么?这个词一看就知道是区块链的专业术语,在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,...

    区块链跨链技术是什么?这个词一看就知道是区块链的专业术语,在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

    目前主流的跨链技术包括:

    1、公证人机制(Notary schemes)2、侧链/中继(Sidechains/relays)3、哈希锁定(Hash-locking)4、分布式私钥控制(Distributed private key control)

    列表进行了比较:

    区块链跨链技术是什么?深度解析区块链跨链技术

    上表列出了各种跨链技术的基本区别,早期跨链技术包括以瑞波和BTC Relay为代表,它们更多关注的是资产转移;现有跨链技术以Polkadot和Cosmos为代表更多关注的是跨链基础设施;新出现的FUSION实现了多币种智能合约,是一种很有应用价值的公有链,在其上可以产生丰富的的跨链金融应用。

    1.公证技术:瑞波InterLedger协议

    早在2012年,瑞波实验室提出 Interledger协议旨在连接不同账本并实现它们之间的协同。Interledger协议适用于所有记账系统、能够包容所有记账系统的差异性,该协议的目标是要打造全球统一支付标准,创建统一的网络金融传输的协议。

    区块链跨链技术是什么?深度解析区块链跨链技术

    Interledger协议使两个不同的记账系统可以通过第三方“连接器”或“验证器”互相自由地传输货币。记账系统无需信任“连接器”,因为该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。该协议移除了交易参与者所需的信任,连接器不会丢失或窃取资金,这意味着,这种交易无需得到法律合同的保护和过多的审核,大大降低了门槛。同时,只有参与其中的记账系统才可以跟踪交易,交易的详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易的详情。理论上,该协议可以兼容任何在线记账系统,而银行现有的记账系统只需小小的改变就能使用该协议。从而使银行之间可以无需中央对手方或代理银行就可直接交易。

    2.侧链技术:BTC Relay

    侧链是以锚定某种原链上的代币为基础的新型区块链,正如美金锚定到黄金。侧链是连接各种链,其它区块链则可以独立存在。但是,现在侧链很难做到在其上建立跨链智能合约,所以很难实现各种金融功能,这正是现有区块链在股票、债券、衍生品等领域尚未取得进展的原因。BTC Relay是在以太坊基金会支持之下诞生并成长起来的,它被认为是区块链上的第一个侧链。BTC Relay把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。它通过以太坊智能合约创建一种小型版本的比特币区块链,但智能合约需要获取比特币网络数据,这还比较难实现去中心化。BTC Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。

    区块链跨链技术是什么?深度解析区块链跨链技术

    3.中继技术:Polkadot和COSMOS

    Polkadot

    Polkadot是由原以太坊主要核心开发者推出的公有链。它旨在解决当今两大阻止区块链技术传播和接受的难题:即时拓展性和延伸性。Polkadot计划将私有链/联盟链融入到公有链的共识网络中,同时又能保有私有链/联盟链的原有的数据隐私和许可使用的特性。它可以将多个区块链互相连接。在Polkadot看来,其它区块链都是平行链,Polkadot为通过中继链(relay-chain)技术能够将原有链上的代币转入类似多重签名控制的原链地址中,对其进行暂时锁定,在中继链上的交易结果将由这些签名人投票决定其是否生效。它还引入了钓鱼人角色对交易进行举报监督。通过Polkadot可以将比特币、以太币等都链接到Polkadot上,从而实现跨链通信。

    区块链跨链技术是什么?深度解析区块链跨链技术

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

    COSMOS

    Cosmos是tendermint团队推出的一个支持跨链交互的异构网络。Cosmos采用的Tendermint共识算法,是一个类似实用拜占庭容错共识引擎,具有高性能、一致性等特点,而且在其严格的分叉责任制保证下,能够防止怀有恶意的参与者做出不当操作。Cosmos上的第一个空间叫做"Cosmos Hub"。Cosmos Hub中心是一种多资产权益证明加密货币网络,它通过简单的管理机制来实现网络的改动与更新,还可以通过连接其他空间来实现扩展。Cosmos 网络的中心及各个空间可以通过区块链间通信(IBC)协议进行沟通,这种协议是针对区块链网络的,类似UDP或TCP网络协议。 代币可以安全快速地从一个空间传递到另一个空间,两者之间无需体现汇兑流动性。相反,空间内部所有代币的转移都会通过Cosmos 中心,它会记录每个空间所持有的代币总量。这个中心会将每个空间与其他故障空间隔离开。因为每个人都可以将新空间连接到Cosmos中心,所以Cosmos也可以兼容未来新的区块链。

    区块链跨链技术是什么?深度解析区块链跨链技术

    这一架构解决了当今区块链领域面临的许多问题,包括应用程序互操作性、可扩展性、以及无缝更新性。比如,从 Bitcoind、Go-Ethereum、ZCash或其他区块链系统中衍生出来的空间,都可以接入Cosmos中心。这些空间允许Cosmos实现无限扩展,从而满足全球交易的需求。

    4.哈希锁定技术:Lighting network

    Lightning network闪电网络提供了一个可扩展的bitcoin微支付通道网络,它极大提升了比特币网络链外的交易处理能力。交易双方若在区块链上预先设有支付通道,就可以多次、高频、双向地实现快速确认的微支付;双方若无直接的点对点支付通道,只要网络中存在一条连通双方的、由多个支付通道构成的支付路径,闪电网络也可以利用这条支付路径实现资金在双方之间的可靠转移。 闪电网络的关键技术是HTLC哈希锁定技术,基本原理如下:Alice和Bob可以达成这样一个协议:协议将锁定Alice的0.1 BTC,在时刻T到来之前(T以未来的某个区块链高度表述),如果Bob能够向Alice出示一个适当的R(称为秘密),使得R的哈希值等于事先约定的值H(R),Bob就能获得这0.1 BTC;如果直到时刻T过去Bob仍然未能提供一个正确的R,这0.1 BTC将自动解冻并归还Alice。

    区块链跨链技术是什么?深度解析区块链跨链技术

    闪电网络并不试图解决单次支付的问题,其假设是单次支付的金额足够小,即使一方违约另一方的损失也非常小,风险可以承受。因此使用时必须注意“微支付”这个前提。

    5.分布式私钥控制技术WanChain

    WanChain万维链也支持主流公有链间的跨链交易,但首先需要完成在万维链上的注册,确保万维链能够对该链进行唯一识别。对于跨链交易,万维链利用多方计算和门限密钥共享方案。当一种未注册资产由原有链转移到万维链上时,万维链节点会使用一个基于协议的内置资产模板,根据跨链交易信息部署新的智能合约创建新的资产。当一种已注册资产由原有链转移到万维链上时,万维链节点会为用户在已有合约中发放相应等值代币,确保了原有链资产在万维链上仍然可以相互交易流通。

    区块链跨链技术是什么?深度解析区块链跨链技术

    万维链通过分布式的方式完成不同区块链账本的连接及价值交换。它采用通用的跨链协议以及记录跨链交易、链内交易的分布式账本,公有链、私有链还是联盟链,均能接入万维链,实现不同区块链账本的连接及资产的跨账本转移。但是,实现各种链映射到一条链上只是完成了第一步,如果上面的智能合约还是像现在的仅为交易触发,智能合约没办法实现分布式运算和多触发机制,那多币种智能合约能实现仍然是相当有限的功能。

    FUSION

    各种加密资产可以通过分布式私钥生成与控制技术被映射到FUSION公有链上。多种被映射的加密资产可以在其公有链上进行自由交互。实现和解除分布式控制权管理的操作称为:锁入(Lock-in)和解锁(Lock-out)。锁入是对所有通过密钥控制的数字资产实现分布式控制权管理和资产映射的过程。解锁是锁入的逆向操作,将数字资产的控制权交还给所有者。

    区块链跨链技术是什么?深度解析区块链跨链技术

    由于各种资产映射到FUISON上,其原链上的功能丧失了,其主要属性是金融价值。所以FUSION要做的是价值互联网时代的金融,即加密金融。之所以叫加密金融是因为,各种加密金融的资产都是由私钥控制的。FUSION (fusion.org)协议支持各种代币之间的价值转移的同时,在并行运算和多触发机制方面进行了极大的革新,从而实现了高效率的、面向多币种和多种触发机制的增强型智能合约。

    FUSION通过多层共识机制和记账节点分组,实现了一定的并行计算。多层机制使合约计算与计算结果的记账分步完成,记账节点分组使不同的智能合约由不同的记账节点分组完成。FUSION想要做的加密金融合约还必须有多种触发机制才能完成完整的金融功能。针对这一问题,FUSION引入了“先知”的功能。虽然这一功能已经被多次提出,但一直没有很好的实现手段,这是由于智能合约每次加载相当浪费资源,也不现实。

    FUSION创造性的使用了“Calling list”机制将各种触发条件与智能合约分开储备,记账节点只要加载触发条件的列表即可,被触发时才加载智能合约,这使各种交易触发、时间触发和事件触发(包括链外数据触发)可以写到触发列表里。价值互联网如何能够称为“网”,而不是一组平行线,就需要各种跨链技术。但跨链交易只是对跨链最粗浅的要求,多币种合约才是跨链的本质。另外,跨链使各种原链上的代币被转化为金融资产,而产生加密金融应用。但是要实现完事的金融功能,还需要对智能合约进行增强,并使用并行计算提高智能合约的效率,链切网从而使加密金融能够完成完整的金融功能,这是跨链技术的未来方向。

    展开全文
  • 1、区块的生成 (1)矿工在挖矿前要组建区块,将coinbase交易打包进区块 (2)将交易池中高优先级的交易打包进区块  优先级=交易的额度 * UTXO的深度/交易的size  (3) 创建区块的头部【版本号,父区块哈希,Merkle...

    1、区块的生成

    (1)矿工在挖矿前要组建区块,将coinbase交易打包进区块

    (2)将交易池中高优先级的交易打包进区块

      优先级=交易的额度 * UTXO的深度/交易的size

      (3) 创建区块的头部【版本号,父区块哈希,Merkle树根,时间戳,难度值,Nonce】

      (4) 挖矿成功后,将计算出来的随机数nonce填入到区块头部,向邻近节点传播

     

    2、区块的验证链接

     (1)相邻节点收到新区块后,会立即验证这个区块

    3、Merkle Tree结构

     (1)防止数据篡改

     (2)快速验证某个交易是否存在

     (3)节点存储Hash值

     (4)从叶子节点构造树

     

    展开全文
  • 区块链区块链技术

    2018-02-10 10:39:24
    区块链是分布式数据存储、点对点传输、共识机制、加密算法等...区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。[3]
  • 区块链跨链技术

    千次阅读 2019-02-17 14:39:18
    区块链跨链技术 https://blog.csdn.net/niyuelin1990/article/details/86607309 一、跨链简述 跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。狭义上来说是两个相对独立的区块链...

    区块链跨链技术
    https://blog.csdn.net/niyuelin1990/article/details/86607309
    一、跨链简述
    跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。狭义上来说是两个相对独立的区块链账本间进行资产互操作(Interoperability)的过程;广义上来说是两个独立的账本间进行资产、数据互操作的过程。
    跨链应该理解成一个桥梁或者一个机制,分布式网络是不同的信息孤岛,通过跨链机制不同的桥梁相互连接。
    这里读者一定要清楚,跨链并不能提高链本身性能,跨链更多的是对链本身功能的一种补充及对链间数据的互操作。
    跨链历史线:

    单链发展(2009-2012)
    在行业早期相当一段时间内,区块链技术都是基于单一链的发展。当时 行业的普遍认知认为区块链的性能优化和技术升级可以在单一链上完成,一 旦链内成员就项目发展方向无法达成一致,只能通过硬分叉或重新设计一条 区块链来解决。
    单链扩展提出(2012-2015)
    由于在出块时间、区块容量的限制以及智能合约方面的不足,比特币的 发展受到了严重制约。瑞波实验室早在 2012 年就提出 Interledger 协议以解 决不同区块链账本之间的协同问题。随之而来的更多创新,例如莱特币、比 特股、以太坊的出现,加速了比特币核心开发组的危机感。因而在 2014 年10月,比特币核心开发组成立了 Blockstream,首次在白皮书中明确提出了侧链(sidechain)的概念及协议实施方案。2015 年比特币闪电网络(Lightning Network) 采用哈希时间锁(Hashed Timelock)机制,实现了比特币链下快速交易通道.
    中继及跨链平台(2016- )
    2016 年 BTCRelay 方案发表,基于中继跨链方案实现了比特币到以太坊的单向跨链连通。同年 Vitalik Buterin 发表的《Chain Interoperability》对区块链互操作问题做了全面和深度的分析。
    2016 年利用多方计算和门限密钥共享方案,实现公有链间的跨链交易的WanChain诞生。
    2017 年,Polkadot 和 Cosmos 第一次提出了建设跨链基础平台的方案,目前这两个项目还在开发过程中。
    2017 年,以太坊联合和 Polkadot 创始人:Gavin Wood 正式提出了基于分布式的 Web3.0 概念。web3催生垄断主义到数据平权运动,区块链是数据平权运动的急先锋。数据平权运动让Web3.0概念自然而然的产生。Web3.0不是技术范畴,而是对某个行业应用趋势的去中心化到抽象。
    二、跨链可能需要解决的问题
    1、资产(原子)交易
    交易双方必须是原子性的,要么发生,要么不发生。不能存在凭空损失或者创造资产,也不能有欺骗交易的发生。
    2、验证另一条链上的交易
    对交易的确认,一是确认交易已经发生并且上链,写入了区块账本;二是该交易已经获得了系统足够多区块的确认,这样节点作恶和产生双重支付等导致交易无效的概率非常低。区块链系统本身是较为封闭的系统, 缺乏主动获取外部信息的机制,因此要确认另外一条链的交易状态并 非一件容易的事,可以说是跨链交易的核心难点之一。
    通常通过共识的方式,如公证人和 中继的模式来对原链对确认.
    3、两条链资产总量不变且独立安全
    在资产互换的场景下,两条 链的资产并未发生实质性的交换,因此该类情况不会改变各链的资产总量。但是在资产转移的场景下,每条链的可用资产数量是变化的, 只有保障跨链交易精确记账,且两条链的账本记账完全同步,才可实 现,换种说法就是两条链的记账必须是原子性的,要么都同时记,要 么都不记。除此之外,问题的关键是当某条链发生重构时,是否依然 能保持两条链的资产总量不变。
    当两个系统发生交互时,难免会对彼此系统产生影响,如何在跨链交易的过程中保障自己系统和对 方系统的安全性是个值得考虑的问题。若是安全性问题无法隔离,那 一条链受到攻击,将影响整个跨链网络。
    4、跨链平台
    参照计算机网络的发展历程, 独立的区块链网络终究要走上互联互通的未来。已经存在的区块链平台能相互互联互通,未来的区块链平台也能相互互联互通。
    5、总结
    上述五个方面给出了业界的一些主流解决方案和解决思路。但并不是每个涉及到跨链的项目都需要解决以上所有问题,而是各取所需。
    若要实现跨链资产互换功能(来回转移和使用),解决难点一即可;
    若要实现跨链资产转移(资产留置或抵押),解决难点一和 难点二即可。
    若系统需要达到一个安全和稳定的状态,这需要考虑难点三。
    若需要建立一个跨链平台,跨链协议,这需要解决上述四个难点都需要考虑。
    三、跨链实现方式
    整体架构

    在参考 《Vitalik关于跨链的报告》的报告后,笔者将跨链大致分成了3种方式,也是业界分类最为广泛的方式。1.不直接交互的方式 2. 第三方协作交互 3.区块监听方式
    3.1、哈希锁定(Hash-locking)

    用户AB需要互换1BTC和10ETH。
    A用密码生成密文。并使用密文锁定1BTC给B。
    A设置一个回撤交易,若在Y时间内B为领取,则返还给A。
    B使用密文锁定10ETH给A,并广播交易。
    B也设置一个回撤交易,若在X时间内A为领取,则返回为B。
    A只有使用自己生成的密文和B的秘钥解锁B的交易,以获取10ETH
    A解锁成功10ETH后,B也获取到了A的密文。B使用A的密码解锁1BTC,达到了资产互换。
    核心技术点:
    哈希时间锁协议(HTLC):通过哈希锁和时间锁机制保障了交易的原子性。在不同的系统里,其实现哈希锁和时间锁的方式都不尽相同,但原理是一样的,即只有满足一定的哈希条件或者时间条件后才允许交易生效.
    哈希锁:不可逆的哈希函数,用于AB直接的解锁。
    时间锁:需要交易在某个时间范围内不生效或者在某个时间点后生效。通常采用先后快高后多少块或者多少时间后生效后失效。
    3.2、见证(公证)人模式(Notary schemes)
    假设A和B是不能进行互相信任的,那就引入A和B都能够共同信任的第三方充当公证人作为中介。这样的话,A和B就间接可以互相信任。

    见证人不断的进行数据收集,还进行交易确认和验证。此时的见证人将成为可信第三方,可以是一个双方可信的中心化见证人机制,也可以是一群去中心化的节点。在见证人对链A数据的不断收集和验证后,链B在一定比例通过得到链A的交易发生。通俗的讲就是:可信的第三方,告诉B链A 链上发生什么事,或者告诉B某个消息的真的。
    单签名公证人机制:单签名公证人机制也称为中心化公证人机制,通常由单一指定的独立节点或者机构充当。方式:用户可以将资金统一转账给公证人账号,有公证人来跨链资产互换。
    多重签名的公证人机制:多重签名的公证人机制是由多位公证人在各自账本上共同签名达成共识后才能完成跨链交易。多重签名的公证人组的每一个节点都拥有自己的一个密钥,只有当达到一定的公证人签名数量或比例时,跨链交易才能被确认。这种方式相较于单签名模式的安全性更高,少数几个公证人被攻击或 者是作恶都不会影响系统的正常运行。但是这种方式要求两条链本身都要有支持多重签名的功能
    分布式签名的公证人机制:系统有且仅产生一个密钥,而且公证人组中谁都不会拥有完整的密钥,密钥是以碎片的形式随机地发送给每一个公证人节点,且碎片是经过处理后的密文,因此即使所有公证人将碎片拼凑在一起也无法得知完整的密钥,全面地保障了密钥的安全性。
    例子1:互相不认识对帐号AB将 各自对资产转到可行的单签名公证人,当公证人都收到AB的资产后,再讲各自的资产转给账号AB。
    例子2:互相不认识对帐号AB通过公证人转账
    1、用户A在链A发送给链B锁定账户一笔交易,交易由哈希时间锁(Hash Time Lock)锁定,并把锁定交易告诉公证人;
    2、用户B也发起一笔锁定交易,并把秘钥拆分发送给公证人。
    3、公证人凑齐超过2/3比例的秘钥后,告诉用户A,
    4、用户A把秘钥告诉告诉公证人,这样公证人即可帮助AB解锁各自的交易。
    核心技术点:
    多重签名技术(multisig):多个用户同时对一个数字资产进行签名。可以简单的理解为,一个账户多个人拥有签名权和支付权。如果一个地址只能由一个私钥签名和支付,表现形式就是1/1;而多重签名的表现形式是m/n,也就是说一共n个私钥可以给一个账户签名,而当m个地址签名时,就可以支付一笔交易。所以,m一定是小于等于n的。
    共识、分布式签名
    3.3、侧链/中继(Sidechains/relays)

    侧链/中继 不依赖于可信的第三方帮助其验证交易,而是在拿到发送链数据后由接收链自行验证。就是 A 能读 B,B 不能读 A;如果一条 C 链能读到所有链,按理说也能成为一个 “链上” 中介,整个过程就是“A-C-B”。侧链更多的链的关系表达,中继更像是多条链的调度中心,当一条 “侧链” 链接了很多主链时,它就变成一条中继链。
    侧链需要锚定对方的数据。
    例子: 绑定:BTC钱包向多签地址发起金额为0的转账交易,并在OP_RETURN操作符中写明链B的地址。链B接受BTC的轻节点块,并验证用户链B地址的交易是否存在(类似过滤器的监听机制)。若存在,则B链地址和BTC地址绑定.
    入金 :btc钱包往B链的多签地址打钱,B链通过SPV监听, 充值金额绑定到B链地址, 即可完成跨链转账
    出金: B链多签多私钥通过后,可转回用户BTC
    核心技术:
    SPV证明
    SPV证明:即简单支付证明.通过下载比特币或者以太坊的区块头(Header),进行默克尔树的验证. 通过不断计算一笔交易的hash得到根hash,证明一笔交易在不在

    验证过程:
    0). 从网络上获取并保存最长链的所有block header至本地;
    1). 计算该交易的hash值tx_hash;
    2). 定位到包含该tx_hash所在的区块,验证block header是否包含在已知的最长链中;
    3). 从区块中获取构建merkle tree所需的hash值;
    4). 根据这些hash值计算merkle_root_hash;
    5). 若计算结果与block header中的merkle_root_hash相等,则交易真实存在。
    6). 根据该block header所处的位置,确定该交易已经得到多少个确认。
    3.4、各方案的对比
    跨链技术 哈希锁定 公证人 侧链/中继
    互操作性 只有交叉依赖 所有 所有(需要所有链上都有中继,否则值支持单项)
    信任模型 链不会失败或者51%攻击 多数公证人诚实 链不会失败或者51%攻击
    适用跨链交换 支持 支持 支持
    适用跨链资产转移 不支持 支持(需要共同的长期公证人信任) 支持
    适用跨链预言机(Oralces) 不直接支持 支持 支持
    适用跨链资产抵押 大多数支持但有难度 支持(需要长期公证人信任) 支持
    实现难度 容易 中等 难
    四、跨链案例剖析
    4.1、状态通道(state channels)
    状态通道(State Channel)是一种使用哈希时间锁的方式将交易和其他状态更新的放到“off-chain”的技术。我们通过将用户的频繁操作尽可能的在链下通道进行,以扩展区块链的处理能力。
    状态通道有如下特点:
    状态通道依赖于可靠性。如果爱丽丝在质疑时间内掉线了(也许是鲍勃不顾一切地想要赢下奖品,而破坏了她家的互联网连接),她可能无法在质疑时间内做出回应。但是,爱丽丝可以付款给其他人,让其保存一份她的状态副本,并作为她的权益代表,以保持系统的可靠性。
    状态通道在需要长期交换大量状态更新的情况下非常有用。这是因为部署 Judge 合约时创建一个通道会产生初始成本。但是一旦部署完成,该通道内每一个状态更新的成本都会很低
    状态通道最适于有一组明确参与者的应用程序。这是因为 Judge 合约必须始终知晓所有参与到给定通道的实体(比如,地址)。我们可以增加或删除用户,但是每次都需要更改合约。
    状态通道有很强的隐私属性。因为一切都发生在参与者之间的通道“内”,而不是公共广播并记录在链上。只有开启和关闭交易必须公开。
    状态通道的权威性是即时生效的。这意味着只要双方签署了一个状态更新,它可以被认为是最终状态。双方都有明确保证,在必要的情况下,他们可以将状态“执行”到链上。
    4.1.1 闪电网络(Lightning Network)
    闪电网络主要通过引入智能合约的思想来完善比特币链下的交易渠道。技术特点:
    一个是序列到期可撤销合约(RSMC,Recoverable Sequence Maturity Contract),另一个是哈希时间锁(HTLC,Hashed Timelock Contract)。前者解决了链下交易的确认问题,后者解决了支付通道的问题。
    RSMC定义了交易通过多重签名建立微支付通道,一个是序列到期可撤销合约。微支付通道中沉淀了一部分资金,通道也记录有双方对资金的分配方案。通道刚设立时,初值可能是{Alice: 0.4, Bob: 0.6},意味着打入通道的资金共有1.0 BTC,其中Alice拥有0.4 BTC,Bob拥有0.6 BTC。通道的设立会记录在比特币区块链上。
    如果Alice暂时不需要将通道中现在属于她的0.5 BTC用作支付,她可以无需及时更新区块链上记录的通道余额分配方案,因为很可能一分钟后Alice又需要反过来向Bob支付0.1 BTC,此时他们仍然只需在链下对新的余额分配方案达成一致,并设法作废前一版本的余额分配方案就行了。
    如果Alice打算终止通道并动用她的那份资金,她可以向区块链出示双方签字的余额分配方案。如果一段时间之内Bob不提出异议,区块链会终止通道并将资金按协议转入各自预先设立的提现地址。如果Bob能在这段时间内提交证据证明Alice企图使用的是一个双方已同意作废的余额分配方案,则Alice的资金将被罚没并给到Bob。
    HTLC定义了双方有时间或者快高限定的协议。通过HTLC,Alice和Bob可以达成这样一个协议:协议将锁定Alice的0.1 BTC,在时刻T到来之前(T以未来的某个区块链高度表述),如果Bob能够向Alice出示一个适当的R(称为秘密),使得R的哈希值等于事先约定的值H®,Bob就能获得这0.1 BTC;如果直到时刻T过去Bob仍然未能提供一个正确的R,这0.1 BTC将自动解冻并归还Alice。
    当然闪电网络支付通道远不止这些。

    Alice想给Dave发送0.05 BTC,但Alice和Dave之间并没有微支付通道。但这没关系,Alice找到了一条经过Bob、Carol到达Dave的支付路径,该路径由Alice/Bob, Bob/Carol和Carol/Dave这样三个微支付通道串接而成。
    Dave生成一个秘密R并将Hash®发送给Alice,Alice不需要知道R。R和Hash®的作用就像是古代调兵用的一对虎符。
    Alice和Bob商定一个HTLC合约:只要Bob能在3天内向Alice出示哈希正确的R,Alice会支付Bob 0.052 BTC;如果Bob做不到这点,这笔钱3天后自动退还Alice。
    同样地,Bob和Carol商定一个HTLC合约:只要Carol能在2天内向Bob出示哈希正确的R,Bob会支付Carol 0.051 BTC;如果Carol做不到这点,这笔钱到期自动退还Bob。
    最后,Carol和Dave商定一个HTLC合约:只要Dave能在1天内向Carol出示哈希正确的R,Carol会支付Dave 0.05 BTC;如果Dave做不到这点,这笔钱到期自动退还Carol。
    一切就绪后,Dave及时向Carol披露R并拿到0.05 BTC;现在Carol知道了R,她可以向Bob出示密码R并拿到0.051 BTC(差额部分的0.001 BTC成了Carol的佣金);Bob知道R后当然会向Alice出示并拿到他的那份0.052 BTC,差额部分的0.001 BTC成了Bob的佣金。
    4.1.2 雷电网络(Raiden Network)
    以太坊社区链下微支付通道解决方案。和闪电网络一样,双方需要在以太坊区块链上开设通道并各自锁定以太坊。这步动作可通过向Raiden智能合约发送一条双方签名认可的报文来实现。报文中的关键信息包括:双方公钥、双方锁定资产数量、双方签名。雷电网络旨在实现更高的扩展性、更快的交易速度、更多的隐私保护、更好的胡操作性以及更低的费用。
    雷电网络存在以下特点:
    第一,雷电网络的支付通道是被链上的一个智能合约控制,该智能合约更加丰富;
    第二,雷电网络引入了更为通用的“智能条件(Smart Condition)”,实现智能转账(smart transfers),HTLC 成为其可 实现的一个子集,除了哈希锁、时间锁等条件,它还可设定更复杂的 条件。 Smart Condition表现为一个可在区块链上执行的函数Function(argument),可接受任何格式的报文为参数。
    第三,在设计细节上雷电网络也不同于闪电网络。比如,雷电网络中用来更新通道余额分配的报文,增加了序号字段和等待期字段以便识别作废的报文;在余额分配中,申明新余额分配的方式是出示余额分配的净增减,而不是重新申明余额等。
    4.2、公证人加Hash锁混合
    瑞波是一种新型的区块链技术,专注于解决分布式的支付和清算问题。Ripple 在底层的 Ripple 共识账本之上定义 了 Interledger Protocol(ILP,跨账本交易协议),该协议能够在实现跨账本转账的同时消除交易中存在的对手方风险。技术上采用公证人和Hash锁的实现方式。
    ILP 将 在交易者账户与一个 Ripple 本地账户之间建立起双向锚定的关系, 实现二者的同步变化,确保交易过程的透明性。同时,对于没有直接支付通道的两个账本系统,通过 ILP 可实现多跳间接跨账本交易。
    A 先挑选一家汇率最合适的流动性提供商,假设人民币和美 元的汇率为 6:1,然后在银行 M 向其托管账户 1 汇款 600 人 民币,并同时在 Ripple 的应用上填写汇款信息、收款地址以 及超时时间等;
    这些信息将被 Interledger Module 打包发送给 Ripple 上的账户 1,Ripple 账户 1 对托管账户 1 中增加的 600 人民币进 行记账,并将转账证明发给验证人(Validator,一种公证人 节点);
    对于收款方,B 公司在 Ripple 的应用上填写汇款地址、超时 时间等信息,在 Ripple 网络中广播,此时之前 A 挑选的流动 性供应商会先行垫付转账款给 B,通过其自己在 Ripple 的账 户 3 转 100 美元给 Ripple 账户 2,并将转账证明发给验证人 (Vadilator);
    验证人对两个转账证明核对;核对通过后,IPL 账本将按照 Hashed Time Lock Agreement 原子交易协议同时进行清算;
    清算完成后,Ripple 账本将通过 Interledger Module 将账 户变动同步到其所对应的托管账户,然后托管账户 1 中的 600 人民币将汇给流动性提供方,托管账户 2 中的 100 美元 汇给收款者账户,从而实现收款人与汇款人之间的跨账本交 易。
    4.3、分布式签名公证人机制
    主要包括FUSION和Wanchain项目
    4.3.1 Wanchain(万维链)
    Wanchain也是一种跨链平台,不过更多的是需要其他公有链主动去兼容它
    Wanchain(万维链)是 2016 年发起的区块链跨链平台项目。Wanchain 是一个异构跨链框架,主要基于分布式公证人模式实现跨链。该模式主要采用了密码学“安全多方计算(Secure Multi- Party Computation)”和“门限密钥共享技术(Threshold Key Sharing Scheme) ”来实现验证人的分布式签名。同时在用户隐私方面采用环签名和一次性账户技术。
    门限密钥共享技术是现代密码学体制的设计是使得密码体制的安全性取决于密钥的安全,密钥的泄露就意味着体制失去了安全性,因此门限密码解决了如何分配给多方参与者,并如何共同使用的问题。
    其中一种实现:以色列密码学家 Shamir提出了Shamir 门限密钥共享的概念:密钥被分为n份分配给n个参与者,每个参与者掌握一个密钥份额(key sharing),只有集齐超过k个密钥份额,才能够将密钥恢复。
    安全多方计算是分布式密码学的理论基础,也是分布式计算研究的一个基本问题。安全多方计算是指在一个互不相信的多用户网络中,两个或多个用户能够不泄漏各自私有输入信息,协同合作执行某项计算任务。
    简单地说,安全多方计算是指一组人,比如 P1…Pn ,共同安全地计算函数f(X1…Xn)=(Y1,…Yn) 。 其中这个函数的n个输入分别由这n个参与者秘密掌握的,设Pi的秘密输入是Xi, 并且在计算结束后, Pi得到输出Yi。这里的安全性是要求即使在某些参与者有欺骗行为的情况下,保证计算结果的正确性,即计算结束后每个诚实的参与者Pi都能得到正确的输出Yi,同时还要求保证每个参与者输入的保密性,即每个参与者Pi除了(Xi,Yi)外,得不到任何其他信息。安全多方计算已经有了丰富的理论成果和强有力的工具,虽然它的实际应用还处于起步阶段,但终将成为计算机安全一个不可缺少的部分。
    安全多方计算协议分类:基于 VSS 子协议的安全多方计算协议,基于 Mix-Match 的安全多方计算协议,基于 OT 的安全多方计算协议,基于 OT 的安全多方计算协议。
    Wanchain 上将验证节点设计为三类:普通验证节点(Validator)、跨链交易证明节点(Voucher)和锁定账户管理节点(Storeman)。其中 Voucher 负责在跨链交易过程中提供原链账户与锁定账户之间交易的证明,Voucher 将用户跨链交易证明提供给 Storeman,Storeman 收到证明后完成后续跨链操作,Validator 负责 wanchain 的共识记账。将交易和验证分开,一定程度规避了合谋作恶。
    用户发起跨链交易请求后 Wanchain 确认原链交易的方式如下:
    (1)用户在原链的 token 会被发送至 Wanchain 在原链的锁定账户,交易由哈希时间锁(Hash Time Lock)锁定;
    (2)Voucher 验证确认了原链上的交易后,Storeman 会在 Wanchain 上发起跨链的合约交易,将需要映射的 Wtoken(Wtoken 此处指 Wanchain 上与原链 token 等量对应的映射 token)转移至用户在 Wanchain 上的跨链账户,且锁定;
    (3)用户钱包检测到跨链合约锁定的交易后,账户释放多个密数(Secret)的私钥以碎片形式分散到多个 Storeman 手中, 超过一定比例(2/3)的 Storeman 见证人完成签名才可最终确认。 也就是说通过门限秘钥技术使得链达到共识后,方可对用户token的锁定。
    (4)Storeman 通过密数得到原链 token 的控制权,从而实现对原链交易的确认。
    如果用户没有在哈希时间锁的范围内释放密数,哈希时间锁到期后跨链合约的交易自动失效,用户重获原链 token 的控制权。
    委托去中心化的验证人掌柜用户私钥,事实上用户同时还掌握了自身代理资产的那部分私钥,所有这笔资产从来没有离开用户的掌握,它并没有像中心化交易所一样,完全用第三方来掌握这个资产。
    以太坊——万维链 跨链示例
    4.4、侧链(Sidechain)
    4.4.1、Luquid
    Liquid Network是独立的区块链,所以也有自己的代币Liquid Bitcoin (LBTC)。Liquid Network的核心原理是2-way peg,即BTC和L-BTC双向锚定。其实很简单,就是在使用Liquid Network转账时,主链上的BTC会被锁定,兑换成相应的LBTC,然后在侧链上通过LBTC进行资产的转移,收到LBTC后,接收方在将LBTC转换成等额的主链上的BTC资产。
    RSK和Liquid Network使用相同的共识机制,但是不同点在于RSK网络更加的开放,任何人都可以加入进来,而Liquid network的用户想要只用网络,必须通过交易所等中间媒介。
    Luquid Network和闪电网络/RSK的区别
    Liquid网络是为了满足交易所和场外交易者的快速、大额和匿名转账需求而设计的,转账额度并不受通道容量限制,达到可预见性和可靠性。而闪电网络则主要是为了满足小额支付和转账而设计的,转账额度受通道容量限制(目前为0.168BTC),而且需要接收方在线,否则速度会受到极大的影响。
    4.4.2、Plasma
    Plasma 可以扩展我们与基于区块链的数字资产之间的交互,但是这些资产应当是首先由以太坊主链创建的。然后,我们将实际的游戏应用程序以智能合约的方式部署到子链上,这样子链就包含了游戏所有的逻辑和规则。 它是通过创建依附于“主”以太坊区块链的“子”区块链。
    Plasma 侧链支持多 级侧链,并采用 MapReduce 模式来执行 并行计算,可大大提高侧链性能。侧链的 区块头和哈希数据将被发送到主链,并且 可通过 Proof of Fraud 来确保子链交易的 正确性。
    Plasma 和 Raiden 区别
    雷电网络旨在提供更高扩展性、更快交易速度、更多隐私保护以及更低费用的交易,让交易双方能在交易通道交易。Plasma是一种利用侧链层次树来扩大交易规模的概念,本来在主链执行的交易放到侧链执行。Plasma是区块链中的区块链。Plasma的实现将与雷电网络相辅相成。甚至可以在Plasma子链上建立状态通道。
    链接:http://8btc.com/article-4662-1.html
    4.5、中继
    4.5.1、BTC-Relay
    BTC-Relay 本身为以太坊的一个智能合约,该合约的功能就是对比特币上的某些交易进行验证,并且提供验证信息给以 太坊上的其它 DApp 用户。Relayer 是从比特币获取区块头数据的一 群用户,并拥有以太坊网络的账户地址,最快向 BTC-Relay 合约提交 区块头数据的 Relayer 可以得到以太坊的交易费奖励。BTC-Relay 智 能合约获得区块头数据以后就可以依据 SPV 证明的原理对某交易进 行验证,当比特币网络中的某交易确实发生,则可触发以太坊网络的 特定交易或者智能合约执行。
    BTC-Relay使用场景举例
    1.Alice和Bob同意使用BTCSwap合约来进行交易,Alice要买Bob的eth,Bob把他的 eth发送到BTCSwap合约
    2.Alice向Bob发送bitcoin,她希望BTCSwap这个合约能知道这件事以便BTCSwap合约可以释放Bob之前的eth
    3.Alice通过bitcoin的交易信息以及BTCSwap合约地址来调用btcrelay.relayTx(),btcrelay验证这笔交易通过后就触发BTCSwap合约里面的processTransaction方法
    4.BTCSwap合约在被触发后确认这个btcrelay地址是一个合法地址,然后释放之前Bob的eth
    4.6、跨链平台
    跨链平台更多的是对以上多种技术的综合,包括哈希时间锁、公证人、中继。在市面上做的好的跨链平台主要是cosmos和Polkadot。
    4.6.1、Cosmos
    Cosmos 的整体架构如下图所示,Hub 上可以连接很多 Zone(Hub 是一条链,每一个 Zone 也是一条链),Cosmos Hub 维护了一个多资 产分布式账本,掌握了与其相连的所有 Zone 的资产种类以及数量情 况。每一个 Zone 也是能维护多资产类型的账本,其可接收其它 Zone传来的资产,也可将自己的资产转移到其它的 Zone。每一个 Zone 会 同步 Hub 的状态,但 Zone 和 Zone 之间的交流只能通过 Hub 间接地进行。每一次跨链资产转移都需要发送 Zone、Hub、和接收 Zone 的共同确认才可成功。你也可以认为 Zone 是 Hub 的一种资产子分片。
    Zone 和 Zone 之间通过消息(数据包)进行信息传输,基于 IBC (Intra Block Communication)通讯协议。某空间内的区块将要传 递的数据打包成标准的 IBC 数据包,最终通过网络层的 UDP 或 TCP 协议完成传输。
    下图中每一个Zone和Hub的共识均采用Tendermint 共识。Tendermint协议在这里不做专门的介绍。

    Cosmos-Bridge
    Cosmos 和系统外的其它异构链进行跨链交易需要通过 Cosmos Bridge 进行,Bridge-Zone 将专门负责和原链的对接,包括对原链的交易确认、在 Cosmos 上创建/销毁对应的跨链代币等工作。
    以以太坊到 Cosmos Bridge-Zone 资产转移为例。以太坊内部将部署一个 bridge-contract 的智能合约,负责以太坊到 Cosmos 的跨链交易处理。用户如果需要转账到 Cosmos,可直接将 ETH 转移到 bridge- contract 合约即可,转移到合约后 ETH 资产即被冻结,除非跨链交易失败或者 bridge-contract 检测到 Cosmos 有资产转移过来 (bridge-contract 会追踪 Bridge-Zone 验证节点的状态,Cosmos- Bridge 可以和 Cosmos Hub 共享同一组验证节点)。Bridge-Zone 的验证节点将对以太坊上 bridge-contract 的交易进行验证,若验证通过,可以在 Bridge-Zone 生成对应的 Cosmos-ETH(SPV验证)。将 Cosmos-ETH 转移到 以太坊上过程也类似,只不过 Bridge-Zone 转到以太坊的 Cosmos-ETH 将被销毁,而冻结在 bridge-contract 的 ETH 会被解锁,并转移到某账户地址中。
    Cosmos Zone 之间资产转移机制
    Cosmos Zone 之间的资产转移主要是依托于 IBC 通讯机制。IBC协议中设计了两个消息:
    IBCBlockCommitTx:发送方所在区块链的最新的区块信息。
    IBCPacketTx:跨链交易本身的信息,及其在发送方链中被打包的区块信息。
    接收链通过Hub作为中继,接收来自发送链的信息,并通过Merkle Proof以及验证节点的签名情况来判断发送链的交易是否最终确认。
    如下图所示,为Zone 1空间向Zone 2空间传递代币的消息时序图,我们将以此为例来说明 IBC 通讯协议的详细过程。
    1). Zone 1 发起 IBCBlockCommitTx 交易,将新区块头部信息(包括所有验证人的公钥)传递到 HUB;
    2) Zone 1 发起代币转移交易, Zone 1 对该交易进行逻辑验证,是否合法有效;, 将该合法交易放到面向 HUB 的消息队列中;
    3) Zone 1 的中继程序监听到队列中有新的消息,即生成 Merkle Proof,并作为 IBCPacketTx 的 Payload 发送给 HUB。(在每个 空间内都有一个独立的第三方中继程序,它负责从原链生成 Merkle Proof 并组装成 Packet,并发起交易,传递到目标链 上);
    4) HUB 验证 Merkle Proof 是否有效,若有效则发送消息给 Zone2(HUB 给 Zone2 发送消息的过程同步骤 1~4);
    5) Zone2 在接收到 HUB 的消息后验证 Zone1 为真实有效的交易,发送消息给 HUB 确认可接收来自 Zone1 的资产;
    6) HUB 给 Zone2 发送消息,将资产发送给 Zone 2,完成了资产在不同区块链之间的一次转移;
    Cosmos 现状
    Cosmos现在工程迭代速度缓慢,也长时间未真正落地。同时也存在以下问题:
    IBC协议目前只完成了基本消息的传递功能,并没有安全校验、注册机制以及一些异常的处理。
    Tendermint 协议性能不高,所有Zone和Hub基于该协议过于局限
    Hub 作为中枢网关,需要负责交易验证,承载压力过重
    4.6.2、Polkadot
    在介绍Polkadot和Substrate之前, 有必要先介绍下Gavin Wood。Vitalik发起了以太坊项目,初步构思了白皮书,同时进行了以太坊的ICO,但是直到Gavin加入以太坊技术才步入正轨。Gavin Wood完成了以太坊的白皮书,以及花了3周时间完成了以太坊cpp版本源码,可以说Gavin Wood是以太坊的隐形大脑。同时Gavin Wood也是以太坊Rust客户端Parity项目的发起人。所以追随Gavin Wood的脚步也许就是区块链的未来。
    Polkadot是Gavin Wood在发现以太坊不足之后,所创建的项目,旨在完成全新的区块链平台。Polkadot 介绍可以看笔者这篇分享:区块链-Polkadot技术调研

    Polkadot由一个中继链Relay Chain和若干平行链Parachain组成,以及异构链的转接桥Bridges。
    **中继链(Relay Chain)**负责全网的共享安全共识和平行链的跨链交易转发,中继链可以理解为具有安全共识的网关。在中继链上,Polkadot 通过一个现代的异步(asynchronous)拜占庭容错(BFT) 算法达成对有效区块的相互共识,算法受简单的 Tendermint 和 HoneyBadgerBFT 启发。中继链本身不包含任何,只负责最顶层跨链消息的路由,应用均在平行链上进行开发和部署。
    平行链(Parachain) 是附着于由中继链提供的安全性上的,可并行化的区块链应用。平行链由中既链提供共享安全共识和平行链之间的跨链消息转发。平行链可以使用不同类型的区块链底层技术,允许每个参与者定义自身有效性的方法,来解决特定领域的问题。比如平行链可以是不同币的跨链平台,也可以是一个撮合交易的平台。
    转接桥(Bridges): 相对于部分异构链来说可能需要,比如当以太坊的需要与 Polkadot 交互时候,以太坊的数据会通过针对以太坊专门开发的 Bridge 转换成在 Polkadot 中交互所需的模式。
    Substrate
    Parity Substrate是独立于Polkadot的项目。 Polkadot是基于Substrate构建的,是 Polkadot 运 行 环 境 ( PRE , Polkadot Runtime Environment)。Substrate包括对共识、 网络、WebAssembly、数据库、客户端等均有模块化的支持。
    用户可以使用Substrate来快速构建新的区块链项目,比如使用Substrate开发自己的区块链平台。当然最重要的是可以基于Substrate,我们可以搭建Polkadot的平行链。比如ChainX。
    ChainX

    任何人都可以竞争性地向ChainX内的各资产链轻节点提交跨链数据,ChainX会根据原链的共识算法得出最优链和有效的跨链交易。由ChainX社区全民公投选举产生15个信托节点,在各资产链上生成多签地址来联合托管用户的链外充值资产,单方或几方无法挪用储备资产。对于Polkadot生态内的新型链,ChainX将使用双向轻节点跨链协议,无需多签锁定即可实现更高效的跨链资产转移。
    ChainX v2将于2019年Q3 Polkadot发布v1后上线。ChainX将接入Polkadot并转变为其平行链运行。
    五、总结
    跨链项目总体处于探索阶段,跨链技术成熟度较低,相比于单链技术更加复杂,所以未来仍有较大发展空间。并且跨链技术设计的技术点非常多,无论是hash锁、公证人、中继都值得读者深入研究。对于以上案例来说,目前发展速度最快、迭代速度最快是Polkadot,所以笔者认为Polkadot值得不断学习和跟踪。
    六、参考
    1、https://ethfans.org/posts/chain-interoperability-report
    2、https://blog.csdn.net/taifei/article/details/73497970

    在这里插入图片描述

    展开全文
  • 区块链原理技术报告

    2018-08-29 12:26:41
    区块链技术原理,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一...
  • 区块链-技术简介

    万次阅读 2018-03-30 17:08:08
    区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式...

    1、什么是区块链?

    区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。简单来讲, 在区块链系统中, 每过一段时间, 各参与主体产生的交易数据会被打包成一个数据区块, 数据区块按照时间顺序依次排列, 形成数据区块的链条,各参与主体拥有同样的数据链条, 且无法单方面篡改,任何信息的修改只有经过约定比例的主体同意方可进行,并且只能添加新的信息,无法删除或修改旧的信息,从而实现多主体间的信息共享和一致决策, 确保各主体身份和主体间交易信息的不可篡改、 公开透明。

    区块链发展到今天,已经涌现出许多形形色色的区块链项目, 这里梳理了这些区块链项目在技术上的共性: 区块、 账户、 智能合约、 共识, 这 4 个主要部分构成了目前的区块链系统的通用模型 。

    • 通过链式结构记录状态的变更历史,每一次变更的状态“快照”都以“区块” 的形式记录;

    • 通过非对称密钥对表示参与者身份,以某种形式的状态数据库记录当前的信息, 这部分被称为“账户” ;(注: 以太坊、 Fabric 是账户模型, 而比特币是 UTXO 模型)

    • 通过链上编码定义参与者之间的承诺,这部分被称为“智能合约” ;

    • 通过某种算法在多节点之间达成状态一致, 这个过程被称为“共识” 。

    2、区块链有哪些特点?

    从技术构成的角度来观察区块链有助于我们揭开它的神秘面纱, 实事求是地分析区块链, 并揭示它的本质特点,理解其价值发挥的内在逻辑。 如前所述, 区块链并不是一个全新的技术, 而是结合了多种现有技术进行的组合式创新,是一种新形式的分布式加密存储系统。

    区块链本质上是一种健壮和安全的分布式状态机,典型的技术构成包括共识算法、 P2P通讯、密码学、 数据库技术和虚拟机。这也构成了区块链必不可少的 5 项核心能力:

    • 存储数据:源自数据库技术和硬件存储计算能力的发展,随着时间的累积,区块链的大小也在持续上升,成熟的硬件存储计算能力, 使得多主体间同时大量存储相同数据成为可能;

    • 共有数据:源自共识算法,参与区块链的各个主体通过约定的决策机制自动达成共识, 共享同一份可信的数据账本;

    • 分布式:源自 P2P 通讯技术,实现各主体间点对点的信息传输;

    • 防篡改与保护隐私:源自密码学运用, 通过公钥私钥、 哈希算法等密码学工具,确保各主体身份和共有信息的安全;

    • 数字化合约:源自虚拟机技术,将生成的跨主体的数字化智能合约写入区块链系统,通过预设的触发条件, 驱动数字合约的执行。

    3、区块链适合解决哪些问题?

    通过对比分析、 研究国内外各领域的典型应用案例及相关参考文献,获得了一些有助于在业务中推广及应用区块链的经验, 并推荐具有以下特点的应用场景或问题,应该积极考虑尝试区块链技术:

    • 业务开展需要进行跨主体协作

    当需要为开展跨主体的业务建设 IT 系统时, 传统的解决方案通常是两种思路。要么建立和运营一个中心化的系统来处理各个参与方的业务需求,业务数据由中心化的组织维护;要么采用 SOA 架构, 由各个参与方发布服务接口,并相互调用,数据仍然维护在各个参与方。如果采用中心化的方案,若是业务的参与方之间是相对独立平等的,要开发建设一个中心化系统是很困难的, 包括协调、 立项、 成本分摊等问题。 如果采用 SOA 的方案, 则技术实践上比较复杂, 技术方案缺少通用性, 难以支持复杂的业务。 此外,从数据的角度来看,无论是中心化的方案还是 SOA, 都难以实现数据防篡改。

    在业务参与方之间相对独立平等的跨主体业务协作的场景下, 利用区块链的共有数据、防篡改、 分布式和数字化合约的特点, 能够把一些以往需要在业务层面协调解决的问题, 放到技术层面来解决, 使得问题的解决过程更高效、灵活以及更具客观性。

    • 业务开展需要参与方之间建立低成本信任

    大多数业务开展都需要建立一定的信任基础,尤其是跨主体的场景下。 对信任建立困难、信任维护成本高的应用场景, 区块链可以提供非常有效帮助。

    我们从三个方面来考察区块链如何建立低成本信任:

    1、数据可信

    传统的解决方案中,数据通常是以中心化的方式存储,本应共有的业务数据却被强势的参与方持有。 这种模式下,数据的可信度是由数据持有者的商业/社会信用来保证的, 只能建立主观的可信,对于一些重要的领域, 仍需要付出额外的成本来规避数据被恶意篡改的风险。

    区块链的解决方案是结合了密码学哈希和数字签名,以区块链条的形式将数据的变更历史按时间先后链在一起, 并通过共识协议使得参与的各方都共同拥有这些数据。

    由于多方分别持有相同的数据副本, 并且数据被签名确认, 并记录数据的“指纹”(哈希值), 以密码技术保证了数据无法被篡改, 数据因此变得可信。

    区块链使数据持有变得去中心化,以技术手段实现数据客观“可信”。

    2、合约履行

    通常的合约(或者契约、 协定、合同) 的履行从根本上是由法律来保障的。合约被自觉履行一般都是因为有利益、 道德或法律后果, 受许多主观因素影响。 商业活动中为了防止违约、或对违约进行追索, 需要付出高昂的成本(担保、保险、律师费、漫长司法程序等等)。

    区块链智能合约的本质是一套数字化形式的契约,由计算机确保严格执行。执行方式上, 通常的合约是事后以人的主观意愿来执行;而智能合约是在触发条件被满足后,由计算机程序来保证合约及时地执行,具有客观性。

    我们把资产数字化到区块链或与区块链锚定, 采用智能合约来描述对资产关系的承诺,同时智能合约的执行过程和结果被区块链严格记录,这样便可以降低履约成本和确保高效履约。

    区块链智能合约带来的是“契约” 的一种新的更精确的表示形式, 以及一种更客观、 更严格的执行方式。由于契约是我们社会活动的基础,因此这种变化将会带来更广泛的社会影响。

    3、历史可证明

    区块链固化了交易历史,并提供对交易历史的追溯查询,保证交易的不可篡改和不可抵赖。

    如果某个事件发生时,这个事件连同时间戳一起被记录到区块链中,将来就可以通过区块链证明这件事确实在这个时间发生过。因此区块链为参与交易的各方保留了可信的历史记录。

    • 业务过程存在长交易、 长周期链条

    业务在多主体间流转时, 难以确定间接主体的真实性和有效性,同时由于多主体间的业务隔离, 难以延伸出多级业务。区块链从技术上保证整个长交易、 长周期链条的各参与主体身份真实,数据可信, 实现信用的多级传递, 促进业务链条扁平化,提升业务效率。

    比特币作为区块链技术的一种典型应用, 在交易市场上市值已达千亿美元,这样的一个高市值系统却是以开源的方式在公共网络上运行了多年, 表现出了良好的安全性和健壮性。比特币系统的表现揭示了一个重要事实——以客观区块链技术为手段可以直接建立信任, 而不需中介背书。

    如果我们把区块链技术推广运用到更广泛的产业、金融、 公共服务等场景, 将使社会的生产分工方式产生巨大变化,这些变化包括:

    • 商业交易过程更容易达成信任, 从而降低风险, 使交易更具确定性;
    • 商业交易中间环节被缩减, 多方交易可直接达成;
    • 传统中介的中心化的服务模式将发生巨变。

    这种影响目前已经逐渐显现, 随着区块链的逐渐成熟和应用的不断丰富,这种影响力将会像蝴蝶效应一般逐步放大和深入到整个社会, 推动去中心化或多中心化主体间的高效协同和共识决策。 人类因掌握“工具” 而发展文明,我们相信区块链是一种新的“工具” ,最终将促进人类社会的进步发展。

    4、区块链发展面临的挑战

    目前人们已经广泛认识到区块链巨大的应用价值,但是区块链的技术发展却还没有到达成熟阶段, 尤其在企业级应用方面, 区块链的交易并发能力、 数据存储能力、通用性、 功能完备性、 易用性都还存在明显不足。

    • 交易并发能力

    目前开源的区块链系统的高并发交易能力普遍不高, 其中,共识算法是制约性能的重要方面。在区块链中使用的典型共识算法主要有: PoW、 PoS、 DPoS、 PBFT 等。

    制约性能的另一个重要因素是账本结构。 目前典型的区块链账本设计为区块的单链结构, 意味着从全局来看所有的交易都只能顺序地被处理。 由于交易处理缺少并行度,因而难以获得接近于传统中心化系统的性能表现。

    企业场景下的交易并发量通常要求在每秒处理数百至数千笔以上的交易, 远高于目前包括公有链、联盟链在内的典型区块链的表现,而且还要求区块链的性能表现可以随着业务规模的增长而动态伸缩。 因此, 现实和目标之间存在数量级的差别, 需要持续优化和提升区块链系统高并发交易性能。

    • 数据存储能力

    在数据存储能力方面,由于区块链的数据只有追加而没有移除,数据只增不减, 随着时间推移, 区块链系统对数据存储大小的需要也只能持续地增大,在处理企业数据时这一趋势增长更甚。

    不同于公链数字货币的主要内容是“账户余额” , 企业场景下的数据包含结构化和非结构化数据,数据量十分庞大。以电商供应链为例, 主要电商入口的每日数据记录条数通常都在千万级以上, 如再沿着供应链条进一步展开时,每延伸一级数据量都会进一步放大。

    目前典型的区块链系统在实现对账本数据的存储时,典型的实现方式是基于文件系统或者简单的 KV 数据库存储, 没有采用分布式存储的设计,因而数据存储能力与实际需要之间也存在较大的差距, 需要探索更为有效的大数据存储方式。

    • 通用性

    区块链需要适应多样化的业务需求,满足跨企业的业务链条上的数据共享,这意味着区块链对数据的记录方式要有足够的通用和标准,才能表示各种结构化和非结构化的信息,并能够满足随着业务范围拓展所需的跨链要求。

    目前市面上的区块链系统大多采用特定的共识算法、 加密算法、 账户模型、 账本模型、存储类型,缺少可插拔能力, 无法适应不同场景要求。

    • 功能完备性

    纵观现有区块链平台, 模型抽象单一, 难以适应业务系统快速开发的要求。 另外, 缺少对企业应用中常见的一些功能的支持,例如用户认证、 多级授权等。 再者,涉及到企业业务协作时, 跨企业的事件通知机制显得尤为重要,但少有区块链平台支持。

    • 易用性

    区块链是由多种技术构成的,导致学习成本高、 实施难度大、 人才稀缺。如何让用户快速理解区块链,低成本学习区块链,并将区块链技术快速应用到自身的业务中去,目前来看有很大的挑战。区块链技术需要降低学习和使用门槛,支持快速实施部署,提供贴近业务的接口,推广使用。

    从比特币的提出到今天为止, 人们尝试了非常多样化的应用场景。 最初是币(coin) 的应用,各种数字货币的出现和热炒引起了广泛关注和讨论。人们发现,作为比特币底层技术的区块链可以用来解决现有业务的一些痛点, 创新业务模式, 于是金融和产业领域开始形成一些组织联盟, 如 R3、 Hyperledger 等。 技术圈也逐渐将更多的关注从“币” 转到了区块链的企业级应用。

    人们在许多领域进行了广泛的尝试, 例如供应链管理, 互联网金融,证券和银行业务,贸易融资,保险,医疗健康, 资产管理, 数字版权保护,公益慈善,政府公共服务, 监管合规性与审计,游戏,公益等等。 但是,目前已经成功落地的区块链应用比较少,无论是技术还是业务都还处在摸索阶段。

    业界的积极实践进一步巩固和加深了人们对区块链潜在价值的认识,但却鲜有成功的落地案例,大多数停留在理念或 POC 阶段, 这种状况的形成受许多因素影响:

    1、不适用的、不可持续的场景

    有不少案例是为了区块链而区块链, 而不是从解决业务痛点出发,导致案例缺少有效价值,例如对一些不需要公开的信息进行存证。 或者没有结合区块链的特点来设计业务创新,仍然以传统的思路来设计业务模式,例如仍然用中心化影响力来把业务简单地搬到链上,不能高效地拓展业务边界。

    2、错误的实施方法

    没有充分认识区块链的技术特点, 无法设计出合理的技术方案。比较典型的例子如把区块链简单地当做数据库,把原来中心化系统数据直接搬到区块链上。

    3、技术不成熟

    没有充分认识区块链技术目前的成熟度现状,过于乐观地选择技术方案。目前区块链在性能、扩展性、易用性、功能完备性、运维成本等许多方面都还有待完善, 更合理的应用方式应该是以应用层业务系统为主,区块链底层完善优化为辅, 开展区块链技术应用。

    4、人才稀缺

    区块链是个多学科综合技术解决方案,包括分布式、存储、密码学、网络通讯、芯片技术、经济学、法律等,技术专业能力要求高,技术学习、 人才培养、 实践经验积累周期长。

    目前影响区块链应用落地的因素有很多, 以上仅简单列举几点,以此说明区块链的发展仍然任重道远。

    展开全文
  • 区块链技术

    2019-04-05 17:39:37
    广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新...
  • 区块链技术基础

    万次阅读 多人点赞 2019-06-14 21:20:07
    区块链可以理解为是基于区块链技术形成的公共数据库。而区块链技术是比特币的底层技术,包含现代密码学、分布式一致性协议、点对点网络通信等技术,这些技术通过一定的规则协议,最终形成区块链技术......
  • 区块链核心技术及应用

    千次阅读 2018-08-29 16:30:42
    区块链核心技术及应用 目录 区块链核心技术及应用 什么是区块链 关于比特币 Bitcoin需要解决的问题 矿机 Bitcoin的定义 区块链涉及的核心技术 区块链与BitTorrent 区块链的应用场景 区块链技术特点 ...
  • 区块链匿名技术

    万次阅读 2019-05-10 10:55:51
    Darkcoin使用的匿名技术是:Darksend引入了Coinjoin分布式混币服务。Coinjoin的混币,分析者有可能通过输入地址的金额和输出地址的金额对比,分析出混币的输入和输出地址对。另外Darksend不开源,有纪录混币历史的...
  • 区块链学习技术随笔

    2019-05-13 09:59:27
    区块链是经曩昔中心,化去信任的方式团体维护一个可靠数据库的技术计划。参与系统中的恣意多个节点把系一致段时间内的全部的信息,数据经过密码学算法核算和记录到一个数据块(区块block)而且生成该区块的指纹用于...
  • 区块链跨链技术整理

    千次阅读 2019-08-06 13:54:12
    区块链属于分布式账本技术的一种,每一条链都相当于一个独立的账本,通常情况下不同账本之间是无法实现价值转移的。随着技术以及市场的发展,加密货币的种类越来越多,与此同时也涌现出来大量不同的区块链。不同链...
  • 区块链跨链技术调研

    万次阅读 2019-01-23 12:25:56
    跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。狭义上来说是两个相对独立的区块链账本间进行资产互操作(Interoperability)的过程;广义上来说是两个独立的账本间进行资产、数据互...
  • 文章目录1. 当下现状1.1 国家直推1.2 市场需求2. 区块链-中心化与去中心化是什么意思?2.1 信息公正问题2.2 “中心化”解决信息公正问题2.3 “去中心化”解决信息公正问题3....5.1 区块链技术岗位技能要求5.2 Go...
  • 简谈“区块链技术

    2017-07-06 15:08:47
    什么是区块链区块链技术有哪些优点?可以应用在哪些场景下?
  • 区块链技术概述

    千次阅读 2017-06-08 20:00:34
    区块链技术概述现状区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式, 目 前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注. 区块链技术...
  • 区块链相关技术概述

    千次阅读 2019-10-15 19:28:18
    区块链可以看作可信的分布式数据库,用P2P网络通信机制、块链式账本存储机制、密码机制、共识机制4大核心机制,保证了系统的分布式特性、不可...P2P组网技术——区块链的通信基础 块链式账本结构——不可篡改 共...
  • #资源达人分享计划#
  • 区块链安全技术总结

    千次阅读 2018-12-17 09:16:10
    区块链的安全需求越来越多,下面就将这些需求一一拆分,看看区块链安全需求到底是个什么样子。 0x01 拆分 目前针对安全服务行业的区块链安全需求,更多的是基于其上层应用(红色箭头指向)比如数字货币交易平台、...
  • 区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新技术,它提供了一种去中心化的、无需信任积累的信用建立范式,目前已经引起金融行业、科研机构、政府部门和投资公司的高度重视与广泛关注。区块链...
  • 区块链专题】区块链基本技术

    千次阅读 2019-11-03 20:35:45
    声明:以下区块链相关概念及定义来源于维京研究院&甲子智库《区块链行业词典》,不用做任何商业用途,欢迎知识共享。 1、区块数据 区块/ Block 区块是在区块链网络上承载交易数据的数据包,是一种被标记上...
  • 区块链关键技术研究进展

    千次阅读 2019-11-28 09:58:28
    区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术。近年来,区块链技术的发展对社会产生了重要的影响。本文介绍近年来区块链...
  • 区块链地址生成算法

    千次阅读 2019-05-10 10:54:05
    公钥生成地址的算法: Version = 1 byte of 0 (zero); on the test network, this is 1 byte of 111 Key hash = Version concatenated with RIPEMD-160(SHA-256(public key)) Checksum = 1st 4 bytes of SHA-...
  • 区块链核心技术入门

    2020-05-07 09:39:36
    区块:在区块链网络上承载交易数据的数据包,被标记了时间和之前一个区块的哈希值的数据结构;记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。区块则是由我们称之为矿工(miners)的单位负责...
  • 区块链关键技术之时间戳理论 时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。 1991年Stuart Harber和Scott Stornetta 提出了一种可以保证数据的可追溯与不可篡改的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,813
精华内容 9,125
关键字:

区块链生成技术