精华内容
下载资源
问答
  • 区块链鱼龙混杂,如何判断一个项目是否真的区块链?如何判断一个区块链的性能、运作真实性?这些关乎“标准”的问题,正是区块链参与者亟须的参考标杆。 据雷锋网(公众号:雷锋网)了解,从2016年12月起,中国信息...

    区块链鱼龙混杂,如何判断一个项目是否真的区块链?如何判断一个区块链的性能、运作真实性?这些关乎“标准”的问题,正是区块链参与者亟须的参考标杆。

    据雷锋网(公众号:雷锋网)了解,从2016年12月起,中国信息通信研究院牵头,在数据中心联盟成立了可信区块链工作组,起草了可信区块链标准规范。据信通院技术与标准所副主任魏凯介绍,该标准针对联盟链和私有链,定义了57个参数,形成了一套技术信息披露与验证机制,以规范市场上各种区块链技术产品的信息披露。

    14个性能检测指标、57个验证参数,让信息披露可信

    在区块链行业中,一个区块链项目发布之时会发布关于技术与功能解释的白皮书,披露相关信息。理论上说,这些项目还应该将代码开源,只是国内极少项目能够遵循这一点。

    中国信通院:为让区块链信息披露可信,我们做了一套黑盒标准

    图片为部分参数,来源:工信部信通院

    中国信通院:为让区块链信息披露可信,我们做了一套黑盒标准

    图片为部分参数,来源:工信部信通院

    因此,这些信息披露的可信度便不能得到保证,市场当中不乏鱼目混珠的虚伪区块链。而即使公开源代码,性能测试结果也是有所迷惑。经过一系列的测试,魏凯指出,现在有很多技术方的测试是令人迷惑的。比如,其自身披露具有较高TPS水平的,有可能因为测试中做了许多剪裁,比如,如果是一个可信的环境,他可以简化共识算法,现在最浪费算理的是几个方面:交易的验证、共识在全网达成一致、数据同步。

    “这几个环节大家都可以做一定程度的优化来提高速度,但是它总是会有牺牲的。比如说,他们提高交易吞吐量有可能是因为它认为网络是个可信的,所以它会简化共识的过程。比如说,降低共识验证的频率。所以只披露TPS是没有意义的。”魏凯告诉雷锋网,这些信息披露至少应该告知公众,这是在什么场景下的TPS,以及交易的复杂程度——只是一个转账,没有任何的前期账户余额检查,一致性的保障,还是很复杂的交易?这些差别很大。

    “现在的披露都比较想要抢眼球,比较混乱。目前区块链还属于非常原始的早期阶段,还有很多需要完善的地方,特别是现在应用场景脱离了加密数字货币的场景,对技术有千差万别的要求。”

    魏凯介绍,目前,信通院的可信测试标准体系包含三部分:

    • 第一个,区块链的参考框架。这个参考框架的意思就是话语体系:定义什么是区块链,区块链有几部分;共识、交易、密钥等名词术语的含义,定一个参考来为市场建立沟通的机制。

    • 第二个,可信区块链。这是指:如何让使用的人真正把信用托付给区块链系统,怎么样建立起市场对区块链技术的信任。“对此,我们定义了14个方面的指标,来验证区块链运行的有效性。”比如,是拜占庭协议还是工作量证明,还是权益证明?这个共识机制是不是有效?又比如密钥的管理,存储等方案是不是安全?性能的测试环境是什么(性能的真实效果)?

    • 第三个,测试标准,指的是如何检验这14个方面做到了。对此,“我们定义了57个检查点,逐项来验证这14个方面。”

    魏凯称,“这三个标准于今年的5、6月份定稿,之后我们组织了第一轮预测试,目的是验证标准的可行性,并对国内联盟连技术发展情况进行摸底。”据透露,目前已有10余家公司参与这个可信区块链测试。

    黑盒标准与白盒标准

    据雷锋网此前报道,2017年5月,中国区块链技术和产业发展论坛也发布了一个区块链标准《区块链 参考架构》。那么,这些标准对行业的指导有何区别联系?标准的最终确定需要经历怎样的过程?

    魏凯解释称,“大家通常意义上理解的标准,是指如何规定区块链的实现,包括协议一致,或者互相连接的标准,这种类型的标准叫白盒标准——意思就是,这个盒子我要打开,里面区块链分几层,每一层是什么功能,一层一层之间的关系是什么,协议、字段、数据格式等是什么。”

    而可信区块链测试属于黑盒标准——跟区块链的实现无关。魏凯认为,区块链行业现在还没有到达适合制定白盒标准的阶段。“现在还处于千军万马在跑的过程中,技术变化特别快,一方面做出这样的标准没有人会执行。联盟链之间需要逐步扩大后,好多年以后,才可能会跟其他行业的联盟链产生交互,这个时候才需要链与链之间的互联互通和数据交换。”

    但是,魏凯表示,“要制定一个行业能够成熟应用的标准,需要各种技术先在市场上竞争、淘汰、再稳定然后才能实现。”以目前的云计算为例,做定义云计算借口而失败的标准是很多的,阿里云、腾讯云、百度云等是根据自己实现来运行,暂时还没有互联互通。

    未来:深化标准,推动传统行业结构转变适应区块链

    据透露,接下来信通院将领头成立一个可信区块链联盟,围绕信息披露、政策研究来继续维护、更新目前的三个标准。“区块链可能会成为一个公共的平台,未来监管如何进行,总是需要一个规范的。”

    “我们认为现在这个时间点,产业里头最痛的点在于大家的认识混乱,鱼龙混杂所以我们主要是从这个角度出发。”因此,认知上的统一与普及,是推动金融、医疗、交通、供应链等行业减少摩擦,应用区块链的关键步骤。

    “区块链的落地,对传统行业的利益结构、管理架构都是一个冲击,区块链带来的分布式商业生态势必引起现有巨头的抵制,所以,除了技术要扎实,也需要传统的游戏规则的调整。这些不解决,就推不动了。”



    本文作者:温晓桦
    本文转自雷锋网禁止二次转载,原文链接
    展开全文
  • 随着区块链技术的发展,区块链和各项产业的结合也在慢慢落地,医疗产业作为一个相对特殊的领域,区块链技术会如何赋能并会产生哪些应用呢? 《筱静观察》第11期聚焦区块链+医疗,主持...尤其是区块链可信数据下的...

    随着区块链技术的发展,区块链和各项产业的结合也在慢慢落地,医疗产业作为一个相对特殊的领域,区块链技术会如何赋能并会产生哪些应用呢?

    《筱静观察》第11期聚焦区块链+医疗,主持人叶筱静与北京医链科技有限公司创始人及CEO 贾求真、BUMO创始人李思成、中关村区块链研究中心主任程伟三位嘉宾共同探讨区块链赋能医疗行业的发展和现状,我们接下来就结合本期内容讨论区块链+医疗的话题,尤其是区块链对可信数据下的医疗生态以及医疗供应链金融相关的话题。
    在这里插入图片描述
    (左 程伟 叶筱静 李思成 贾求真)

    01
    区块链塑造可信医疗

    众所周知,区块链技术的核心就是提供可信任的网络,尤其是保障数据安全下的可信性。区块链可以通过对事件和交易的时间戳,让数据成为一条长链或者永久性的信息记录的一部分,并且无法进行任何篡改。在没有权限限制的区块链上所有数据都是透明的,而在有限制权限的区块链上,不同参与方可以通过协定确认哪些参与者可以查看哪些数据模块,从而维持数据安全和隐私。因此,区块链可以让单个持有者的数据成为一个网络中的资产的生命周期的历史记录,在这个网络中所有的医疗数据比如患者健康记录以及药品相关的溯源数据,都可以清晰的保存和被充分的分享使用,这是我们理解区块链+医疗领域应用的基本逻辑。

    我们再来看海外在这个领域的研究,IBM在2017年发布一份医疗保健与区块链的报告,称国外医疗保健组织已经采用区块链技术,甚至比金融行业更为领先。报告显示,区块链技术会在临床试验记录、监管合规性和医疗/健康监控记录领域发挥巨大价值,以及在健康管理、医疗设备数据记录、药物治疗、计费和理赔、不良事件安全性、医疗资产管理、医疗合同管理等方面都能发挥专长。这其中的基本逻辑就是区块链能够构建更加可信的网络系统,解决交易中的欺诈现象,使得整个医疗生态更加透明和公正,对改善医疗行业有着非常重要的价值。

    嘉宾贾求真女士的观点支持了IBM报告的观点,她认为区块链技术的本质在于构建可信的商业生态。她从医疗产业中的微观诊疗、医药和医保角度分析了区块链的应用。

    具体说来,在诊疗当中带给患者的首先是隐私保护,使患者的历史病历数据不再是明文存储,而有了加密技术可实现加密存储,更有利于就医过程中病历数据的优化分享;在医药方面,区块链的加入会更大程度的实现药品的防伪和追溯,塑造一种可信的药品监督体系;对于医保来讲与区块链结合可使得投保、核保以及诊疗过程的真实性得到提升,这对于医疗保险的控制和监督具有很大的重要性。这里的关键是如何推动政府和企业一起通过区块链技术的业态推动医疗信息隐私保护,让大众意识到分级医疗对于数据分享的作用。

    在这里插入图片描述
    (嘉宾贾求真)

    02
    “区块链+医疗”的新模式

    在互联网+医疗的过程中,大量的跟医疗信息相关的项目如平安医生、春雨医生等产品发展起来了,但是在数据共享相关的领域却没有获得突破。大量的医疗数据已经实现数字化,但是却没有办法共享,其原因就在于信息摩擦的存在。所谓信息摩擦,就是在医疗数据中存在信息不完善、信息安全、信息无法访问以信息无法进入市场等问题,信息摩擦不仅使得医疗行业的数据没办法实现商业化,而且也使得信息数据的应用价值和场景变得很少,这就是区块链能够解决问题的方向。

    区块链的新模式就在于解决信息摩擦问题,通过对信息安全和信息共享的重构,解决医疗机构和消费者两端的信息摩擦问题。嘉宾李思成在节目中提到的包括药品的信息溯源、个人的慢性病管理以及青少年视光管理等项目都和解决信息摩擦有关,关键是找到合适的切入场景来探索新的模式。这其中最值得关注和收益最高的方向包括:临床试验记录、监管合规性以及健康记录追逐三个领域,区块链构建的可信任的数据生态可以让不同组织之间创造共享的数据生态,与此同时也可以创建新的数据来源探索新的业态。

    不过,我们要关注到的是共享医疗数据的记录不仅取决于技术,也取决于跟数据通用型和可操作的数据身份的管理及相关的法律。目前大多数与数据相关的监管条例和法律尚不完善,这带来了很多挑战。正如嘉宾程伟所说,中国的医疗结构分为医药两个模块,医院相关的生态归卫生部门管理,而药和医疗器械归国家食品药品监督局管理,不同部门的监管方式和相关的法律法规不一致,导致创新者必须关注医疗领域的特殊性,而不是盲目利用区块链技术进行颠覆和创新。

    在这里插入图片描述
    (嘉宾程伟)

    03
    “区块链+医疗”任重道远

    在IBM的研究报告中,16%的医疗行业从业者认为大规模部署商用区块链解决方案的时代即将到来,60%的医疗行业从业者认为区块链将有助于他们进入新的市场并拓展更安全的医疗数据信息市场,70%的医疗行业从业者认为区块链会在临床试验记录、监管合规性和医疗/监控记录领域发挥最大价值。正是由于行业正处于非常早期的时期,我们看到市场的实践和大规模部署尚未成型,但是大多数开拓者则对区块链在医疗行业的应用充满信心,我们需要关注创新者的真正的商业实践。

    嘉宾贾求真介绍了她们所做的“医链”项目的内在逻辑,主要做的就是医疗的供应链金融项目。一方面会帮助医院管理供应链的系统,也就是通过自主研发的供应链管理系统去推动医疗相关数据的管理。另外一方面通过建立在供应链金融上的商业模式进行变现。由于医疗行业的监管严格,因此医疗的金融资产价值是非常优质的,能够被银行和资金端贷款所认可。在这个模式中不仅仅能够通过医院相关的深度合作建立起竞争壁垒,而且能够通过创新吸引到关注医疗金融领域的金融机构。目前,医链吸引到了包括京东金融、平安银行以及金城银行等金融机构来支持其项目的创新,落地了超过2000多家供应链合作伙伴的签约。

    我们可以看到医疗行业的应用要同时兼顾行业和技术两个方面。最重要的不是区块链技术本身,而是对专业领域医疗的了解,尤其是对医药的整个交易结构和管理结构的了解。由于国内的医疗市场是不完全竞争,所以行业的交易费用始终保持在较高的水平,这也造成了药品和诊疗费用的失衡,也是我们在尝试医疗改革的原因。

    而技术支持领域方面也很重要,如何建立类似安卓那样的底层操作系统来帮助整个行业降低技术的门槛和提升应用效率是非常重要的。嘉宾李思成坦言,他们正在尝试做的事情就是提供专业的技术平台,目前上线三个月已经有几百万用户了,如何推动在“区块链+医疗”领域的规模化是目前需要解决的重要问题。

    在这里插入图片描述
    (嘉宾李思成)

    以上就是我们对“区块链+医疗”领域的分析,以及对本期节目的评述。对于医疗领域的创业,我们会保持着持续的关注,也欢迎这个领域的真正创造价值的和投资者关注和参与我们。感谢大家关注本期内容,也希望更多的投资者和创新者们能够参与到推动医疗创新的浪潮之中来。

    展开全文
  • 【摘要】 什么是区块链,相信你一定有所了解,那么你是否了解区块链跨链技术呢?本文将从区块链跨链技术的起源发展、相关名词、关键技术和模型实现几个方面进行深度剖析,干货满满! 1.区块链跨链技术诞生背景及...

    【摘要】 什么是区块链,相信你一定有所了解,那么你是否了解区块链跨链技术呢?本文将从区块链跨链技术的起源发展、相关名词、关键技术和模型实现几个方面进行深度剖析,干货满满!

    1.区块链跨链技术诞生背景及发展历程

    1.1 什么是跨链?

    区块链技术经过10来年演进,已经被认为是可以参与未来可信社会构建的重要基础设施。但是现实的社会中包括许多行业和不同的经济领域。把整个现实世界中的各个行业都套用区块链是不现实的,也是不合适的。不同行业、不同经济领域的商品可以通过市场实现价值交换。每个区块链系统都是一个独立的价值经济体系。区块链跨链技术是连接独立区块链的枢纽,承载着不同价值体系的区块链之间的交换功能。价格是交换货物的前提,价格由商品本身的价值决定,受供需关系的影响,供需关系又建立在市场之上。为了实现不同区块链上的价值交换,区块链通过跨链为每个独立区块链中的价值交易市场提供跨链契约服务。每个区块链是一个独立的账本,两个不同的区块链对应两个不同的独立账本,两个账本之间没有关联关系。跨链这个技术,打通不同账本之间的障碍,允许价值跨越不同区块链进行流转。本质上,价值不能在账间转移。但是对于一个特定的用户来说,一个区块链中存储的价值可以转化为另一个区块链价值,从而实现了价值的循环。

    1.2 诞生的背景及发展历程

    随着2008年比特币诞生以来,区块链技术已经有了非常广泛的发展,截止目前世界各国至少有上千种区块链项目。区块链给人们提供了解决数据孤岛,传递信任价值等能力,但是一个个不同生态的区块链项目建立之后,人们发现这些区块链又变成了新的数据孤岛。不同的区块链基于不同的共识算法,数据结构,安全算法,账本类型导致其不存在互通的能力。这时候不可避免的会提出一个新的问题:链与链之间怎么进行价值交换?跨链互通后能否在无第三方的情况下继续维持资产的原子交换,并且保证数据的一致性及全流程可信呢?那为了解决上面碰到的问题,跨链技术就应运而生了。

    首先回顾下区块链跨链技术发展历史,以及其发展的几个重要阶段。从技术上来说跨链主要包括下面三种模式,哈希锁定技术,公证人技术以及中继链。这几种技术的主要发展历史如下图1所示。

    图1 跨链技术发展历史年表

    2008年Nakamoto发表了《Bitcoin:a peer-to-peer electronic cash system》报告,通常被当做区块链技术发展的起源事件,从此在相当长的一段历史时期,区块链都是基于单链发展的。慢慢的,单链出现多种形态和类型,同时出现不少受限于出块时间,区块大小限制及无法用智能合约解决的实际问题。在2012年瑞波实验室提出了一个叫做InterLedger的协议来解决不同区块链系统之间交互和协作问题,Interledger作为最初公证人机制的代表。2013年5月,Herlihy在BitcoinTalk论坛上提出atomic swap这一概念,也就是针对跨链交易过程中,其子交易要么同时发生,要么不发生,不会有第三种状态存在。这也就演进成了一种主要跨链技术,hash锁定。2014年10月,BlockStream首次提出了侧链的概念,利用双向锚定机制实现加密资产按照某种汇率在主链和侧链之间转移,侧链是首个产生较大影响力的跨链技术。2015年,比特币提出闪电网络,利用哈希时间锁定技术,通过链下交易渠道,提高其交易速率。2016年,Vitalik发表了区块链互操作相关报告,对互操作问题进行了深入的分析。2017年,Cosmos和Polkadot提出了跨链平台的方案,通过其平台支持兼容所有区块链应用。

    2. 跨链的目的及相关名词解释

    2.1 目的

    区块链的跨链技术是区块链实现互联互通,提高其可扩展性的重要技术手段。跨链的目的以及想要解决的问题主要包括下面几点:

    • 突破公链目前性能和功能瓶颈

    通过上面跨链演进的历史不难看出,整个跨链出现最早的原因就是为了解决比特币,或者其它涉及代币的价值交换以及流通的问题。区块链的可扩展性三难题法则表明,其只能兼顾去中心性,可扩展性和安全性的其中两项。并且随着技术的发展,其交易速度和性能已经很难满足当前的需求,尽管诸如EOS等项目称其TPS可达百万级,但是都是通过部分中心化节点进行验证,跨链可以为其架构提供更优化的选择和更高的可扩展性。

    • 实现不同区块链间资产的转移

    单一的区块链系统无法获取外部数据,使不同链之间或者链外可信数据上链,但是随着技术的发展,场景越来越多的需要链间互操作的能力。虽然说可以通过第三方部分平台来完成一定交互,但是又会引入新的中心化节点,带来新的不可信及安全性问题,跨链希望的是通过技术而不是机构或人来提供可信,可靠和高效的保障。这里需要的跨链互操作场景包括但不限于跨链支付结算,去中心化交易所,跨链信息交互等。

    • 实现区块链上链资产的冻结锁定

    在一些金融场景中需要基于特定链上的信息对某些链上的数据提供冻结锁定的能力,同时还可以设定某个资产的锁定条件和其解锁条件也与其他链的事件或者行为进行关联;

    • 读取和验证其他链的状态或值.

    不同类型的联盟链在不同生态下构建起来,很多场景下需要在某些联盟链中读取数据用于自己当前的链中,例如,司法应用中跨链的可信取证。或在当前区块链上部署的智能合约,需要依赖于其他链的信息和数据才可以触发其执行的条件,跨链读在类似的场景中具有典型应用价值;

    2.2相关名词解释

    • 分布式账本技术

    分布式账本系统是一种只做附加操作的,特殊类型分布式数据库系统,适用于不可信的环境中使用。分布式账本技术允许出现拜占庭错误,包括节点崩溃,或者无法访问,网络延迟或者节点的恶意行为存在。在分布式账本系统中,新的数据通过事务的方式附加到每个节点的本地副本,并通过一定加密机制,保障账本中的数据不能被随意删除或更改。

    为了在分布式账本系统中达到数据在各个节点中的一致性,每个分布式账本系统都会使用共识机制。共识机制是在分布式账本的不同节点之间协商其当前账本有效状态的算法。由于分布式系统中要达到共识,安全以及一致性方面的一些权衡,共识要么达到最终一致性,要么达到概率的最终一致性。如果所有的节点都能成功落块,并且都存储同样的账本副本,就说明系统达到了最终一致性。

    通常来说,我们基于分布式账本层次结构上不同设计把它分成两类:公有链和联盟链。在公有链中,任何人都可以加入分布式账本系统,拥有对分布式账本的的读写权限。相反,联盟链的分布式账本设计将节点排除在操作(例如,事务验证、加入分布式分类帐)之外,因为它们使用权限模型。为了在联盟链中加强易用性,性能等充分权衡了分布式系统相关的特性,使得这种许可模型强烈影响了共识机制的适用性,例如:公有链设计主要采用仅达到概率最终性的共识机制。相比之下,大多数联盟链设计的共识机制要求完全最终一致性,因此,不分叉或只分叉短时间,导致只有有限数量的节点纳入共识发现。

    • 智能合约

    分布式账本的设计支持了自定义软件的部署和执行,这种自定义的程序被叫做智能合约。智能合约允许程序代码中通过定义规范的表达式来进行触发交易。最初,智能合约仅限于解锁存储在分布式账本上的资产(例如,使用hash锁,时间锁,和多重签名)。为了增加开发人员的能动性来实现更富有表达力的智能合约,开发了一个图灵完备的智能合约的执行环境。今天,智能合约可以存储资产,一旦满足合约约定的条件,就可以进行交易。这些条件与存储在统一分布式账本中的数据及来自外部(链下)的数据有关。智能合约对于实现不同分布式账本之间的原子通信也至关重要,从而实现跨链的互操作能力。

    • 跨链技术

    分布式账本之前的互操作性是指它从外部系统检索数据或与外部系统交换数据的能力。跨链系统通过实现不同分布式账本与外部系统之间实现数据交换,帮助实现互操作性的能力。通过与外部系统的数据交换可以提高分布式账本的灵活性,克服本身限制所带来的性能问题,并提高分布式账本的安全性。跨链组件的实现包含几种关键技术,例如哈希锁定,公证人,侧链等,并且基于这些技术抽象成了一些实现模式,这些模式是对指定功能的抽象描述。

    3. 跨链的几种关键技术

    3.1 跨链技术存在的难点

    目前,实现跨链技术面临的主要难点有如下 4 点。

    • 如何确保跨链交易的原子性

    跨链交易原子性保证是跨链互操作的一个重点,一笔跨链交易在发起之后只有成功或是失败两种状态,不能停留在任何中间态,但是整个流程是由多个不同区块链交易组成,分别运行在不同的区块链系统中,彼此都是独立的。原子性就是保证在这一笔跨链交易执行成功后,其后续跨链交易或费跨链交易都能执行成功,如果失败的话,当前交易可以回滚或是撤销,不影响后续交易,整个跨链系统要保证一致性。

    • 如何用分布式方式验证不同链的结果和状态

    跨链体系对于交易结果的验证贯穿于整个跨链的流程中,主要包含两个方面,一是发起跨链交易时写入账本并满足最终确定性和真实性,另一种是在跨链交互过程中,跨链的双方可以验证彼此交易来源,真实性,合法性和有效性。区块链需要在数学及逻辑上保证其安全可靠,至少也是全流程可信及可追溯,单个区块链作为一个封闭的系统如何确认另一条链上的交易合法性是跨链的一个难点。

    • 如何保证互操作的链资产总和不变且独立安全

    跨链操作中一个很重要的点就是保证整个跨链交易结束后不同链之间的全局事务一致性,本质上来讲,在这种资产交互场景,跨链操作也没有让这两条链进行实质性的交换,因此这种交换不会影响单个链的资产总量。在资产转移中,需要减少某个链上面的资产,相应的在对应链上增加资产,这种转移使各条链的资产发生了变化,因此要保障总和,需要保障跨链交易的原子性,要么同时记账,要么都不去记账。还要考虑的资产转移过程中的安全性,如何验证资产转移过程是没有被篡改的,中间流程是不是可以被审计,安全问题是关系到跨链网络的一个非常重要的问题,也就是将跨链流程进行可信闭环。

    4)如何实现一个可信的跨链信息路由

    跨链系统交互的过程需要跨链发起方A将其跨链交易发给链B,对于A如何找到B这个过程也是业界正在完善的区块链路由系统,提供统一标准协议,支持各个链的注册查询能力

    5)如何实现一个混合跨链平台

    目前,业界已经有一些跨链项目在研究中,例如Cosmos、Polkadot 等项目。目前的 跨链研究仍处于初期阶段,要达到为真正的商业应用 提供一个基于同构和异构的适用于各种混合场景的互操作平台也是一个需要解决的问题。

    3.2 跨链涉及的关键技术

    区块链之间的价值分配存在天然的障碍。跨链是一个复杂的过程。它不仅要求区块链中的节点具有单独的验证能力,而且要求去中心化的输入,以及区块链外部信息的获取和验证。目前,跨链技术主要包括:公证方案、侧链/中继和哈希锁定。

    • 公证人

    引入一方或多方可信实体做信用背书的跨链机制都称为公证人机制,公证人机制是技术上可实现的、最简单的跨链机制。在公证模式下,一个受信任的个人或组被用来向区块链声明另一个区块链发生了一些事情,或确保来源正确。这些组既可以自动侦听和响应事件,也可以在请求时侦听和响应事件。假设Alice和Bob不能相互信任,那么Alice和Bob都可以信任的第三方就是公证人的中间人。这样就建立了Alice和Bob之间的间接信任机制。代表办法是Interledger,它本身不是区块链系统,不寻求任何共识。它提供了一个顶级的加密托管系统,称为“连接器”,借助这个中介,允许资金在不同区块链系统之间流动。

    • 侧链/中继

    BlockStream 在 2014 年发表了侧链白皮书,定义了侧链是一条能够验证其他区块链数据的链。侧链不是专门指某一条区块链,而是指符合侧链协议的所有区块链,是相对于比特币主链的概念。侧链协议是允许比特币安全传输的协议。从比特币主链到其他区块链,并且可以安全地从其他区块链转回比特币主链。侧链协议的目的是实现双向挂钩,以便比特币可以传输。在主链和侧链之间。侧链协议意味着比特币不仅可以在比特币区块链上流通,也可以在其他区块链上流通。侧链/中继的本质特征是关注不同区块链之间达成一致共识。一般而言,单一侧链模式下,主链不知道侧链的存在,但侧链必须知道主链的存在;中继模式下,多链链不知道中继的存在,但中继必须知道多链的存在。

    • 哈希锁定

    哈希锁定是一种依托于哈希函数的单向性与低碰撞性,同时利用区块链中交易可以延时执行的特点而产生的机制。哈希锁定是通过对不同区块链之间互操作设置不同的触发器,通常是公开随机数的哈希值,它起源于比特币的闪电网络,其关键技术是RSMC(可撤销序列到期合同)和HTLC(哈希时间锁定合同)。有下面这么一个场景,Alice和Bob可以达成一个协议:该协议将锁定Alice BTC。在T时刻之前,如果Bob能够向Alice显示一个合适的R,使R的哈希值等于之前约定的值H(R), Bob就可以得到这个BTC;如果在T时刻Bob不能提供正确的R然后这个BTC会自动解冻并返还给Alice。使用哈希锁定可以实现跨链资产的交换,但不能实现跨链资产的转移,也不能实现跨链合同,其应用场景比较有限。

    4. 跨链三种技术模型

    • 手动资产交换

    手动资产交换模型是最简单的跨链技术模式。手动资产交换模型遵循典型的财务交易生命周期:结算、订单匹配、清理。

    第一阶段,A使用某种秘密(例如,哈希值的预映像、账户的私钥)锁定相应的分布式账簿上的资产,从而结算新的资产交换订单;

    第二阶段, A必须找到对应的交易伙伴B,最终就各自订单的资产汇率达成一致(如32.5 Ether赠送1 Bitcoin),在人工资产交换模型中,这种订单匹配是在链下进行的,例如:由第三方或通过个人互动。A和B同意交换后,B将资产锁定在对应的区块链账本上。

    第三阶段,订单清零,实际资产交换发生。

    因此,用户A和用户B分别交换自己的秘密,解锁被锁定的资产。手动资产交换模型存在一定缺陷,只能用于资产交换(不同于其他模式),通常手动资产交换模型不采用自动订单匹配,不需要制品,因为资产交换可以完全基于当事人的个人协议。然而,手动资产交换模型容易受到欺诈。如果A先收到B的机密,而没有机制来反锁A的机密,那么A可以利用B的机密来解锁B的资产,而不需要将自己的资产转移给B,A将不能正确完成交换。为了防止交易所伙伴进行可能导致财务损失的欺诈活动,原子性对资产交换至关重要。

    • 公证人模式

    在公证人模式中,由可信的第三方建立不同区块链之间的连接。公证人方案提供基础设施和相关服务以利于资产转移或类似行为(例如,执行智能合同)。在对区块链执行操作之前,公证人必须首先同意某个操作(例如,交易承诺)在另一个已区块链上执行。例如,加密货币交换的情况,公证员在向区块链B开出相应的交易之前,必须首先验证区块链A的交易是否成功完成,这样,区块链之间的数据交换完全由公证员管理。公证方案采用集中式架构实现跨链互操作。

    公证模式可以对应一个公证员(集中公证计划或集中交换),也可以对应一个公证联盟(分布式公证节点)。单个公证员可以设置并操作每个连接的分布式账本节点。例如,当公证员决定将资产从比特币转移至Ethereum时,公证员会设置比特币和Ethereum节点,管理两个已分发账本的交易接收和发行。公证员单独确认事件是否发生(如交易接收),并触发相应的操作,为了使公证员对事件的确认民主化,增加透明度,可信第三方通常共享例如分布式私钥或使用多签名钱包。只有当一定数量的公证员确认该事件(例如,锁定分布式账本A上的资产)时,相应的操作才会执行(例如,解锁分布式账本B上的资产)。

    • 侧链中继模式

    侧链/中继,一般是连接主链的下级分布式账本,如Bitcoin、Ethereum等。侧链在技术上独立于主链,因此,可以有自己的共识机制等。最初,开发侧链是为了通过资产转移增强现有分布式账本的可扩展性。侧链可以从主链读取和验证数据,例如,将资产从主链转移到侧链,在这种资产转移中,若干资产被锁在主链条上;资产锁定由目标侧链的验证机制确认,最终解锁(或生成)相应数量的本机token。为了能够将资产转移回主链或另一侧链,主链还必须能够验证中继上的数据。

    • 混合解决方案

    除了单一的跨链模式,也存在混合解决方案,它结合了前面解释的几种模式的某些方面。例如,通过混合解决方案有助于建立双向追溯的侧链,假设其中一种区块链设计不支持适当的验证机制(例如,简单支付验证(SPV)),在这种情况下,集成公证方案取代了特定中继识别和验证它的交易的能力,并让可信的公证人提供此信息。还有一些设计,例如华为跨链平台,是在中继跨链方案中集成了哈希锁定技术,并融合分布式公证人技术,把几种主要模式混入在一起,实现一种复杂跨链解决方案,构建多异构链可以集成交互的场景,并保证全流程交易的原子性和一致性。

    5. 跨链相关实现

    目前,在跨链阶段的区块链已经慢慢完成初步探索,开始落地一些标准规范,有一些比较好的项目已经发布,这里我们重点偏重描述四个典型跨链实现。

    • Corda

    第一个说的是Corda这个项目,它是一个商业化的区块链平台。它通过直接的业务交换消除了商业交易之间的障碍。Corda实现了一个协作、开放的网络,使公司能够更强地相互协作、相互交流和直接交换价值。Corda使用交易形成其分布式账本,其分发的账本中存储金融或商业合同所涉各方的交易信息。这些信息存储在Corda Vault中。同时,Corda还存储所有交易历史,跟踪记录事件的历史并独立核实。Corda并不是跨链项目,而是一个分布式账本实现,第一个提它主要是它的实现中存在跨链关键技术所包含的公证人的典型应用。Corda的交易只在参与者和公证人之间进行。公证人由交易各方共同选定,具有高度可信度。公证人负责验证数据的有效性和数据的唯一性。使用者可以简单地为不同的分布式帐本选择分叉,或强制它们指向相同的验证器并同步它们的账本,来安全地验证分叉交易消息。

    • Polkadot

    Polkadot是一种支持异构链并能进行多链链接的技术架构。它由许多具有潜在不同特征的副链组成,这可以更容易地实现隐私保护或形式化验证。交易可以分布在各个链上,允许在同一时间段内处理更多的交易。Polkadot确保每个区块链安全,并确保它们之间的任何交易都得到可信执行。它内部一种特别的子链被称为桥,通过它可以创建连接打通每个独立的区块链。Polkadot具有使每一个独立的区块链都可以与其他链交换信息的协议。Polkadot的区块链协议不同于互联网消息传递的协议(例如TCP/IP),它需要确保链间消息的顺序和有效性。这种互操作性能力通过为多个状态机创建通用环境来获得可伸缩性等。

    • Cosmos

    Cosmos是一个分布式的独立并行区块链网络,每个区块链都由经典的BFT共识算法Tendermint进行共识。Cosmos是一个非许可的网络,这意味着任何人都可以在其上构建区块链。Cosmos中心通过一个新的区块链通信协议连接许多其他区块链。该中心可以跟踪许多token类型,并记录每个连接空间的token总数。Token可以安全、快速地从一个空间转移到另一个空间,而无需表现出两个空间之间的交换流动性,因为所有空间之间的token传输都经过Cosmos中心。Cosmos不只是单一的分布式张本系统,Cosmos中心也不是一个封闭的花园或交互中心。而是在为分布式账本的开放网络设计一个协议。该协议将基于加密、经济学、共识理论、透明度和问责制等原则,成为未来金融体系的新基础。

    Huawei跨链服务

    华为跨链服务提供了一个基于跨链的混合方案,不仅仅包含一个通用的跨链协议,它的中继侧还有一个分布式账本,记录了跨链和链内交易,在不同区块链账本之间以分布式的方式连接和交换价值。它利用最新的密码学理论,构建了一个非专有的跨链协议和一个记录跨链和链内交易的分布式系统。任何区块链网络,无论是公共链、私有链还是财团链,都可以与华为跨链服务集成,建立不同分不是账本间的连接,实现低成本的分布式账本间资产转移。

    表1 跨链各个模式对比

    6 总结与分析

    跨链技术在这两年开始被广泛的关注,并被寄予厚望,人们期待它可以解决目前区块链存在的种种问题,并成为万链互联的基石。目前我们看到业界中各个厂商实现的区块链项目目方面出现很多新的跨链技术,从形态上来看,很多事在已有基础上进行改进;有些是提出一系列新的跨链协议,实现区块链之间的互通。但是主流的都是通过中继链实现的,有些特定的跨链实现在公链及代币领域应用偏多。虽然目前跨链的几个关键技术解决一些问题,但是其方案还远远没有成熟,或多或少都有一些瑕疵:

    • 公证人机制:公证人实现的跨链在一定程度上违反了区块链去中心化的特性,通过可信的第三方中介完成跨链交互,支持中介将交易打包发到不同链上的方案,存在中心化的风险,也就是公证人作恶有修改跨链信息的可能。
    • 哈希锁定:最早起源于比特币闪电网络的 哈希锁定技术主要利用原子交换实现跨链。优点 是通过对交换信息进行哈希运算并锁定,可以保证交 换信息的真实性;缺点在于哈希锁定只能做到交换, 而不能做到信息或资产的跨链转移,使用场景受到很 大限制。基于哈希锁定的资产转移实现有一个窗口 期,窗口期内的汇率波动需要考虑;此外,使用哈希 锁定需要构建多笔交易,操作复杂。
    • 侧链:侧链是一个和主链相对独立运行的区 块链,其运行依赖于主链。侧链实现的技术基础是 双向锚定(two-way peg),通过在侧链和主链中锁 定资产,并提供有效验证方式,从而在其主链或侧 链上生成或释放等价值的资产。优点是这种跨链实 现方式简单,侧链相对于哈希锁定技术能提供更多 的实现场景;缺点是侧链的实现通常需要利用智能 合约,随着交易量的增多,智能合约内部的数据存 储存在膨胀问题,可能会造成交易处理速度慢,甚 至出现交易堵塞的情况。
    • 中继链:我们可以把中继链看成是侧联和公证人机制的融合以及扩展,它能提供一个跨链交互的平台或者一条中继链,各种不同类型的链对接上中继链,基于中继链实现跨链交互,提高实用性和扩展性。但是其实现复杂,开发难度大,需要定制一套跨链协议来保障各个异构链可以顺利接入,缺乏统一的跨链协议也是目前跨链面临的很重要的问题。

    基于上面的介绍,以及在表3中详细对集中模式进行的分析比较,区块链跨链技术还在发展时期,需要更加广泛的推广和各大厂商及业界达成共识。华为的区块链系统采用的混合模式,规避了上面提到的缺点,集成了一套统一的跨链平台,支持各种异构链的对接。希望可以打破私有链,公有链,联盟链之间的节点,拓展区块链的使用场景和应用便捷,使区块链未来可以演进为支撑更广泛应用的网络基础设施。

    参考文献:

    1. Back, A., M. Corallo, L. Dashjr, et al., “Enabling blockchain innovations with pegged sidechains”, https://www.blockstream.com/sidechains.pdf, 2014

    2. Back, A., M. Corallo, L. Dashjr, et al., “Enabling blockchain innovations with pegged sidechains”, 2014. https://www.blockstream.com/sidechains.pdf

    3. Pureswaran, V.; Brody, P. Device Democracy: Saving the Future of the Internet of Things; IBM Corporation: Armonk, NY, USA, 2015.

    4. Buterin, V., “Chain Interoperability [white paper]”, 2016. http://www.r3cev.com/s/Chain-Interoperability-8g6f.pdf

    5. Chen, S., H. Wang, L.-J. Zhang, et al., eds., “InfiniteChain: A Multi-chain Architecture with Distributed Auditing of Sidechains for Public Blockchains”, Springer International Publishing (2018).

    6. Buterin, V., “Ethereum Whitepaper”, 2018. https://github.com/ethereum/wiki/wiki/White-Paper/f18902f4e7fb21dc92b37e8a0963eec4b3f4793a

    7. Ethereum, “BTC Relay”, GitHub, 2016. https://github.com/ethereum/btcrelay/tree/master

    8. Frey, D., M.X. Makkes, P.-L. Roman, F. Taïani, and S. Voulgaris, “Bringing Secure Bitcoin Transactions to Your Smartphone”, 15th International Workshop on Adaptive and Reflective Middleware, (2016)

    9. Herlihy, M., “Atomic Cross-Chain Swaps”, 2018 ACM Symposium on Principles of Distributed Computing, (2018)

    10. Kan, L., Y. Wei, A.H. Muhammad, W. Siyuan, G. Linchao, and H. Kai, eds., “A Multiple Blockchains Architecture on InterBlockchain Communication”, 2018 IEEE International Conference on Software Quality, Reliability and Security Companion, (2018).

    11. Koens, T., and E. Poll, “Assessing Interoperability Solutions for Distributed Ledgers Extended version”, 2018. https://www.ingwb.com/media/2667864/assessing-interoperability-solutions-for-distributed-ledgers.pdf

    12. Liu, S., B. Tekinerdogan, M. Aoyama, et al., eds., “Research on Cross-Chain Technology Based on Sidechain and Hash-Locking”, (2018).

    13. OneLedger, “OneLedger Public Blockchain White Paper”, 2017. https://oneledger.io/whitepaper/oneledger-whitepaper.en.pdf

    14. Rootstock, “Rootstock Platform”, 2015. https://uploads.strikinglycdn.com/files/90847694-70f0-4668-ba7fdd0c6b0b00a1/RootstockWhitePaperv9-Overview.pdf

    15. Wang, D., J. Zhou, and A. Wang, “Loopring: A Decentralized Token Exchange Protocol”, 2018. https://github.com/Loopring/whitepaper/blob/master/en_whitepaper.pdf

    16. OneLedger, “OneLedger Public Blockchain White Paper”, 2017. https://oneledger.io/whitepaper/oneledger-whitepaper.en.pdf

    17. Manyika, J. The Internet of Things: Mapping the Value beyond the Hype; McKinsey Global Institute: New York, NY, USA, 2015.

    18. Reinsel, D.; Gantz, J.; Rydning, J. IDC White Paper; Technical Report; Seagate: Cupertino, CA, USA, 2018.

    19. Sadeghi, A.R.; Wachsmann, C.; Waidner, M. Security and privacy challenges in industrial internet of things. In Proceedings of the 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC), San Francisco, CA, USA, 8–12 June 2015;

    20. Wood, G., “Polkadot”, 2016. https://icowhitepapers.co/wpcontent/uploads/PolkaDot-Whitepaper.pdf

    21. Koens, T., and E. Poll, “Assessing Interoperability Solutions for Distributed Ledgers Extended version”, 2018. https://www.ingwb.com/media/2667864/assessing-interoperability-solutions-for-distributed-ledgers.pdf

    22. 蔡维德,郁莲,王荣,刘娜,邓恩艳.基于区块链的应用系统开发方法研究.软件学报,2017,28(6):1474−1487. http://www.jos.org.cn/ 1000-9825/5232.htm [doi: 10.13328/j.cnki.jos.005232]

    23. 喻辉,张宗洋,刘建伟.比特币区块链扩容技术研究.计算机研究与发展,2017,54(10):2390−2403. [doi: 10.7544/issn1000-1239. 2017.20170416]

    本文分享自华为云社区《万物可信互联的基石:区块链跨链技术概述》,原文作者:麦冬爸 。

    点击关注,第一时间了解华为云新鲜技术~

    展开全文
  • 区块链基本解读

    2018-03-08 14:16:00
    比如A和B赌石头是否为天然玉石,A说是,B说不是是。但是A的赌品B深表怀疑,担心他输了赖账不给钱。没想到A同样这样想法!于是找了一个可信第三方来做公证人。AB可以各自出2000块钱给我们都信得过的公证人来保管。...

    最近看着这个区块链,稍有新得,写下菜鸟自己的理解,希望大牛多多指点。

    总体心得,如果互联网技术解决的是通讯问题的话,区块链技术解决的是信任问题。

    下面举个日常例子:打赌

    比如A和B赌石头是否为天然玉石,A说是,B说不是是。但是A的赌品B深表怀疑,担心他输了赖账不给钱。没想到A同样这样想法!于是找了一个可信第三方来做公证人。AB可以各自出2000块钱给我们都信得过的公证人来保管。如果是真玉石,4000块钱就归A。否则归B。

    石头切开的时候,第三方公证人卷了巨款4000元跑了。人与人的信任已经没有了........

    为解决类似这种问题,区块链悄悄走进我们日常生活应用。

    一.从技术角度来看(本人是小菜)

    1.本质

      区块链是一种特殊的分布式数据库。(1)分布式,(2)非安全环境。

         首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。

          其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点(去中心化),每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。

    2.区块链的特点

        区块链没有管理员,它是彻底无中心的。其他的数据库都有管理员,但是区块链没有。如果有人想对区块链添加审核,也实现不了,因为它的设计目标就是防止出现居于中心地位的管理当局。

    没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢,这就是区块链奇妙的地方。

    3.区块

      区块链由一个个相连的区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。

    每个区块包含两个部分:

       区块头(Head):记录当前区块的元信息

       区块体(Body):实际数据

     

    二.从日常理解来说

    1,区块链是一个放在非安全环境中的分布式数据库(系统)。 

    首先,这是一个分布式的,去中心化的系统。所以,有一个中心服务器或者节点的,不是区块链。节点都是安全的,无恶意的,那这不是区块链。同理,从应用的角度讲,如果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器),那么并不需要考虑区块链技术。

    至于后面的词“数据库”,目前大部分成熟的区块链都是数据库,例如比特币就是一个分布式账本,而账本其实就是数据。然后,根据数据的格式,又可以分三种——1,数据是完全不相关的,只是达成的共识,没有有效无效之分;2,数据有某些逻辑结构,例如账本中,一笔交易实际上除了金额,还有输入和输出,连接到之前的交易,这些数据需要通过逻辑验证(例如交易中,节点需要验证输入的交易是否有效);3,数据拥有图灵完备的逻辑,而验证的时候需要通过节点使用算力运算,每笔交易可以有不同的输出和状态,每个节点要做的不仅仅是验证交易的真实性和输入的正确性,还要根据交易里的逻辑读入数值,进行验算然后再验证结果。

    比特币的系统就是第二种,又叫分布式账本;以太坊是第三种。第三种可以支持智能合约。

    用比特币举例的话,1,它是一个完全去中心化的系统,2,它放在一个非安全的环境,它并不要求所有使用比特币的人都没有恶意。

    2,区块链采用密码学的方法来保证已有数据不可能被篡改。

    这个是误解最多的部分,因为很多人一提到区块链就只觉得是这个。诚然,这部分很重要,而且确实区块链也因此得名,但这只是区块链的定义的一部分。

    这个部分的两个核心要点是:(1)密码学哈希函数,(2)非对称加密。

    两个都是密码学的基础概念,网上都有非常清晰的定义,我只简单说下:

    (密码学)哈希函数:一个函数Y=H(X),有如下性质:1,有X可以很容易算出Y;2,有Y不可能算出X;3,有Y不可能找到另一个X'使得H(X')=Y;3.5,如果X和X'相差很小,H(X)和H(X')则完全不相关。

    这东西主要用于验证信息完整性——在一个信息后面放上这个信息的哈希值,这个值很小,例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希函数的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。

    非对称加密:这东西很好理解——对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。

    非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题,例如因数分解和离散对数,常用的有RSA,Diffie-Hellman和ECC(椭圆曲线),比特币用的是椭圆曲线。

    非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名——某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。

    以上是基础知识,至于区块链怎么实现的,很简单:

    交易(数据)写在区块里。

    第一个区块叫创世区块,写啥都行。

    从第二个区块开始,每个区块的第一部分有前一区块的哈希值。此外,区块里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性。于是,先前区块里的任何数据都不可被篡改,原因见上。

     

    到这为止有人可能会问:为什么要弄个链啊?直接所有数据加个哈希值不就行了?

    因为——这个数据库并不是静止的啊。

    数据库的数据是会增加的,而每次增加的数据,就是一个区块,于是这些生成时间不同的区块,就以这种形式链在一起了。

    至于如何增加区块,就涉及到第三个部分——共识算法。

    3,区块链采用共识算法来对于新增数据达成共识

    共识算法的目的,就是让所有节点对于新增区块达成共识,也就是说,所有人都要认可新增的区块。对于有中心的系统,这事很简单,中心说什么大家同意就好了,但是放到去中心化系统里,尤其是当有些节点有恶意的时候,这东西非常复杂,计算机科学里有个相应的问题,叫做“拜占庭将军问题”或者“拜占庭容错”(BFT)。

    有很多用Lamport给出的那个例子来讲BFT的东西,我在这里换一个角度。

    Lamport大神当年提出这个问题的时候在斯坦福研究中心给NASA做项目,他提出这个问题的原因并不是考虑类似比特币的应用场景(整个互联网成千上万个用户),而是考虑特殊背景下的一个简单的系统——

    航天飞机的控制系统。

    如果有航空背景的同学可能知道,飞机有三套独立的控制系统,为什么呢?因为任何系统都不可能完全不出故障,就算飞机控制系统的故障率已经极低了,还是有飞到一半这东西坏了的可能。于是我们可以弄两套独立的系统,同时坏掉的几率就会大大降低。

    可是两套独立的系统还是不足以容下一个系统的错误——一架飞机迎面飞来,两套系统一个说要躲,一个说不躲,那到底是躲还是不躲呢?所以我们需要三台独立的系统,这样,如果有一个系统有故障了,还有两台能正常工作,能少数服从多数给出正确的结果。学过纠错码的同学对这个应该不陌生,这个系统的输出之间的汉明间距是3,所以可以纠正一位的错误。

    然而,对于航天飞机,在冷战的背景下,万一某个系统不是坏掉了,而是被敌人控制了呢?三套系统还够吗?

    答案是否定的,因为不同于单纯只是坏掉的节点,恶意节点可以做一些别的事来阻止整个系统达成共识。

    这个部分略复杂要讲的话要单开一帖,所以我们只说最简单的情况(无签名同步系统)。

    我们管三个系统叫ABC,正常工作流程是三个人每次得出结果就互相告诉一下,然后每个人选多数人同意的结果。这是个没有中央节点的分布式系统,也就是说三人不能聚在一起开个会啥的,仨人只能两两通信。这个时候,假设C有恶意,它的目标是破坏这个系统。于是,假设正确的读数是1,A和B都得出了1这个结果,这个时候C这个小婊砸告诉A说“我的结果是0,B也觉得是0”,同时打个电话跟B说“哎我觉得是0,A也这么说”,于是A和B就懵逼了。假设你是A,你听到了两个不同版本的B的答案,B说自己选了1,C说B选了0,可是A这个时候没法知道B和C谁才是那个骗了自己的小婊砸,因为如果B真的告诉A选了1然后告诉C是0,他听到的结果和现在是一模一样的。

    于是结论是,拜占庭容错,也就是需要容下一个恶意系统而非错误系统,需要4个独立系统。

    (当然,签名可以解决这个问题,但是这只是同步系统的情况,在异步系统里这问题会变得更加复杂,原因是正常节点的回答有延迟,而恶意节点可以不回复,所以,正常节点一方面要等另一个节点的回复,但是它又不知道对方会不会回复因为对方有可能会有恶意,而在收到回复之前,它完全没法判断对方是正常节点还是恶意节点,这个问题叫异步BFT,也是BFT的最复杂的情况,这里不再做更多的解释,下文提到的BFT算法,其实都是异步BFT的算法)

    Lamport提出这个问题之后,有无数的算法被提出来,统称BFT(拜占庭容错)算法,其中最有代表性的叫PBFT,然后由于最近区块链的热度,无数针对区块链应用场景优化过的BFT算法也涌现出来,但是一个重要的问题是,所有目前的BFT算法,都只能应用在小型网络里。原因很简单——因为BFT这个问题是设计给类似于航天飞机控制系统这样的场景的,早期的算法考虑的也主要是这种场景。PBFT论文里考虑的就是一个5个节点的系统。就算算上新提出的BFT算法,也最多应用在不超过100个节点的网络里。

    这个问题被搁置了很久,直到比特币的诞生——中本聪从某种意义上简化了这个问题,在比特币中,同样是共识问题,中本聪引入了一个重要的假设——奖励,他之所以能这样做的原因是,他考虑的是一个数字货币,也就是说共识这个东西是有价值的。

    于是在这样的系统上,他提出了工作证明机制。

    所有挖矿,矿工,最长链,分叉等等等等,都可以归结为一句话:

    说话是要有代价的,说真话是有好处的,说假话是要扣钱的……

    这就是目前两类共识算法的核心区别:

    BFT共识模型:恶意节点可以干任何事。

    比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价,诚实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励,变相受到了惩罚。

    也就是说,BFT共识模型其实涵盖了比特币共识模型的场景,比特币共识其实放宽了BFT共识模型的限制。

    比特币共识对于BFT的优势在于,由于给恶意节点的能力做了限制,恶意节点所能造成的破坏大大降低了,尤其是对于异步系统——BFT共识里恶意节点可以一直拒绝相应而诚实节点还需要一直等它(因为不知道它是不是恶意的),而对于比特币共识,随你便,你不响应就没有奖励可拿。于是,比特币共识算法可以应用于成千上万个节点,而且,任何人随时都可以加入,不需要预先在网络里注册自己的身份(而BFT算法里,网络中节点的数量和身份都必须是已知的)。

    但比特币共识的缺陷在于,首先,得有个有价值的东西,也就是说放在比特币里这东西还行,以太坊的话现在可能也凑合,但是其他数字货币嘛……BFT共识有个严格的限定,就是恶意节点不能超过总数的1/3,然而其实比特币共识没有这样的限制,唯一的限制就是假定大部分节点都是理性的,是逐利的,也就是会采用最佳的策略来赚取最大的价值。所以,严格来说,自私挖矿这种行为在比特币共识里是允许的,而多数攻击,其实也算不上一种攻击,因为这些都没有突破比特币共识的框架——如果这个价值无限大,比特币共识是非常可靠的。然而这并不是事实,因为并不是每个虚拟货币都和比特币一样值钱,而在价值不高的情况下,比特币共识的前提就站不住脚了——当损失可能是几千上万块钱的时候,假定每个人都是理性的是合理,但是如果损失就几分钱这个假设就相当扯淡了,事实上也发生过一个比特币矿池跑到另一个货币恶意挖矿搞垮对手的情况。

    此外,比特币共识是最长链共识,也就是说最长链-->大多数-->理性,于是分叉是允许的。于是导致了一些附带的问题,例如,如果网络有延迟,你怎么知道你手里那条链是整个网络里当前的最长链呢?于是,如果需要传输的数据多,那么延迟加大。延迟加大,那么越多的人手里的链并不是全网络的最长链。于是,全网络的最长链,就没法代表大多数。这就打破了比特币共识的根本,这也是为什么比特币区块频率是10分钟一块的原因。比特币目前有个著名的7币交易每秒的上限,而现在扩容闹得很厉害,以太坊的交易格式不同,也用了新的工作证明,想要改成权益证明,但这些都不本质。真正本质的是,在目前的网络条件下,如果适用全网的话,比特币共识的交易量基本上超不过100笔交易每秒这个量级。

    上面这几段有可能太深了,简单来说,BFT共识和比特币共识的区别可以这么理解:

     

    BFT共识:来,大家开个会讨论一下集思广益啊,讨论出大家都满意的结果为止。

    问题:开会的效率大家都懂,人越多越不容易出结果。只能用于少数节点,用于上千个节点的话……大家想象一下一天开一次人大的场景。

     

    比特币共识:你的诗念得不错,组织已经决定了,今天就你来当领导了,做得好有奖,做不好扣钱。

    问题:奖励几千块钱还好,奖励几分钱谁好好干?
     

    而区块链也就因此被分成了泾渭分明的两类,很多人都听过什么公有链私有链联盟链,但是,如果你们以为这是根据应用区分的就大错特错,其实,这两种区块链最本质的区别,还是因为共识模型或者说算法不同——BFT算法没法应用于大量节点,所以用BFT算法的就没法做公有链。而比特币共识得有个价值体系,这东西去做私有链联盟链就很不靠谱,因为一个单纯逐利的人的假设还算靠谱,但是如果对象是公司的话,公司的利益就太复杂了,不能简单认为他们只追逐区块链上那点价值。

    1,公有链,以比特币,以太坊和所有虚拟货币为代表,都采用比特币共识,共识算法基本上都采用工作证明机制,也就是挖矿那些,这种机制其他回答里已经讲得够清楚了,就略过。工作证明一切都好,除了费电……费多少电呢?比特币的话,差不多和一个百万人级别的城市那么多。此外以太坊的创始人特别喜欢权益证明,似乎很快要小范围投入使用(100个区块里一个用权益证明)。但是目前为止,大家对这东西的可靠性还持观望态度。

    2,私有链和联盟链。以IBM的hyperledger-fabric,以及一大堆其他的类似于tendermint,甚至R3 corda和ripple为代表,都用BFT共识。其实这方面的应用已经很多了,问题是,1,目前基本上所有应用给人的感觉都还是为了做区块链而区块链,真的觉得这东西好到不可或缺的应用还基本没有。2,由于为了区块链而区块链,其实很多场景的安全性和可靠性还值得怀疑,这点经常被被公有链的支持者诟病。

    转载于:https://www.cnblogs.com/wangzhengyu/p/8528203.html

    展开全文
  • 在中心化的预言机(比如以太坊上的Oraclize)中,为了防止链下获取到的...TLSNotary协议可以理解为把TL1.1S协议中的**验证秘钥**托管到第三方审核服务器,让它进行HMAC计算并且确认数据是否被篡改,从而增强可信性。
  • 区块链是一种源于比特币但又超越了比特币的可信技术。区块链技术创新不仅催生了各类私人数字货币,同时也引起了各国中央银行广泛的兴趣和探索。可以这样说,目前大多数国家的央行数字货币(Central Bank Digital ...
  •  1)第一种分类:根据区块链运行过程中是否需要中心节点或者权限优势节点授权,可将区块链划分为无许可区块链(Permissionless Blockchain)和许可区块链(Permissioned Blockchain).  (1)无许可区块链:是一种...
  • 区块链本质说是一种不可篡改的数据结构,因为它的不可篡改性,把数据从不可信变成可信。从技术角度看,区块链是互联网发展的一个升级,它和互联网相同的是,能提高社会整体的工作效率;不同的是,互联网从通信速度...
  • 是否曾羡慕大咖们的高屋建瓴?对他们私藏的干货好奇不已?BLockMania现推出全新栏目「大咖说」,通过邀请产业大咖和行业专家,聚焦行业热点,分享他们在产业与区块链结合的最新洞察,从概念到应用,为你深度解析...
  • 虽然区块链ICO的动荡性可能会增加怀疑论者的可信度,但是当新的颠覆性技术出现时,怀疑论可能是健康的。事实上,怀疑主义可能是新兴技术的一种燃料。随着任何新技术的炒作循环开始下降到幻灭之谷,怀疑论者的反馈将...
  • 通过该评分,智能网联车队中的车辆可以根据车队中其他节点的信誉值来判断其是否可信,低信誉值节点传来的信息将不予理睬,从而实现了协同驾驶。实验分析表明,所提LSTM模型能够较为准确地预测周边车辆5 s内的行驶...
  • 区块链技术的发展在一定程度上解决了传统数据共享在第三方平台上的不可信等问题,但区块链的交易透明性也易被不法分子利用。例如在医疗数据共享领域中,即使未把就诊结果公布于众,恶意参与方往往也能将患者的各项...
  • 来源 | SmartDec 编译 | 王国玺 出品 | 区块链大本营(blockchain_camp) 如今,人们出于各种原因将业界各类难题都寄希望于区块链,认为...是否所有写入都是已知且可信,不需要... 所以,你不需要区块链。 ...
  • 在分布式网络中,网络节点是否具有高扩展性,节点的可用性,数据如何进行传播,且在一个不稳定的分布式网络环境中,如何保证数据的实时同步,是所有开发人员都需要关注并解决的问题。 Gossip 协议取自人类的"八卦...
  • 快速判断论文质量高低(中英文通用) 发表期刊水平够高,...实验设计完整,结果可信 快速浏览参考文献 根据题目和关键词判断相关性 摘要中提及的创新点(或引言中提及)是否具有参考价值 定位正文中的核心创新...
  • 由这件事我想到,这里面有两个问题:其一,员工自己取证的方式是否可信,其中包括图片的后期处理、手机拍照相关设置被改变等作弊手段;其二,相关的证据保存在物业公司手中,如果物业公司宣称自己没有收到等方式否认...
  • 对于政府来说,数据流通该不该管,谁来管,怎么管? 对于数据源提供者来说,经济效益不明显,维权困难; 对于购买者来说,所买数据是否合法,数据质量如何,价格是否合理?...数据从何而来,是否可信,怎样转...
  • 但同时,这些数据中涉及商业机密和用户隐私保护,在不可信环境下实现安全的数据共享一直是一个难题,传统中心化方案存在数据容易被泄露、数据容易被篡改、数据去向难以追踪、监管难度大等问题。公钥体制下的数据共享...
  • 区块链数据何以可信?如何快速检验海量数据是否被篡改?单向哈希在其中起到了什么作用? 隐私数据的价值很大程度上源自其真实性,如何防止数据被恶意篡改,是隐私保护方案设计中不可忽视的关键目标之一。为此,...
  • 全区块链术语盘点

    2021-01-19 16:12:06
    互联网大数据时代,人们每天都会接触数据,购物看评分,炒股看报表……但是,在这个“到处是陷阱”的年代,数据真的可信吗?它们没有被篡改过吗?如果有一种技术手段,既能提高数据篡改的难度和代价,又能让其他人...
  • 以太坊2.0技术分享

    2020-02-14 21:59:35
    是否曾羡慕大咖们的高屋建瓴?对他们私藏的干货好奇不已?BLockMania现推出全新栏目「大咖说」,通过邀请产业大咖和行业专家,聚焦行业热点,分享他们在产业与区块链结合的最新洞察,从概念到应用,为你深度解析...
  • 区块链数据何以可信?如何快速检验海量数据是否被篡改?单向哈希在其中起到了什么作用? 隐私数据的价值很大程度上源自其真实性,如何防止数据被恶意篡改,是隐私保护方案设计中不可忽视的关键目标之一。为此,密码...
  • 区块链数据何以可信?如何快速检验海量数据是否被篡改?单向哈希在其中起到了什么作用?隐私数据的价值很大程度上源自其真实性,如何防止数据被恶意篡改,是隐私保护方案设计中不可忽视的关键目标之一。为此,密码学...
  • 在元数据验证阶段,验证节点首先检查本地元数据区块链的状态和全局状态是否相同,如果不相同则进行状态同步。然后,检索本地元数据区块链来验证元数据完整性。理论与实验结果表明,DMB模型可以保证元数据的可追溯性...
  • 2019-11-29-Mastering_bitcoin

    2019-12-01 11:45:46
    这笔钱是否真实可信 这笔钱怎么识别所有权 比特币构成: 一个去中心化的点对点网络(比特币协议) 一个公共的交易账簿(区块链) 一个去中心化的数学的和确定性的货币发行(分布式挖矿) 一个去中心化的交易验证...
  • 截止目前,比特币总市值达7677亿元,而与之共同而生的区块链技术被大众称为第四次生产力革命。成为了各国争相发展的新型行业。比特币以十年的荆棘之路造就了一个奇迹,在这十年里,发生了太多的事情。 接下来,让...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

区块链是否可信