深度学习
区块链是支撑比特币的核心技术,但是其本身是一个完全独立的系统,可以说比特币是区块链技术的一个创新性应用。但是,区块链技术不仅仅局限于比特币的应用,它可以适用于任何形式的“货币”或“经济价值”。
区块链是一个具有“开放式”特点的自治账簿系统,按照复式记账方法记录了所有的交易数据,每一个单位的货币 “从哪儿来”“到哪儿去”的全部详细历史数据。这里的“开放式”是指其存储的数据对于任何人来讲都是公开的、透明的,除了交易主体的隐私信息给予加密以 外,任何人都可以查询其中的数据。所谓“自治”,就是指系统按照公开的算法、规则形成,在自动协商一致的机制基础上运行。区块链通过“开放”“自治”两个 方面来保证记录在区块链上的每一笔交易都具有准确性和真实性。
区块链的记账方法
区块链从第一个“货币元”交易的发生开始到所有的交易进行记录,每笔交易都是按照复式记账的方式来完成的。由 于任何一笔交易的借方和贷方的复式记账记录都是保存在一起的,因此每笔交易借与贷之间形成了会计关联关系,即一笔交易中的贷方总能够找到对应之前一笔交易 的借方。通过这种方式就形成了一种复式记账的会计关联“链状”结构,这样就可以对每个“货币元”的详细档案记录下一个非常详细的描述:即基于复式记账的好 处,可以从当前最新记录开始,采用倒推的方法逐级向过去追溯,就能得知每个“货币元”的过去的踪迹,能够得知其从哪里来,经历过哪些交易。这样,每个“货 币元”的身世都非常明了,从而给识别和验证交易带来了非常大的好处,如图1-11 所示。
图1-11 复式记账的链状结构
甲要支付乙100“货币元”,乙就 可以对甲的这100“货币元”的身世档案进行查询,乙追溯这100“货币元”的源头和出处,以及其交易记录,并且这100“货币元”最近的拥有者就是甲, 对这100“货币元”的来龙去脉有更加清晰的了解之后,乙就可以放心接受甲提供的这笔钱了。如果乙在追溯过程中并没有找到这100“货币元”的源头和出 处,就说明这100“货币元”不具备合法性,甲并不具备拥有这100“货币元”的资格,那么甲与乙之间的借贷关系就成为一种不合法关系,也因此使得借贷无 法正常执行。只有那些可以追溯源头的“货币元”交易才可以被认为是合法的、可执行的。
那些被验证过的所有交易会被存储在区块链当中。显然,这样对每个“货币元”逐一追溯的话,整个“交易链”就会逐渐变得很长,按照以上的方法对每笔交易进行验证往往会耗费大量的时间,操作起来也比较烦琐。但是区块链就很好地解决了这个问题。
区块链采用了“分块”记录的方法,将发生在某一时间段内的交易打包成一个“区块”,每个“区块”与其前后向链 接的区块按照时间顺序进行排序,每隔一段时间就会产生一个新的区块,将一个区块与其上个区块以及下个区块链接起来,就形成了“区块链”结构。这样,我们可 以将区块链看作一个不断增加页数的矩形账簿,每个区块可以看作一个账簿的一页,每页记录了一笔或多笔交易,每增加一个区块,则区块的堆高就增加一个梯度。
区块链借助Po W共识机制来确保只有合法的区块才能够添加进来。一旦一个区块通过了验证后链接到区块链中,就会被永久性地存储起来,任何时候都不会被任何外界因素所干 扰、篡改。而每个区块链的合法性验证问题,包括对其中的所有交易的合法性验证以及区块之间数据关联性规则的验证。按照时间顺序将各个区块链接起来的方法实 际上可以给人非常直观的感觉。这样就不必对每一笔交易记录进行全部验证,而仅仅是对其回溯的最近的某个区块进行验证即可。
另外,区块链采用分布式方式使得网络上连接的各个节点都保存了一份完整的账本副本,这些节点采用自治协议和规 范,通过交叉审计和稽核,共同维护了区块链的完整性以及真实性。除了涉及交易各方的私密信息以外,区块链的数据信息对所有人都是公开的。任何人都可以通过 公开的接口去查询区块链数据并且开发相关的应用。因此,可以说,区块链技术的应用使得账簿的真实性和完整性、合法性、公开性得到了很好的保障。
区块链的运行机理
区块链的核心设计思想就是借助当前已有的成熟技术和条件,制定一个纯粹的、跨界的、具有信任特点的网络验证机 制,在该机制的作用下,互联网经济变得更加简捷、容易。通常情况下是采用复式记账会计、Peer-to-Peer网络架构、基于机器算法的协商一致的自治 协议、安全的数据存储传输使用规则、可持续运行的激励机制、开放式的系统来最大限度地“去中心化”,从而确保这个系统对任何用户都是“中性”和“可信” 的,继而为交易各方的经济活动建立一个良好的信任环境。
具体来讲,区块链是如何运行的呢?区块链是建立在一个Peer-to-Peer网络架构基础上的自治系统,其运行体系主要包括以下几个部分,如图1-12所示。
图1-12 区块链运行体系
1.区块链的系统守护进程
区块链的系统守护进程是一种运行程序,该程序具有不断运行的特点,主要是用于处理服务需求。区块链的守护进程主要是驻存于网络中的区块链全节点的计算机中。
2.区块链全节点和瘦节点
所谓区块链全节点就是在不需要外界指令的情况下能够自动执行验证任务。区块链节点保持着完整的区块链并进行实时更新。瘦节点保存的仅仅是区块链的一个子集。
3.矿工节点
矿工节点主要是采取竞争性规则来创建区块。这种竞争性规则就是谁能够率先解决一个Po W机制的问题,就意味着谁能够成功添加一个区块到区块链当中,并获得一定的奖励。
4.网络路由
在每个区块链的网络中的节点上都嵌有一个专门接入网络、连接管理的系统,这就是网络路由。
5.接口应用
区块链本质上是一种底层架构,它为上层应用提供多种接口,其中最常用的就是钱包,它是用户与区块链之间的应用接口。
当与网络连接的某一台服务器在运行区块链的系统守护进程的时候,就意味着一个区块链已经诞生了。通常由系统守 护进程创建第一个区块。之后,区块链的全节点就开始逐渐扩张:一些节点计算机加入进来,并且按照Peer-to-Peer网络架构模式把这些节点一个个连 接起来。这些全节点从网络中下载所需要的程序,并且将区块链上的所有数据都复制到本地。这种过程一直持续进行,直到全节点达到一定数量的时候,就产生了部 分交易。紧随其后,矿工节点也陆陆续续加入进来。由于网络中已经有了“货币元”,因此,用户这时候就可以开始利用“货币元”进行交易了。在用户接口处会不 断有新的交易请求信息发出来,而网络中的全节点会对这些新的交易请求信息进行监听,并且会对这些新交易中的“货币元”进行身世档案验证。但是,这时候经过 验证的交易并不能直接存储到区块链上,而是需要与其相邻时间内产生的其他交易一起存储到新的区块后,这样才能保证该交易信息能够在区块链中永久保存。
除了最初的几个区块以外,其他的区块都是由矿工节点完成的。数量庞大的矿工每隔一段时间就会对新发生的交易进 行自动采集,并将这些新采集来的交易以区块的形式进行打包。而区块链网络会将每一次新打包而来的区块进行设置,从而更好地保证区块链所记录的数据信息的准 确性。当新的节点被加进来之后,全节点就会对网络中的其他节点下达通知,让其他节点的数据库进行实时更新。这样,区块链就按照时间顺序和交易的不断持续而 逐渐增加。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=767
微信号:qq444848023 QQ号:444848023
加入【我是码农】QQ群:864689844(加群验证:我是码农)
全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试
var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1276413723'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s23.cnzz.com/z_stat.php%3Fid%3D1276413723%26show%3Dpic1' type='text/javascript'%3E%3C/script%3E"));本站资源大部分来自互联网,版权归原作者所有!
评论专区