区块链记账流程

Posted ZhangJiQun.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链记账流程相关的知识,希望对你有一定的参考价值。

目录

区块链和BTB 区别:

BTB的价值:

区块链形象比喻

区块链记账流程

区块链块问题,页码

出块和记账本页码生成

分叉和记账本页码重复


区块链是一个分布式的去中心化系统,每一个系统里面有很多的节点。每一个节点就相当于存储所有区块数据的每台电脑或者服务器终端。

所有新区块的生产以及交易的验证与记账,并将其广播给全网同步,都由节点来完成。

简单的来说,节点就是埋头干活的,而且公链上所有的节点都会抢着干活。因为只有拥有优先记账权,才能享受到系统的加密货币奖励。而拥有优先记账权的节点,就被称为超级节点或者共识节点

那么超级节点是如何竞选的呢?

首先,参与竞选的候选者会质押一部分代币,在系统之中作为“押金”,系统收到“押金”后,这个节点就称为候选节点。此时,候选节点的拥有者就能够为自己的节点进行拉票,通常投票者使用手中的代币为候选者进行投票

这种投票机制类似于股份制公司,普通股民不能充当决策者,所以他们需要通过投票选举的方式推选出“人大代表”来替他们做决策。而“人大代表”的数量则是由白皮书决定。

以EOS为例,每轮EOS将产生21名“人大代表”,被选中的超级节点将为区块链网路提供算力和宽带支持。他们的主要任务就是收集交易信息将其打包进区块,并将区块广播给其它节点通过验证后再将区块上传至区块链,然后获得相应的奖励。从经济利益的角度看,成为超级节点具有巨大的经济价值。

EOS白皮书中原计划每年增发5%,以总量10亿EOS计,每年将有5000万EOS通过超级节点挖矿产生。因此,超级节点的挖矿效益是巨大的,随着代币价格的提升挖矿效益将进一步放大,这也是各方积极参与到超级节点竞选的主要原因之一。

区块链和BTB 区别:

区块链一门技术或者说是架构:实现去中心的数据库,数据库公开透明,源头可追溯

BTB的价值:

有人总是疑问凭空创造的货币有什么价值,它可以代替美联储和中国银行,他是世界银行,你说他有没有用,有没有价值。

区块链形象比喻


        区块链就像一条不断在吃掉外界给它食物的的贪食蛇,游戏里会不断的有新的食物出现,而蛇只有一条,它会不断的把出现在游戏里的食物按时间出现顺序吃掉。食物可以来自四面八方,但蛇只有一条,而且这条蛇存在于每台电脑里,它永远都不会死掉。

        区块链的世界里就是不断的生成交易等信息区块,然后不断的连成一个链条的过程。而连成链条的最重要目的就是为了确保交易后形成的区块数据不会被篡改,大家都可以看,但是你改不了里面的内容。

区块链的初衷就是为了去中心化,取代银行等中间商记账带来的弱点和金融缺陷。

区块链记账流程

以前所有的交易都经过银行,银行会手续一定的手续费,例如转账手续费,管理银行账户手续费,或者拿银行的钱再投资再生钱等。现在没有了银行,怎么解决这个问题呢?

去中心化的区块链记账方式如果想要获得全网的人的认可,有两个问题是避不开的。

  • 1、既然去中心化了,那肯定不能只保存在单一的地方,而是让全网的人有平等的拥有保存账本的权利。
  • 2、记账的权利;以前是银行记账,有国家背书,大家信的过,可现在是去中心的记账,那么就必须确保所有的参与者都有记账的权利,而且所有人记得账必须一样,大家都认可才行。

要完成第一个目的并不难,前面也说过,账本是存在每个电脑里的分布式账本,但是要做到第二点就很难了。

A和B两个人都有区块链的电子钱包,假设A给B转账了10个数字货币,那么区块链的系统里就会先生成相应的数据块。然后把交易的信息广播给全网的记账人知道。

到了这步,全网有无数的记账账户,那谁来把这笔区块交易记录下来,并把这个区块确定放在主链路也就是贪食蛇的身上呢?

因为每个记账的账户在物理位置都是不一样的,广播出去的信息到每个账户接收到的时间点也不一致,有点慢有点快,就像你把信件从北京寄到河北跟寄到新疆一样,存在延时的问题。

这样同一笔交易信息,不同的人记录总会存在区别,而我们的区块链允许这样的差别,也就是同一笔交易的信息指允许一种形式存在,并且你的记录需要被全网的其他账户所认可后,这笔交易信息最后才会以块的形式加入到主链路区块链中去。

如何解决全网参与记账,又不使记录千差万别呢?

中本聪想到了一个办法,打造了一种区块链的共识机制,也是第一代区块链的工作量证明(POW)机制。

既然要全网的记录一样,又要全网所有的人一起参与记账,那就公平竞争吧。

区块链会在交易广播出来的同时,给到每一台记账电脑一个算术题和一个随机值,这是一道概率的算术题。

只要你的电脑在全网里首先算出这道题,那么你这个账户就具有在全网唯一记录这笔交易区块的权利。

当你把这笔交易记录在自己的账本以后,你也会把这个消息告诉给其他全网的成员,其他成员在核验你这个记录没有错的时候,就会把你的这个记录交易区块也加到自己的账本中。

这样就实现了区块链账本的唯一性,同步性和安全性。

区块链是一个特殊的分布式数据库,同样存在于网络中,存在于区块链网络中的每台电脑里。

你可以把

区块链想像成一个个账本,每个人都有一个同步更新的账本,账本里的

每一页就相当于一个区块,每当网络里有新的交易时,就会形成新的一页,这一页就是新的区块。

每个区块里都记满了交易信息,区块按照交易时间一页一页的排序下去,相当于用链条稳定的链接在一起。

区块链块问题,页码

有的小伙伴会疑问为什么不是第 3 个区块呢?原因是区块链的还有一个区块高度为 0 的区块,也就是创世区块。它的页码为 0,因此到页码为 3 的区块时,是代表着它的前面有3个区块,也叫做区块的祖先数量。而它自己是这条链的第 4 个区块。

出块和记账本页码生成

区块链竞争的是区块(一页,1M大小)的记账权利,不是一条记录;

在搞明白什么是区块高度之后,大白再继续和大家说说区块高度是怎么形成的。在挖矿机制的区块链中,区块链这个记账小本本的页码是矿工竞争得到的。比如当前的区块高度是 3,当幸运的矿工解决计算难题后,就会得到页码为 4 的那页记账本(即区块高度为 4 的区块)的记账权利,并会获得一定的奖励。

此时这个区块就会记录着被这个矿工打包并且已经确认过的交易。当这一个区块已经形成后,矿工们又会在区块高度为 4 的区块上继续竞争得到区块高度为 5 的区块。


分叉和记账本页码重复

矿工通过解决计算难题去得到下一个区块的记账权利,

假如当前的区块高度是 2,当两个幸运的矿工同时解决了计算难题,那么就都会获得区块高度为 3 的区块的记账权。

这就相当于说,矿工小白拿着页码为 3 的一页纸,矿工小黑也拿着页码为3的一页纸,虽然小白和小黑的纸的页码是一样,但是两张记账纸记录的内容却不是完全一样的。

可是按规则来说,小白和小黑的这两页纸都是没有问题的,那么到底选哪一张记账纸呢?这个时候,一些矿工会选择小白的这页纸订在记账本的后面,继续去“寻求”页码为 4 的那页记账纸,而有的矿工会选择小黑的那页纸订在记账本上再继续去“寻求”页码为 4 的那页记账纸。

这样就相当于在页码为 2 的那页纸的地方,分成了两个记账本。在区块链中,把这种行为叫做分叉可是在区块链中有一个“最长链原则”,矿工们会选择最长的那条链作为主链继续挖矿。比如在继小白那条链之后,小红先挖到区块高度为 4 的区块,那么小黑那条链将会被舍弃,矿工们都会选择在小白这条链上继续挖矿。

前面是用区块高度去标识某一笔交易到底属于哪个区块 。可是现在就出现了两个区块高度一样的区块,那怎么去标识呢?

实际上在区块链中,采用的是区块哈希去唯一标识一个区块,而不是区块高度。因为即使区块高度一样,区块里面记录的内容也并非完全一样的,这样一来区块的哈希(由区块内容求得)就一定不是一样的,所以可以用区块的哈希去唯一标识一个区块。

总结而言,区块链就像是一个记账本,而区块就像是这个记账本里面的一页页记账纸,区块高度就是记账纸的页码,当同时出现两个相同页码时就会发生分叉。

以上是关于区块链记账流程的主要内容,如果未能解决你的问题,请参考以下文章

区块链记账原理

浅谈区块链

区块链及技术栈概述

区块链技术区块链入门详解①

区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码

区块链项目实战 - 使用以太坊/智能合约solidity,全栈开发区块链借贷记账小应用,含完整源码