今天给大家聊到了区块链需要的大数据技术,以及大数据处理区块链相关的内容,在此希望可以让网友有所了解,最后记得收藏本站。
1、区块链:是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术区块链需要的大数据技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
区块链(Blockchain)是比特币的一个重要概念,货币联合清华大学五道口金融学院互联网金融实验室、新浪科技发布的《2014—2016全球比特币发展研究报告》提到区块链是比特币的底层技术和基础架构[2] 。本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含区块链需要的大数据技术了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
2、大数据:指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
区块链1.0的发展与数字货币密切相关,应用普遍集中在货币转移、兑换和支付等方面。从某种意义上讲,这个时期的区块链技术找到了一个解决货币和支付去中心化的方案。
货币和支付构成了区块链1.0时代最显著的应用,出现了以比特币为代表的一系列虚拟货币,如莱特币、狗币、瑞波币、未来币、点点币等,全世界前后产生过数千种数字货币,到现在还在运行的大概有700多种。这些“另类货币”充当着互联网上的“现金”,开启了金融领域的另一片天地在虚拟货币的应用场景下,个人可以用一种去中心化、分布式且全球化的方式,在个人之间分配和交易各种资源。
这个时期的区块链在金融领域掀起了一股巨浪。在转账、汇款和数字化支付相关领域,区块链技术备受关注。在这些领域,传统方式要通过银行等中心机构进行开户行、对手行、清算组织、境外银行(代理行或境外分支机构)等烦琐的处理过程,时间长,成本髙。应用区块链技术后,支付可以实现端对端的交易,去掉了繁冗的中间机构处理环节,不仅快捷,而且交易成本非常低廉。尤其在跨境支付方面,基于区块链的支付 系统可为用户提供全球范围的跨境、任意币种的实时支付清算服务,跨境支付将以低成本方式瞬间完成。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
区块链是什么?区块链应用主要包括互联网技术以及信息内容加密算法,再搭配以适度的规则和体制,就形成了一个可靠系统软件基础设施。这儿基础设施可解读为网上自然环境,那样可信的含意到底是什么呢?数据库加密的办法可以分为对称加密算法和对称加密,对称加密安全性比较高,但响应速度比较慢。区块链技术所使用的椭圆曲线加密技术是是非非对称加密算法中速度最快方式。因而,区块链技术的加密算法十分强大,它能确保客户的身份唯一性。除此之外,区块链技术中的信息也受到了数据加密维护难以被伪造。
但有且只有数据加密方式不够,由于互联网技术实质上是个不可信网络。由不可信到可信的方式有两条,一是加强互联网去中心化,系统对进行全面严格管控;二是由选用分布式结构区块链技术,做到互联网基层民主。区块链技术选了后面一种。目前绝大多数系统软件全是中心化的。仍然以手机微信为例子,接收消息时双方感觉在交谈,可事实上是由一个或多个微信系统服务器,对双方的数据进行分享。一旦微信客户端出问题了,即便自己的手机正常的连接网络,也不能使用微信聊天。相同的,邮件系统、电商系统和协同办公系统全是相似的方式。
如上所述,去中心化全面的核心连接点一旦出现异常,即便每一个连接点都很正常,全部系统软件或者部分系统软件也不能正常工作中。为了保证核心节点的稳定性,必须建设中心节点的一个或几个系统备份,称之为灾备中心。伴随着系统及业务结构不断发展,务必不断提升核心连接点和容灾节点的硬件软件资金投入,经营成本也会跟着提升。除此之外,因为利益驱使,核心连接点很有可能有意违背原则开展故意实际操作,如大数据技术“黑公关”难题。
区块链技术系统软件防止了以上三个问题,每一个节点的个人行为全是不同于别的节点的,节点的行为是由程序流程事前所规定的,且加密算法保证了每一个连接点没法违反规定,这便是系统软件基层民主的内涵。区块链应用一般用于搭建交易软件,并且要确保的交易信息内容真实有效,可追溯系统且不可篡改。每一次的交易信息内容被核实后储存在一个区域中,区块链信息内容根据散列技术性数据加密,以确保信息内容不会被伪造。这种区块链按照时间顺序组成传动链条。各个连接点都享有完备的区块链信息,某些节点的信息内容毁坏,也不会对区块链信息造成影响。这类档案信息方法称之为分布式账本。
在这样一个区块链技术的分布式账本中,加上一条新的记录,并关联到全部节点的实际操作务必按一定的规则进行,不然一切真实有效都无从说起。这一标准便是区块链技术的共识机制。本质上,一个公平公正的共识机制,应当容许全部连接点都可以提升区块链。当增大的区块链具体内容不相同,应该根据某类标准去商议,直至某一个区块链具体内容被接纳,之后全部连接点拷贝此区块链。与其等额的做法就是,非是全部连接点都能够提升区块链,反而是依据某类标准竞选出一个有资格提升新服块连接点,拷贝该结点所增大的区块链信息内容。区块链技术使用了后面一种,而且由于选举规则是公开透明的,竞选典礼就会变成市场竞争全过程。
简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库区块链需要的大数据技术;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,区块链需要的大数据技术我来举个例子,你就好理解了。
你可以想象有 100 台计算机分布在世界各地,这 100 台机器之间的网络是广域网,并且,这 100 台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P 网络协议
P2P 网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币 P2P 网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求 Peer 节点的地址数据以及区块数据。
这套 P2P 交互协议也具有自己的指令集合,指令体现在在消息头(Message Header) 的 命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的 Peer Discovery 的章节。
2、分布式一致性算法
在经典分布式计算领域,我们有 Raft 和 Paxos 算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的 PBFT 共识算法。
如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。
在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了 Paxos 和 Raft 为主的分布式系统。
而在区块链领域,多采用 PoW 工作量证明算法、PoS 权益证明算法,以及 DPoS 代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。
PoW: 通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。
PoS: 这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。
DPoS: 简单来理解就是将 PoS 共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是 21 个节点,也有可能是 101 个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。
3、加密签名算法
在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。
其中,难题友好性正是众多 PoW 币种赖以存在的基础,在比特币中,SHA256 算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。
而在莱特币身上,我们也会看到 Scrypt 算法,该算法与 SHA256 不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于 SHA3 算法的挖矿算法。以太坊使用了 Dagger-Hashimoto 算法的改良版本,并命名为 Ethash,这是一个 IO 难解性的算法。
当然,除了挖矿算法,我们还会使用到 RIPEMD160 算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。
除了地址,我们还会使用到最核心的,也是区块链 Token 系统的基石:公私钥密码算法。
在比特币大类的代码中,基本上使用的都是 ECDSA。ECDSA 是 ECC 与 DSA 的结合,整个签名过程与 DSA 类似,所不一样的是签名中采取的算法为 ECC(椭圆曲线函数)。
从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4、账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?
我在设计元界区块链时,参考了多种数据库,有 NoSQL 的 BerkelyDB、LevelDB,也有一些币种采用基于 SQL 的 SQLite。这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。
区块链的账本特性,通常分为 UTXO 结构以及基于 Accout-Balance 结构的账本结构,我们也称为账本模型。UTXO 是“unspent transaction input/output”的缩写,翻译过来就是指“未花费的交易输入输出”。
这个区块链中 Token 转移的一种记账模式,每次转移均以输入输出的形式出现;而在 Balance 结构中,是没有这个模式的。
大数据和区块链两者之间有个共同的关键词:分布式,代表了一种从技术权威垄断到去中心化的转变。
分布式存储:HDFS vs. 区块
大数据,需要应对海量化和快增长的存储,这要求底层硬件架构和文件系统在性价比上要大大高于传统技术,能够弹性扩张存储容量。谷歌的GFS和Hadoop的HDFS奠定了大数据存储技术的基础。另外,大数据对存储技术提出的另一个挑战是多种数据格式的适应能力,因此现在大数据底层的存储层不只是HDFS,还有HBase和Kudu等存储架构。
区块链,是比特币的底层技术架构,它在本质上是一种去中心化的分布式账本。区块链技术作为一种持续增长的、按序整理成区块的链式数据结构,通过网络中多个节点共同参与数据的计算和记录,并且互相验证其信息的有效性。从这一点来说,区块链技术也是一种特定的数据库技术。由于去中心化数据库在安全、便捷方面的特性,很多业内人士看好其发展,认为它是对现有互联网技术的升级与补充。
分布式计算:MapReduce vs. 共识机制
大数据的分析挖掘是数据密集型计算,需要巨大的分布式计算能力。节点管理、任务调度、容错和高可靠性是关键技术。Google和Hadoop的MapReduce是这种分布式计算技术的代表,通过添加服务器节点可线性扩展系统的总处理能力(Scale Out),在成本和可扩展性上都有巨大的优势。现在,除了批计算,大数据还包括了流计算、图计算、实时计算、交互查询等计算框架。
区块链的共识机制,就是所有分布式节之间怎么达成共识,通过算法来生成和更新数据,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链主要包括四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。以比特币为例,采用的是“工作量证明”(Proof Of Work,简称POW),只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。
关于区块链需要的大数据技术和大数据处理区块链的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
评论