区块链是怎么样运作的:详解7层架构

当前位置:首页 > 币圈百科 > 区块链是怎么样运作的:详解7层架构

区块链是怎么样运作的:详解7层架构

2022-11-09币圈百科300

我知道区块链是一个无法篡改的分散数据库,或者说是一个分布式账本。有一个小故事可以帮助你理解区块链科技是怎么回事:“咬村的故事”。起初,在一个村庄里,村民们互相交换黄金。后来村民发现直接用金条交易非常不方便。第一,金条容易佩戴;二是金条质量比较重,交易时可能需要随身携带,特别不方便。

蓑衣网小编2022

后来他们提出了一个方法,由一个受人尊敬的村长为大家记账,从村长那里领取金条,记录每个人有多少钱,余额信息记录在村长的账本上。之后村民互相交易的时候,只需要告诉村长自己转了多少钱,比如买牛的时候张三转了多少钱给李四。村长完成交易记录后,转账完成。这就是集中账本,也可以理解为数字货币时代。

但是中本聪发现这个模型可能存在一些问题:

1。中心的信任度。村长可以做假账,增加自己或朋友的余额。普通村民无法监督这样的变化,这样整个市场流通的货币可能会增加,导致通货膨胀。2.这个账本只有村长在这里保管,所以账本的维护可能会有问题。如果账本损坏或其他因素导致历史记录丢失,可能再也找不到了。中本聪提出了分散账本的思想,目的是在没有可信中心的情况下建立一个全国性的账本。这种账本的主要原理就是大家一起记账,每一笔账都需要所有记账人的共识,而且每个人都有这样一个一模一样的账本,这样就不用担心个别记账人的造假或者流失问题了。第一,一个人的假户口本不会被所有人认可;第二,一个人丢失了账本,可以通过别人重新找回账本,恢复所有的历史交易记录。但是这个分布式的账本会有一些问题需要解决:

第一个问题:

账本的一致性,因为每个人都参与记账,如何保持每个人的账本一致是最关键的问题;

第二个问题:

每个人都有这样一个账本,也就是说每个人的交易都是公开的,大概每个人的余额也是公开的。交易能否匿名处理,意味着所有人的资产信息都是隐藏的;

第三个问题:

你如何鉴别一笔交易的真伪?也就是如何防止别人冒名顶替你,花你的钱?

第四个问题

:每个人都记账,记账肯定有消费,需要存储,也需要消耗能量。怎样才能长期留住记账员?针对这些问题,中本聪提出了解决这些问题的一些关键技术,我们将在后面解释。区块链技术架构可以分为七层,自下而上有加密层、数据层、网络层、共识层、激励层、契约层和应用层,每一层都使用一些技术来保证整个区块链系统的正常运行。

加密层

1。哈希函数;

也称为哈希函数,将一段数据压缩成摘要。这个摘要比原始信息小,但是它有一些特殊的属性。首先,它是确定性的。如果相同的输入数据得到相同的输出。基本上是不可逆的。给定一个输出,直接计算输入是不可能的。虽然我们知道有无数的输入会输出相同的哈希值,但是如果哈希值已知,就很难计算出任何输入。“雪崩”效应,只要输入信息的一小部分被修改,哪怕是一个单词、一个字母甚至是1-1位的值,输出的哈希值都会有翻天覆地的变化,这就保证了它的不可逆性。

哈希函数有什么用?

在分布式账本中,为了保证数据的完整性,会使用哈希值进行校验。比如一笔交易,账本的一页(也就是块的概念),哈希后生成摘要,意味着整个块的交易信息不可篡改(也就是摘要不能在之后保持不变 区块链最初的定义或狭义的理解是区块链的形式,它是通过散列连接起来的。每个块可能有许多事务,整个块可以通过哈希函数生成汇总信息。然后规定每个区块需要记录前一个区块的汇总信息,这样就可以把所有区块连成一个链。如果历史中某个块的数据发生了变化,也就是说这个块的汇总值(即hash值)会发生变化,那么下一个块中记录的前一个块的hash也要做相应的修改,以此类推。也就是说,如果要修改历史记录,必须从该点开始修改所有记录,以保证账本的合法性,而哈希函数会增加篡改账本的难度。

2。采用非对称加密技术。

这是相对于对称加密而言的,对称加密使用同一个密钥进行加密和解密,而非对称加密使用一对密钥,分别称为“公钥”和“私钥”。公钥可以公开,私钥由个人存储和维护。用公钥加密的数据只能用配对的私钥解密,用私钥加密的数据也可以用配对的公钥解密。数字签名可以通过不对称加密生成。假设有一笔交易,我转10元。该消息或该事务具有固定的数据格式。这个事务的哈希值(消息摘要)是通过哈希函数计算的,通过用私钥加密得到数字签名。然后,数字签名和该邮件可以同时发送给其他人。别人得到这个消息和数字签名后,可以先计算出这个消息的消息摘要,然后用公钥验证这个签名是不是真的从这个消息摘要计算出来的,再判断这个消息是不是我签名的,有没有被篡改。这就是数字签名的效果。其作用如下:第一,可以确认消息的归属,即可以验证消息是否确实是私钥所有者发送的。只要用相应的公钥验证签名,就可以证明消息是私钥所有者验证后发出的;二是保证消息的完整性。如果邮件被篡改,哈希值将发生变化,并且无法使用相同的数字签名进行验证。非对称加密和数据签名解决了“比特村”的两个问题:一是交易可以鉴蓑衣网小编2022别真伪;第二,可以保证交易的匿名性。现在,不需要实名认证每个人有多少钱。你只需要用公钥作为钱包的地址。花掉公钥钱包里的钱,只需要用相应的私钥签一笔交易,证明自己是钱包的主人。此交易不能被他人篡改或伪造。而且公私钥可以自己在网上生成,不需要在户口本上实名登记。如果没有账本之外的额外信息,没有人会知道某个公钥钱包属于谁,从而达到交易匿名的目的。

数据层

刚才区块的概念可以理解为账簿中的一页记账纸,里面记录了几笔交易。此外,区块中应该包含哪些信息?一是有块高,可以理解为账本的页码;包含前一块的汇总信息,这是为了确保整个区块链链的总账不能被篡改;包含该块中所有数据事务的哈希摘要值。

网络层

网络层使用P2P网络传播消息。P2P网络是一种对等网络,也可以称为无中心的自组织网络。它的特点是没有集中的服务器,在这个网络中任何一个节点既是服务器又是客户端。消息的发送和网络的组织是自发的,整个网络可以无限扩展,任何节点可以随时加入和退出。网络层规定交易如何在区块链系统中传输,以及每个账簿(即块)如何传输。

共识层

是使全网所有记账人的账本一致,也就是说所有交易都有一个顺序,达成完全一致。 具体来说,共识机制主要需要解决以下三个问题:1 .什么,下一块包括哪些交易;2.谁,谁就生产下一块;

3。什么时候,下一块什么时候出;

最常用的区块链共识算法是PoW,字面意思是工作量证明,也就是证明你做了一定量的工作。工作量证明的官方定义是,要求用户进行一些复杂耗时的操作,然后答案能被其他人快速验证。工作期间消耗的时间、设备、能源作为保证成本,保证资源被真正的需求者使用。PoW最初用于反垃圾邮件。在发送一封电子邮件之前,本地需要平均几秒钟的功率计算,以便增加黑客大量发送一些垃圾邮件的成本。对于正常用户来说,发一封邮件是低频操作,一次等待几秒钟完全可以接受;但对于制作垃圾邮件的人来说,成本大大增加。通常,幂是通过散列函数来实现。哈希函数的特点是结果是确定的,但不可逆。知道一个哈希蓑衣网小编2022值或哈希值特征,很难计算输入。如何利用哈希函数实现PoW?假设现在有一条消息,哈希值是确定的。如果规则允许给这个消息添加一个随机数(我们称之为nonce值),然后计算hash,那么这个hash可以随着nonce值的变化而变化。我们可以通过不断尝试不同的nonce值来获得不同的哈希值。当获得的散列值满足某个特征时,例如前三位是0或小于某个数,则随机数值被接受为令人满意的答案。在这个过程中,计算器需要多次尝试才能得到一个合格的答案。条件越严格,需要计算的次数就越多。这个答案在检查端只需要一次哈希计算,就可以知道这个nonce值是不是合格答案。通过使用哈希函数,PoW保证了难以计算,易于验证。

PoW用于比特币端,在块头有一个Nonce值。每个挖掘者都需要不断调整块的nonce值,使整个块的hash值小于某个目标hash(这个目标hash值由难度值决定,难度值越高,目标hash值越小)。这种封锁是合法的。谁先计算出这个合法块,广播到网络上,谁就被别人接受。【POW的优点是工程上非常简单可靠,容易实现。容错率能达到50%,全网计算能力达不到50%。基本上不可能篡改历史记录。这是一个公平的机制,在中本聪的一篇论文中有严格的数据论证。计算能力投入越多,获得记账权的概率越大,产生新块的可能性越大。缺点是效率低,计算能力和能量浪费非常严重。有人统计过,现在整个区块链网络的耗电量超过了一个小国。同时,POW也会出现分叉。可能有几个矿工,同时计算下一个区块。因为哈希值是随机的,所以可能有人在类似的时间内计算过。因为网络的延迟,不同的矿工接受不同的块,然后就出现了分叉。分叉可能需要等待多个区块确认,此交易的确认时间不确定。目前计算能力越来越集中,因为如果一个独立矿工想挖一个区块,你的计算能力可能在全网都很低,挖到下一个区块的概率低到他可能一辈子都挖不到一个区块。这时候最好的选择就是加入某个矿池,贡献你的算力,按照算力份额来分。比如全矿池挖出下一块,下一块的奖励平均分配给全矿池内的算力。这样你加入矿池就可以获得相对稳定的奖励,这也导致计算能力越来越集中在矿池手里。除了POW,共识层还有其他算法,比如POS权限证明,即份额越多,获得下一个区块发布权限的概率越大。简单的理解 早期的POS和POW一样。结合POW,通过计算目前持有的股权比例来确定这个节点的难度。你可能握得越多,需要计算的难度值就越低,就越有可能解出下一个方块。这是早期的POS。后来有人提出了纯POS的想法,完全是由节点的权益决定的区块形成的。这个时候挖矿不需要计算POW,但是现在业内还没有公认的安全可靠的纯POS项目。不过学术界也有一些论文,也提出了一些解决方案。安全性有严格的数据论证,但其工程化非常困难。POS的优势是资源消耗少;共识效率高;公平平等。缺点是实现复杂,安全性需要验证,容易导致马太效应。有钱人越有钱,权益就会越集中,类似POW。上面已经提到了加密层、数据层、网络层、共识层,基本上可以确定一个交易的流程:新交易创建后,通过P2P网络广播给全网所有矿工。矿工验证交易后,会打包成块,然后开始计算PoW。在获得某个nonce值使该块的hash值满足条件后,该块将通过P2P网络广播给所有矿工。在其他矿工核实这个区块合法后,他们将开始计算功率。

激励层

这样的分布式账本系统,需要所有矿工消耗CPU、存储、带宽等资源来老老实实记账。如果完全没有激励,这些矿工可能就没有动力去维持这个体系。比特币的激励机制是,如果一个矿工计算出一个新的区块,这个区块就会产生一些新的比特币,这些比特币连同区块内所有交易的手续费可以归矿工所有。这些比特币是对一个诚实矿工的奖励。如果一个矿工试图修改历史记录或将非法交易打包到一个新的块中,那么这个矿工将浪费他的计算能力,而不是让其他矿工同步他们自己的账簿。这种计算能力的浪费可以理解为对不诚实矿工的惩罚。在公共链中,激励机制是必要的。在联盟链中,所有节点都是经过组织认证的,它们会自发地维护整个系统的安全和稳定,不需要额外的激励。但在公链中,节点可以随时加入和退出网络,无需认证,计费需要消耗CPU、存储、带宽等资源。因此,需要有一定的激励机制来保证矿工在核算过程中能够获利,从而保证整个区块链体系朝着良性循环的方向发展。

契约层

契约层是区块链可编程功能的基础。区块链可以理解为一个去中心化、不可改变的账本,程序代码也是数据,也可以存储在账本里。智能合同是一段不能被篡改并存储在区块链中的程序。它可以自动执行一些预定义的规则和条款,并对收到的信息做出响应。合同解除后,其运维交由全网矿工达成共识。契约的开发者定义了契约运行的规则,公开透明,发布后不可更改。

应用层

运行在契约层,利用契约层的脚本和代码构建去中心化的应用。现在比较流行的应用有众筹的WeiFund,游戏的加密猫,赌博的Fomo3D等。

总结

加密层

是区块链技术的基石,为整个区块链系统的安全性和匿名性提供了保障。

数据层

采用部分数据结构和消息摘要的形式,不易篡改历史数据,保证了数据的完整性。

网络层

,规定了整个网络节点中的通信机制,无需中心服务器即可实现数据共享。

共识层

,通过POW、POS等共识算法保证全网数据的一致性,是区块链技术中的关键。

激励层

是一种经济激励机制,使整个区块链

契约层

提供了区块链系统的可编程性。

应用层

,可以开发分布式应用,丰富整个区块链的生态。区块链的整个发展过程可以分为区块链1.0,即比特币,是一种可信的分布式账本,更多应用于数字加密货币领域;以以太坊为代表的区块链2.0在可信分布式账本的基础上增加了图灵的完全智能契约,基本上所有的程序逻辑都可以用智能契约的形式编写。区块链2.0拓展了区块链的应用场景;区块链3.0,目前没有公认的区块链3.0项目,未来可能在可扩展性或区块链应用上有更大的突破。区块链的技术特点是没有特定的主体,是一个由P2P网络连接的去中心化的全球系统,这确实会给监管带来很多挑战。目前区块链行业比较混乱,需要监管介入,促进区块链行业健康发展,但同时也要避免过于严格的监管阻碍区块链行业的发展。来源:OK区块链工程院

区块链是怎么样运作的:详解7层架构 | 分享给朋友: