区块链节点为什么记账?

如题所述

第1个回答  2024-09-05
区块链记账原理

区块链是由一个个区块构成的有序列表,每一个区块都记录了一系列交易,并且每一个区块都指向前一个区块从而形成一个链条。

区块链有以下几个特征:

区块链具有不可篡改的特性,是由哈希算法保证的。

什么是哈希算法/Hash:

安全哈希算法的特点:

哈希算法的作用:

假设我们相信一个安全的哈希算法:如果H(x)=H(y),则x=y

常用的哈希算法:

比特币使用两种哈希算法:

假设这个区块有5笔交易,首先,对每一笔交易进行第一hash,也就是2次SHA-256的运算,得到5个哈希值,也就是a1、a2、a3、a4、a5,这五个哈希值也可以看做是数据,将a1和a2拼起来、a3和a4拼起来,再计算出2个哈希值b1和b2。那a5怎么办呢?答案是将a5复制一份在与a5拼起来进行哈希计算得到b3;继续将b1和b2拼起来进行哈希运算得到c1,同样的b3会被复制一份再与b3拼起来进行哈希运算得到c2;最后将c1和c2拼起来进行哈希运算得到最终的哈希值,这个哈希值就是MerkleHash。

从MerkleHash的计算方法可以得出结论:修改任意一笔交易,哪怕是一个字节,或者交换两个交易的顺序,都会导致MerkleHash验证失败,也就会导致这个区块本身是无效的。所以MerkleHash记录在头部,它的作用就是保证交易记录永远不能够被修改。

区块本身用BlockHash来标识:BlockHash是区块唯一标识。一个区块的hash并没有记录在区块头部,而是通过计算区块的hash得到的。

区块的PrevHash记录了上一个区块的Hash,这样就可以通过PrevHash追踪到上一个区块,由于下一个区块的PrevHash又会指向当前区块,这样每一个区块的PrevHash都指向上一个区块,这些区块串起来就形成了区块链。如果一个攻击者恶意攻击了某一个区块的交易记录,那么这个区块的MerkleHash验证就不会通过,所以攻击者只能重新计算MerkleHash,然后把区块头的MerkleHash也修改了,但是这个区块本身的Hash已经改变,那么下一个区块指向该区块的链接也断掉了。由于比特币区块的hash必须满足一定的难度值,所以攻击者只能把后面所以区块全部重新计算,并且伪造出来,才能修改整个区块链。

修改一个区块的成本已经非常高了,如果要修改整个区块链,那么其成本非常非常的高昂。在比特币网络中,伪造区块链需要拥有超过51%的全网算力。所以比特币网络运行了6年,从来没有被攻破过。

区块链的雏形——分布式记账

一个小故事助你理解区块链的雏形——分布式记账:

在一群小岛上居住着一群和善的居民,在漫长的岁月里,他们把贝壳作为信用中介,以它作为等价交换物换取自己需要的食物,一千年过去了,岛上出现了一个大汉,大汉要求大家同意把他家树上的叶子作为唯一的信用中介。

试图反抗的人都被扔到了海里喂鱼,善良的人们很快被驯服。

慢慢地,大汉家里的叶子成了岛上的等价交换物,岛民必须先用物品换取叶子,再用叶子去交换其他生活物品。日子一天天过去了,每个人手里的叶子越来越多,但买到的东西却越来越少,除了大汉和他的手下,很多人过得紧巴巴的。

直到有一天,其中一个岛民漂流到另个小岛上,发现这个岛上的交换方式与自己岛上的不一样。他们并不使用叶子,而是共同记账。所有岛民将自己的来往账目记在一个账本之上,所有的交易都在账目上用数字表示。只要得到6个人的认可,大家就认为这个账目是对的。

如果这个人想去买东西,那么只须在上面划账,就可以拿走商品。这种新方式比用叶子作为中介更简单方便。如果选择这种方式,小岛上所有的人不需要叶子就可以自由交易同时,因为账目是公开的,所以每个人都可以对账单进行检查,这也就杜绝了造假的可能。

这样一种共同记账的方式,有着比特币的影子,也是区块链技术的雏形一一分布式记账。小岛上的6个人相当于6个节点,每个节点都维护着自己的一个账本,账本记录着小岛上岛民的一笔笔来往交易。

区块链一般概念摘要

虽然是个前端开发,但是阻挡不了我八卦各种热门的心。下面简单汇总下一些学习到的概念性东西。

1、区块链技术随比特币诞生,因此先了解比特币概念

2、比特币是什么

(1)、基于分布式网络的数字货币

3、比特系统运行原理

(1)、所有节点都会保存完整账本

(2)、账本保持一致性

4、区块链记账原理

hash函数在区块链技术中有广泛的运用

(1)、哈希函数hash:任何信息hash后会得到一个简短的摘要信息

(2)、hash特点:简化信息、标识信息、隐匿信息、验证信息

(3)、区块链记账会把时间节点的账单信息hash,构成一个区块

(4)、比特币系统约10分钟记账一次,即每个区块生成的时间间隔大约10分钟

(5)、记录下一个账单时,会把上一个区块的hash值和当前账单的信息一起作为原始信息进行hash

(6)、每个区块都包含了之前区块的信息,这些区块组合成了区块链

5、比特币的所有权-非对称加密应用

比特币系统使用了椭圆曲线签名算法,算法的私钥由32个字节随机数组成,通过私钥可以计算出公钥,公钥经过一序列哈希算法和编码算法得到比特币地址,地址也可以理解为公钥的摘要。

(1)、转账是把比特币从一个地址转移到另一个地址

(2)、地址私钥是非对称的关系,私钥经过一系列的运算(其中包含两次hash),就可以得到地址,但是从地址无法得到私钥

(3)、转账成功后广播其他节点,其他节点验证成功后再转发到相邻的节点,广播的信息包含了原始的信息和签名信息

(4)、验证,其他节点验证签名信息是不是付款方用私钥对交易原始信息签名产生的,如果是才记录(再验证有足够余额)

6、比特币如何挖矿

(1)、完成记账的节点可以获得系统给予的一定数量比特币奖励(这个奖励过程也就是比特币的发行过程,因此大家把记账称为挖矿)

(2)、一段时间内只有一人可以记账成功,因此需要收集没有被收集的原始交易信息,检查有没有余额、正确签名

(3)、为了提高记账难度,十分钟左右只有一人可以记账,hash结果需要若干0开头,并且进行hash时引入随机数变量

(4)、随着更多矿工的加入,游戏难度越来越大,计算难度加大,电力损耗等加大,国内电力成本低,中国算力占整个网络的一半以上

(5)、网络中只有最快解密的区块,才会添加到账本中,其他的节点复制,保证账本的唯一性。如果有节点作弊,导致整个网络不通过,则会被丢弃再也不会记录到总账本中。因此所有节点都会遵守比特币系统的共同协议。

【关于区块链会延伸到那些领域的思考】:

由以上的概念可以总结出,区块链技术存在这安全性、唯一性、去中心化。

原则上是可以避免部分信息泄露,让确认方既可以确认你的身份,又无需暴露自己的真是用户信息等。

目前区块链技术集中被运用再比特币,我觉得后续更大的意义应该在需要数据私密性、安全性的领域。

【关于区块链目前发展的瓶颈和局限性思考】:

由于每个节点都参与了整个账本记录活动,难免造成资源的浪费和损耗。以及加大了每个节点的计算难度,后续的发展和普及需要每个节点的硬件提升。

区块链技术通俗讲解本质是分布式账本

什么是区块链技术?简单解释一下区块链是什么。2019年伊始,一种新的货币开始进入数字货币的行列,并逐渐吸引了众多数字货币玩家的目光,那就是区块链科技。但是有人发现网上关于它的消息真的少得可怜,这不仅引起了很多人的疑惑,这是什么,为什么这么神秘?区块链是比特币最早的基础技术,目前全世界都在研究,可以广泛应用于金融等各个领域。

基本原理编辑

区块链的基本原理不难理解。基本概念包括:

交易:导致账簿状态发生变化的操作,如增加一条记录;

区块:记录一段时间内发生的交易和状态结果,是对当前账簿状态的共识;

链式:由块按照发生顺序串联而成,是整个状态变化的日志记录。

如果把区块链看成一个状态机,每一次事务都是一次改变状态的尝试,而每次协商一致产生的块就是参与者。

阐述编辑

用通俗的话来阐述:如果我们假设数据库是一本账本,那么读写数据库就可以看作是一种记账的行为。区块链技术的原理是在一段时间内找出最快最好的记账人,这个人来记账,然后把账本上的这一页信息发给整个系统的其他所有人。这相当于将数据库中的所有记录都进行了更改,并发送到整个网络中的每一个其他节点,因此区块链技术也称为分布式账本。

区块链入门(一)——大家一起来记账

小时候,我对许多新奇的事物都很好奇,充满渴望想去了解学习,那时自己的脑回路里经常会出现无数的惊叹号。随着年龄的增长与经历的丰富,这种体验越来越少,也对很多人云亦云的新东西见怪不惊。当“区块链”第一次出现时候,自己完全被吸引住了,之后像小时候一样,本能般地被驱动着去深入学习与了解,发现“区块链”就是一个新世界,是即将到来的未来。

第一次听到“区块链(Blockchain)”三个字,是在李笑来老师的《通往财富自由之路》的专栏上,之后多次在专栏文章里看到这个词汇的出现。出于好奇,关注并阅读了了老猫的公众账号《猫说》上的文章,逐渐对区块链有了从0到1的认识。block-块,chain-链,blockchain-把一个一个的块连成链,想象一下DNA在面前无限延伸的样子.....

这段是百度百科上面对区块链的一个解释,换个通俗点的说法,区块链是一种公开、去中心化、去信任的,共同维护的账务系统。

先来看看传统的中心化的银行商业模式。我们在做交易的时候,为什么需要银行、阿里巴巴、腾讯等第三方中心化公司?因为人与人之间是不信任的。A今天借给B100块,明天B不承认这笔借款,A怎么办?银行帮忙解决了这个问题,每个人在银行里创建一个实名认证的户头,借助这个中心化公司,A借给银行100元(存),B从银行拿出100元(取/借),那么银行负责对这笔交易进行记录,A的账户就会多100元,而B则少100元。这样的依靠第三方中心化公司记账的方式在我们生活中随处可见:网购我们需要阿里巴巴的淘宝城和京东;贷款我们需要找靠谱的小贷公司;发行新书要通过某个出版社……归根结底,是因为人与人之间不信任,或者说要维持信任的风险太大,成本太高,所以我们需要这样的中心化的强大的第三方公司来给交易进行信任背书,让它们来承担这些风险,当然,它们也赚足了我们的钱。可是倚靠第三方中心化的商业模式给我们带来的却是低效的服务、繁琐的程序以及价值的分流,例如银行排队办理业务,小贷公司的放贷流程,淘宝、京东对商家的收租,出版社对作家稿费的分羹等等。这就是目前我们所处的中心化的,第三方信任化的世界。

而区块链世界,则是一种新的世界,这里不需要第三方,所有的交易信息都是公开的,并且所有人都参与记账!比特币作为世界上第一个被实证可行的区块链应用,就是运用自动记账且账务公开,信息不可篡改,随时可查询的技术颠覆了传统金融模式,绕开了第三方中心化,买卖方直接进行交易。这样的交易模式一定是高效的,低成本的,并且公开化的。试想一下如果区块链技术未来普及,当你要转账一笔大数额的金钱给国外的朋友,略过冗长的环节,瞬间到账;如果你写了一本书发表,不用担心被人盗版,也不用被出版社赚取属于你的稿费;人与人之间直接搭建点对点的互助保险平台,保险公司将变成咨询公司等等。(事实上,比特币与Press.one正在实现这样的颠覆)

当下互联网蓬勃发展,外勤我们有滴滴打车或共享单车,叫餐我们选择饿了么,餐厅就餐有大众点评,到处都是微信、支付宝的便捷支付。我们在互联网上进行支付的时候,需要倚靠一个买卖双方都信任的第三方平台公司来替我们完成这笔交易。这些第三方公司拥有大量的交易数据以及交易双方的信息,那么,如果发生黑客入侵造成信息丢失,我们将为我们的“信任风险”承担后果;且不提在审核、清算交易数据带来的拖延不便,以及管理这样庞大的数据所要耗费的巨大成本。

那么区块链技术是怎么实现的呢?打个比方,假如有一支军队要去抢占敌方的堡垒,而每一个士兵都带有一个特殊的头盔,头盔有一个红色按钮,每占领一个堡垒,本军总部给予勋章奖励。首先,有一位士兵A率先占领了第一个堡垒1,他通过头盔对其他战友宣布自己已经占领堡垒1,这时候头盔就会把堡垒1的坐标信息记录下来,连同A的喊话一起传递给其他所有士兵,其他人通过头盔听到A的喊话并按下后按下红色按钮表示已经同步记录了这条信息。那么所有人都知道堡垒1已经被A占领,并且A获得勋章奖励。于是其他人就会立马去攻占其他的堡垒,并且按同样的方式广播自己的战功。这样,这场战役中不同堡垒被不同士兵攻占的信息就全部保存在每一个人的头盔中。在这里,头盔就是这个公共账本(严格来说是头盔的程序),所有人都参与记账;每个攻占信息都构成一个区块,所有的信息按照一定顺序排列就构成了一个区块链;参与者除了记账(按下红色按钮),还要争先恐后去抢夺新数据的打包权(攻占堡垒)。

那么来看看这种共同记账方式的优势。1,去中心化。账本是大家共同记录维护的,到底是谁首先记录无所谓,因为有激励(勋章),就会有人去做,不需要第三方介入(不需要将军或是作战部的指挥,减少军队开支与指挥者牺牲的风险)。2,数据不可篡改。已经记账的数据如果要修改,必须修改超过51%的节点信息才能成功。试想一下,这个军队如果有百万人(实际上区块链节点数量远远大于这个数),要修改超过一半军队的头盔,这是个几乎不可能完成的任务。3,信息公开透明。所有人都可以在自己的账本中查询到这条交易信息(所有堡垒攻占信息都已记录在所有人头盔里)。

这是我开始迈向写作的第一篇文章,上一次写这么多字应该是在高考场上了。第一篇文章写的是从来没接触过的新的领域,文字有点混乱平庸,也不知道自己做的类比正确与否,不过终究开始去做了。写作确实是人人都应该具备的技能,并且是可刻意练习而提高的技能,督促自己维持下去。

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网