区块链上“链下”与“链上”的逻辑关系及其构建

区块链上“链下”与“链上”的逻辑关系及其构建
区块链上“链下”与“链上”的逻辑关系及其构建

区块链上“链下”与“链上”的逻辑关系及其构建

一、什么是“链上”和“链下”

区块“链”的链,包含“数据链”和“节点链”。数据链指用链式结构组织区块数据,构成数据校验和追溯的链条;“节点链”指多个节点通过网络连接在一起,互相共享信息,其中的共识节点则联合执行共识算法,产生并确认区块。

交易“上链”的简要过程如下:

记账者们收录交易,按链式数据结构打包成“区块”。

共识算法驱动大家验证新区块里的交易,确保计算出一致的结果。

数据被广播到所有节点,稳妥存储下来,每个节点都会存储一个完整的数据副本。

交易一旦“上链”,则意味着得到完整执行,达成了“分布式事务性”。简单地说,就像一段话经过集体核准后在公告板上公示于众,一字不错不少,永久可见且无法涂改。

“上链”意味着“共识”和“存储”,两者缺一不可。交易不经过共识,则不能保证一致性和正确性,无法被链上所有参与者接受;共识后的数据不被多方存储,意味着数据有可能丢失或被单方篡改,更谈不上冗余可用。

除此之外,如果仅仅是调用接口查询一下,没有改变任何链上数据,也不需要进行共识确认,则不算“上链”。

或者,某个业务服务本身和区块链并不直接相关,或其业务流程无需参与共识,所生成的数据也不写入节点存储,那么这个业务服务称为“链下服务”,无论它是否和区块链节点共同部署在一台服务器,甚至和节点进程编译在一起。

当这个业务服务调用区块链的接口发送交易,且交易完成“共识”和“存储”后,才称为“上链”;如果这个交易没有按预期被打包处理,那么可以叫“上链失败”。

事实上,几乎所有的区块链系统,尤其是和实体经济、现实世界结合的区块链应用,都需要链上链下协同,用“混合架构“来实现,系统本身就包含丰富的技术生态。

*注1:交易(transaction)是区块链里的通用术语,泛指发往区块链,会改动链上数据和状态的一段指令和数据*注2:本节描述的是简要的模型,在多层链、分片模型里,流程会更加复杂,事务划分更细,但“共识”和“存储”才叫上链的基本原则不变

二、交易之轻和“上链”之重

目前区块链底层平台逐步趋于成熟,性能和成本已经不是什么大问题,只是以下几个开销是因“分布式多方协作”而先天存在的:

?共识开销:主流共识算法里,PoW(工作量证明,也就是挖矿)消耗电力;PoS(权益证明)要抵押资产获得记账权;PBFT(联盟链常用的拜占庭容错算法)记账者要完成多次往返投票,流程步骤繁杂。

?计算开销:除了加解密、协议解析等计算之外,在支持智能合约的区块链上,为了验证合约的执行结果,所有节点都会无差别地执行合约代码,牵一发而动全身。

?网络开销:与节点数呈指数级比例,节点越多,网络传播次数越多,带宽和流量开销越大,如果数据包过大,就更雪上加霜。

?存储开销:和节点数成正比,所有的链上数据,都会写入所有节点的硬盘,在一个有100个节点的链上,就变成了100份副本,如果有1000个节点,那就是1000份。

也许有人会说:“这就是‘信任’的成本,值得的!”我同意。只是理想无法脱离现实,毕竟硬件资源总是有限的。

想象一下,如果每个交易都是一个复杂科学计算任务,那么每个节点CPU和内存会跑满;如果每个交易都包含一个大大的图片或视频,那么全网的带宽,以及各节点存储很快被塞爆;如果大家都敞开来滥用“链上”资源,“公地悲剧”就不可

避免。

调用API发个交易是很容易的,而链上的开销就像房间里的大象,难以视而不见。作为开发者,需要正视“交易之轻和链上之重”,积极“上链”的同时减少不必要的开销,找到平衡之道。

*注1:常规联盟链节点参考配置:8核/16G内存/10m外网带宽/4T硬盘,不考虑“矿机”和其他特种配置。土豪随意,俗话说“钱能解决的问题都不是问题,问题是...”

*注2:本节暂未讨论“局部/分片共识”,也不探讨“平行扩容”的情况,默认假定全网参与共识和存储

三、让“链上”归链上,“链下”归链下

开销只是成本问题,而本质上,应该让区块链干自己最该干的事情。链上聚焦多方协作,尽快达成共识,营造或传递信任,将好钢用到刀刃上;那些非全局性的、无需多方共识的、数据量大的、计算繁杂的...通通放到链下实现,一个好汉三个帮。

如何进行切割?在业务层面,识别多方协作事务和数据共享中“最大公约数”,抓住要点痛点,四两拨千斤;在技术上,合理设计多层架构,扬长避短、因地制宜地运用多种技术,避免拿着锤子看什么都是钉子、一招打天下的思维。

为避免过于抽象,下面给出几个例子。

基于区块链的“智慧家政”服务生态系统

基于区块链的“智慧家政”服务生态 系统 1、企业级部署 基本介绍 YQ-Baas generator为企业用户提供了部署、管理和监控多机构多群组联盟链的便捷工具。 设计背景 在联盟链中,多个对等机构是不完全信任的。联盟链的节点之间需要使用数字证书互相进行身份认证。 证书是机构对外身份的凭证,生成证书的过程中需要使用机构本身的公钥和私钥对。私钥即为机构在互联网上的身份信息,是私密的,不可对外告诉其他人的。节点在启动、运行过程中,需要使用私钥对数据包进行签名,从而完成身份认证过程。假设私钥泄露,则任何人都可以伪装成对应的机构,在不经过该机构授权行使该机构的权利。

设计思路 YQ-Baas generator从上述背景出发,根据灵活、安全、易用、对等的原则,从不同机构对等部署、新建群组的角度考虑,设计了解决上述问题的解决方案。 2、整体架构 整体架构上,YQ-Baas划分成基础层、核心层、管理层和接口层: 基础层:提供区块链的基础数据结构和算法库 核心层: 实现了区块链的核心逻辑,核心层分为两大部分: 链核心层: 实现区块链的链式数据结构、交易执行引擎和存储驱动互联核心层: 实现区块链的基础P2P网络通信、共识机制和区块同步机制 管理层: 实现区块链的管理功能,包括参数配置、账本管理和AMOP 接口层: 面向区块链用户,提供多种协议的RPC接口、SDK和交互式控制台 YQ-Baas基于多群组架构实现了强扩展性的群组多账本,基于清晰的模块设计,构建了稳定、健壮的区块系统。 本章重点介绍YQ-Baas的群组架构和系统运行时的交易流(包括交易提交、打包、执行和上链)。

中国大数据、人工智能、区块链发展趋势及应用场景研究报告_光环大数据培训

https://www.360docs.net/doc/6d9351541.html, 中国大数据、人工智能、区块链发展趋势及应用场景研究报告_光环大数据培训 国家高度重视金融科技应用对于强化金融监管能力和促进金融转型发展的双重作用。在强化监管方面,以降低合规成本、有效防范金融风险为目标的监管科技(Regtech)正在成为金融科技的重要组成部分。在促进发展方面,金融科技应用能够有效提升金融服务效率,强化对实体经济的服务能力。随着云计算、大数据、人工智能和区块链等新兴技术在金融领域的广泛应用,金融科技正在以迅猛态势深刻改变金融行业生态和服务模式。 云计算、大数据、人工智能、区块链为四大新兴技术领域,本报告从应用价值、关键技术、应用场景和典型产品分析等四个方面,深入剖析四大新兴技术在金融领域的应用情况。小编对报告的主要内容作如下摘要: 首先,从金融行业应用需求出发,明确技术应用的市场价值;接着,深入浅出的阐述技术基本原理,明确在金融领域技术应用的特殊属性;然后,重点分析技术应用的具体场景,详细描述应用细节;最后,对典型技术产品进行技术指标的对比分析。 一、云计算在金融领域的应用 1、有效降低金融机构IT成本 性能上,云计算通过虚拟化技术将物理IT设备虚拟成IT能力资源池,以整个资源池的能力来满足金融机构算力和存储的需求。在物理设备上,云计算采用X86服务器和磁盘阵列作为基础设施。此外,通过云操作系统可以实现IT设备的负载均衡,提高单位IT设备的使用效率,降低单位信息化成本。因此,在IT性能相同的情况下,云计算架构的性价比远高于以大型机和小型机作为基础设施的传统金融架构。 2、具有高可靠性和高可扩展性

https://www.360docs.net/doc/6d9351541.html, 传统金融架构强调稳定性,扩展能力相对较差。在基础资源上,大型机或小型机只能纵向扩展提升能力(scale-up),不能实现更加灵活的横向扩展(scale-out)。因此,随着业务需求增加,服务器越来越大,且交付时间越来越长。传统应用架构强调单体应用,数据库强调数据强一致性,可扩展性差。在可靠性上,云计算可以通过数据多副本容错、计算节点同构可互换等措施,有效保障金融企业服务的可靠性。在可扩展性上,云计算支持通过添加服务器和存储等IT设备实现性能提升,快速满足金融企业应用规模上升和用户告诉增长的需求。 二、大数据在金融领域的应用 1、提升决策效率 大数据分析可以帮助金融机构实现以事实为中心的经营方法。大数据可以帮助金融机构,以数据为基础,逐步从静态的现象分析和预测,过渡到针对场景提供动态化的决策建议,从而更精准地对市场变化做出反应。 2、强化数据资产管理能力 金融机构大量使用传统数据库,成本较高,而且对于非结构化数据的存储分析能力不足。通过大数据底层平台建设,可以在部分场景替换传统数据库,并实现文字、图片和视频等更加多元化数据的存储分析,有效提升金融结构数据资产管理能力。 三、人工智能在金融领域的应用价值探讨 1、进一步提升金融行业的数据处理能力与效率随着金融行业的不断发展,沉淀了大量的金融数据,主要涉及金融交易、个人信息、市场行情、风险控制、投资理财等。这些数据容量巨大且类型丰富,占据宝贵的储存资源,而从业人员却无法对其进行有效分析以供决策。虽然大数据技术的出现对此有所改善,但在数据的有效处理与分析挖掘上仍面临较大挑战。

区块链应用场景分析

区块链应用场景分析 区块链的兴起、核心技术及原理机制、国内外产业发展现状和典型应用场景,总结了历年来在区块链上的研究成果,对区块链服务BCS进行了详细介绍。 区块链服务主要专注4大类9小类应用场景,包括数据资产、IoT、运营商和金融领域等,如:身份认证、数据存证/交易,新能源、公益捐赠、普惠金融等。 区块链应用场景 区块链服务面向企业及开发者提供一站式规划、采购、配置、开发、上线和运维的区块链平台服务,企业在区块链服务上可自主搭建一套基于企业自身业务的企业级区块链系统。 区块链采用分层架构设计、云链结合、优化共识算法、容器、微服务架构与可伸缩的分布式云存储技术等创新技术方案。 区块链服务逻辑架构图 区块链的整体构想是:聚焦典型应用领域,以区块链平台为核心,联合网络和可信硬件执行环境(终端+芯片),形成三位一体的端到端区块链框架,实现软件+硬件结合,提供更快、更安全的区块链端到端解决方案。 对区块链的整体构想 关于区块链技术未来的发展,在白皮书中做出以下判断: 一、从应用维度上,2018 年是区块链的应用元年,在标准没有完善前,在不同行业的试用是重点,政府数据存证、IoT 领域物流和车联网的应用、运营商云网协同和供应链金融将进入首发试用阵容。本质上这些领域急需借助区块链构建公开透明的营商环境。 二、从技术维度上,安全是构建区块链需要考虑的重要问题,国密算法将会成为区块链在国内主要市场应用标准,区块链的框架将包含云,管,端三层,以软件+硬件相配合的方式,构建高度可靠的安全能力。

三、从区块链产业发展上看,中美欧会成为区块链应用的重要区域,区块链不会昙花一现,我们可以依靠区块链在技术竞争中占据先机,而这些需要明朗的产业政策给予保障,目前看到国内从中央到地方政府机构都在努力构建区块链的孵化环境,推动区块链产业健康发展。这就为我们发展区块链技术和产业创造了良好环境。 并且基于以上判断,提出四点建议: a.依托联盟,形成产业合作,加速我国区块链标准快速落地 b.构建区块链产业孵化环境,推动区块链产业发展 c.清晰化区块链技术和应用的产业政策 d.积极参与开源社区,倡导企业间区块链技术的互通交流。

区块链BI大数据可视化分析管理系统开发

区块链BI大数据可视化分析管理系统开发 BI大数据分析系统提供了通过直观的拖放开发环境构建解决方案所需的工具箱,该环境可以聚合不同的传感器数据,并准确探索组合数据的实时含义。源中瑞BI大数据分析系统开发[---138---#--23----15--#---32---01----] 我们认为它可以提供快速的洞察力,快速的决策速度,快速的行动速度和快速的业务成果。 利用BI大数据分析系统,您的企业可以快速响应市场变化,客户需求和竞争,而无需任何编码。通过全面了解您的集成数据并深入了解您所服务的市场,公司可以更深入地了解其流程,产品和客户。 BI系统的分析功能是核心。 关联分析:主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。它的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是,事件发生的概率和条件概率应该符合一定的统计意义。 比如商品分析:商品分析的主要数据来自销售数据和商品基础数据,从而产生以分析结构为主线的分析思路。 主要分析数据有商品的类别结构、品牌结构、价格结构、毛利结构、结算方式结构、产地结构等,从而产生商品广度、商品深度、商品淘汰率、商品引进率、商品置换率、重点商品、畅销商品、滞销商品、季节商品等多种指标。通过系统对这些指标的分析来指导企业商品结构的调整,加强所营商品的竞争能力和合理配置。

数据情况 1、数据来源:考虑数据主要来源的业务系统有哪些?是否需要建立数据仓库?以及前期准备工作,比如相关数据字典准备,甚至是取数接口等问题。 2、数据情况:业务系统内最大单表的数据量及数据增量是多少。通过了解最大单表的数据量及数据增量,初步规划数据处理方案,是否要建立中间层,索引,GP等,选择合适的分析平台,是BI还是一般的报表平台。区块链数据管理平台开发——BI大数据分析系统 3、数据补录:主要是维度数据维护与事实数据补录,具体的工作就是填报页面的维护。比如人力分析中的工资分析,一般是财务线下数据,那么需要开发填报导入页面以作数据录入。 这项工作需要考虑补录的数据录到什么地方:如果建立数据仓库就直接填入数仓中;但是如果通过直连开发报表,是否需要将补录的数据直接录入到业务系统中。 4、数据仓库:针对需求主体、分析指标及数据情况判定是否需要建立数据仓库。如果需要将财务数据、费用数据整合分析,但是财务数据来自EAS,费用数据来自OA,那么这样的情况就需要建立数据仓库以实现整合分析。这里需要考虑在建立数据仓库之后,相关维度数据的对应关系是否和人员组织架构有效对应。 BI大数据可视化分系统开发,区块链数据管理平台开发

陈纯教授区块链演讲全文

浙江大学教授、中国工程院院士陈纯教授给政治局讲区块链。 (注:中共中央政治局10月24日下午就区块链技术发展现状和趋势进行第十八次集体学习。本次学习强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。我们要 把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一 批关键核心技术,加快推动区块链技术和产业创新发展。) 下面是他的最近的一次演讲: (在10月13日,由中国计算机学会主办的2019 CCF区块链技术大会上,《联盟区块链关 键技术与区块链的监管挑战》主题演讲) 刚刚前面说今年是比较差的年头,去年特别差,其实我觉得也不是这样,区块链正迎来发展 春风,比如我国“十三五规划”已经将区块链、量子通信、人工智能等都作为重大项目进行;2019年2月18日《人民日报》头版提到区块链是“新一代的信息技术”。 区块链的简介,这里我简单跟大家分享一下。简介是传统系统跟区块链系统有几个特点,传 统系统有互相对账、中心、篡改数据等特点,这恰恰是与区块链系统相反的。关于区块链的 核心价值,这里有很多专家我就不多说了,它有提升多中心的协作效率、去中介,提升多方 信任、数据不可篡改,可追溯,可审计等等。 区块链技术研究热点中国和国际上稍微有点区别,中国主要的研究热点是集中于联盟区块链 的关键技术,同时我觉得区块链的监管技术也是非常重要的。为什么说区块链的监管技术非 常重要呢?有一句话讲得好,就像交通一样,当警察没有站好,车子开不快,交通次序也不 会太好。我这里主要想谈谈联盟区块链的关键技术。 一、联盟区块链的4大关键技术 首先联盟区块链高性能这件事是非常重要。当你有了联盟链,公链方面以太坊每秒几十笔, 这个点是不够的。大规模应用上来的话,现在国内最好的联盟链可以做到上万个点,每秒几 千到上万的性能。大规模的节点,或者大数据量的情况下性能会急剧下降,这也是大家觉得 区块链浪费和性能不行的缺点。联盟高性能关键技术需要在各个方面进行技术突破,包括高 性能的共识算法、包括高效智能合约引擎,也包括新型的共识机制,希望能够提高共识效率 与安全性,当然主要是为了要支撑大规模各种网络结构的主网。还有一个研究热点软硬件协 同优化,这也是非常重要,就像AI一样,没有芯片AI就很麻烦。 第二个关键技术是区块链安全隐私关键技术。在中国要用首先要全面支持我国加密算法和标准,这肯定没问题。商业应用需要平台业务数据隐私保护,可以通过命名空间的方式在物理 层面进行业务数据的分离,这值得研究。还更细粒度的隐私交易机制,实现交易可验证但是 不可见。还有基于可信执行环境等技术实现节点密钥管理和数据加密存储,基于默克尔DAG 等数据组织技术,防止文件被篡改。联盟链第二个关键技术安全隐私也是非常重要的。 第三个关键技术就是高可用性的关键技术。这里有一个动态成员的准入机制,以及节点失效 后的快速恢复机制,这在分布式系统里都会碰到,这也非常重要,不能整个系统停下来加节点,应该是可以实时动态的。某一个节点出问题,我要删除的话,不能停下来删除,系统不 能停。还有去中心化联盟自治的管理机制,如何来做这个事情?是通过多方提案投票表决方 法还是别的方法,这些都要有机制。有人会怀疑,联盟链是不是真正能做到管理的公平机制,公链大家不会怀疑,但是联盟链是多中心化是不是会怀疑,这也非常重要。还有高效的热备 切换机制,这也是联盟链以后的关键技术,也是非常重要的。 第四个关键技术是高可扩展的关键技术。一个是编程可扩展,我们说支持多种编程语言的使用。当然越普通的编程语言越好,这样大家就会用得很方便。第二个是存储方式可扩展,能

大数据、物联网,区块链

物联网,区块链和大数据之间的关系 这三个技术之间互有联系又各有特点,其中的物联网、大数据是第三次信息化浪潮的代表技术,下面分别介绍一下这三个技术名词: 简单的说物联网就是物物相连的网络,把所有的物品通过信息传感设备与互联网连接起来,进行信息交换,以实现智能化识别和管理。物联网应用中有三项关键技术:传感器技术、RFID标签、嵌入式技术。物联网的应用十分广泛,涵盖了交通、医疗、公共安全、装备制造、智能家居等等。 区块链是随着互联网金融概念火起来的概念,区 块链最著名的应用就是比特币。伴随着比特币的 火爆行情,大家对区块链颇为看好,尤其是著名 投资人徐小平的一番言论,把区块链直接推向了 投资的风口。那么什么是区块链呢?区块链技术 是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全,是一种全新的分布式基础架构与计算方式。要想解释清楚区块链的概念,真不是一两句话可以说明白的,简单说就是区块链能让你的数据在网络上安全的与别人进行交互,网络虚拟货币是典型的应用。 大数据的概念可以简单用4个特点来总结:数据量 大、数据结构多样、价值密度低、速度快。这几个 特点是公认的,当然也有人为大数据增加很多特点, 这里就不一一说明了。大数据的魅力在于让数据说 话,通过机器学习、数据挖掘等方式让数据呈现出 一定的规律和逻辑,能通过不相关的数据进行行为 预测,这些是大数据的应用价值。 物联网、云计算、大数据它们三者之间联系紧密, 物联网为大数据提供了数据,云计算为物联网提 供了搭建平台,云计算也为大数据分析提供了强 大的运算能力,物联网和区块链的正常运行,都 需要大数据的支撑,而在他们正常运行的过程中, 也同样会产生海量数据,从一定意义上讲大数据是物联网和区块链的基础,物联网和区块链是大数据的延伸。

区块链技术应用研究与软件开发实践:分布式共享的超级账本部署网络拓扑结构体系

分布式共享的超级账本部署 网络结构拓扑体系 1 准备超级账本运行环境 本节介绍多种构建超级账本运行环境的方法,然后介绍如何编译超级账本的镜像文件。 1.1 超级账本运行环境 链码依赖于Docker才能启动运行,超级账本的各节点也推荐运行在Docker容器中,方便系统的运维管理。在开发的过程中,有多种运行方式可以选择:基于Vagrant的运行环境、基于Virtualbox的运行环境和基于Docker的运行环境。 1.基于Vagrant的运行环境Vagrant用一致的工作流程提供了易于配 置、可重复、便携的工作 环境,让开发人员可以快速地创建和销毁虚拟机,帮助团队最大限度地提高生产力和灵活性。图1-1是基于Vagrant的运行环境示意图,Vagrant同时支持Linux、MacOS或Windows等不同的平台,通过相同的配置文件Vagrantfile启动Virtuabox虚拟机。虚拟机的操作系统是Ubuntu 16.04,启动的过程会调用脚本devenv/setup.sh安装所需要的软件并做相应配置,包括安装Docker、Docker Compose、Golang、Node.js、OpenJDK、Gradle等,还会修改系统的文件描述符数等,这样统一用同一套配置运行相同的程序,就不会再有“我的环境有问题”的借口了,也不会存在工作习惯划分出不同阵营的情况,非常适合工作团队合作。图1-1是基于Vagrant的运行环境示意图。

图1-1 基于Vagrant的运行环境示意图 (1)配置文件Vagrantfile 我们先来看一下配置文件Vagrantfile的内容。 SRCMOUNT = "/hyperledger" LOCALDEV = "/local-dev" $script = <