区块链中的记账原理讲解

news/2024/7/7 22:13:17

链客,专为开发者而生,有问必答!

此文章来自链客区块链技术问答社区,未经允许拒绝转载。

在这里插入图片描述

很多人只了解过比特币,不知道区块链,比特币实际是一个运用了区块链技术的应用,只是比特币当时太热,把区块链技术的光辉给掩盖了。区块链才是未来,期望各位开发人员少关怀币价,多关怀技术。

本文将解说区块链1.0技术是怎样实现的。

哈希函数

在讲区块链记账之前,先说明一下哈希函数。

哈希函数:Hash(原始信息) = 摘要信息

原始信息可所以恣意的信息, hash之后会得到一个简略的摘要信息

哈希函数有几个特点:

相同的原始信息用同一个哈希函数总能得到相同的摘要信息

原始信息任何细小的改动都会哈希出面目全非的摘要信息

从摘要信息无法逆向推算出原始信息

举例说明:

Hash(张三借给李四100万,利息1%,1年后还本息 ……) = AC4635D34DEF

账本上记载了AC4635D34DEF这样一条记载。

可以看出哈希函数有4个效果:

简化信息

很好理解,哈希后的信息变短了。

标识信息

可以运用AC4635D34DEF来标识原始信息,摘要信息也称为原始信息的id。

躲藏信息

账本是AC4635D34DEF这样一条记载,原始信息被躲藏。

验证信息

假如李四在还款时诈骗说,张三只借给李四10万,两边可以用AC4635D34DEF来验证原始信息

哈希函数的这4个效果在区块链技术里有广泛的运用。

(哈希函数是一组函数或算法,今后会发文章专门介绍哈希)

区块链记账方法

假设有一个账页序号为0的账页生意记载如下:

账号入账出账余额备注说明

王二100 190收到xxx货款

张三 10030xxxx

李四12090170xxxx

记账时间为:2017-10-22 10:22:02

区块链在记账是会把账页信息(包含序号、记账时间、生意记载)作为原始信息进行Hash, 得到一个Hash值,如:787635ACD, 用函数表明为:

Hash(序号0、记账时间、生意记载) = 787635ACD

账页信息和Hash值组合在一起就构成了第一个区块。

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

在记第2个账页的时分,会把上一个块的Hash值和当时的账页信息一起作为原始信息进行Hash,即:

Hash(上一个Hash值、序号1、记账时间、生意记载) = 456635BCD

这样第2个区块不仅包含了本账页信息,还直接的包含了第一个区块的信息。依次按照此方法持续记账,则最新的区块总是直接包含了全部之前的账页信息。

全部这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只要验证最终一个区块的Hash值就相当于验证了整个账本),不行更改(任何一个生意信息的更改,会让全部之后的区块的Hash值发作改动,这样在验证时就无法经过)的总账本。

记账有成本,想了解节点为什么要记账,请看这篇:在比特币怎样挖矿-工作量证明


http://lihuaxi.xjx100.cn/news/237657.html

相关文章

连信的会话加密密钥协商过程

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ 介绍连信会话加密密钥的协商过程。” 公号内之前已经对协议的框架和协议内的数据格式进行了介绍,有需要可以回顾下: 连信协议整体框架 连信的protobuf数据格式 本文对连信的会话加密密钥协商过程进行介绍…

为什么大家都推荐我学Linux

2019独角兽企业重金招聘Python工程师标准>>> 最近朋友总是推荐我去学Linux,我本人虽说是计算机专业的,但是我感觉在上学的时候好像还真没学到东西,现在也是干着一份与计算机半毛钱关系都没有的工作。朋友总是说Linux多好&#xff…

访问gmail_Gmail中我的联系人在哪里? 快速查找和访问它们。

访问gmailIf youre still getting used to the new Gmail, you might be wondering where your contacts went. Fear not - theyre easy to find once you know where to look.如果您仍然习惯于使用新的Gmail,则可能想知道联系人的去向。 别担心-一旦您知道要看的地…

利用Oracle GoldenGate记录源系统所有表的操作

通过goldengate,可以实现目标表和源表不同结构之间的实时复制,包括记录源系统所有表的变更操作,供ETL或其它审计系统使用。 记录信息包括表名、操作时间、操作SCN,事务标记,操作类型到一个流水表。用于后续ETL处理过程…

讲解核算机的单位

链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载。 现在先在前面讲一下核算机的单位。 位:“位(bit)”是电子核算机中最小的数据单位。每一位的情况只能是0或1。 字节&#xff1…

后端说:只是你不懂怎么用 headers!

事情是这样的,上一个项目我们的后端提供的接口,一次性返回了所有数据给我,分页功能是前端自己完成的。 那么这次来的新项目,换了个后端,写了另外的接口,我做项目的时候,还是用的之前的前端分页组…

UC浏览器代理流量解密

点击上方↑↑↑蓝字[协议分析与还原]关注我们“ 解密uc浏览器的安全代理流量,看看是不是真安全。”作为一个从上古网络时代过来的人,一定对UC浏览器有深刻印象,它的流量透明代理功能,就是现在的云加速功能,使用UC的服务…

Centos7.x系统配置上的变化【转】

安装CentOS 7后,一开始有点儿无力吐槽的感觉,变化这么大? 一:Runlevel 二:Services 三:网络 四:ip ss指令替代 ifconfig route arp netstat 五:nmtui配置基本网络连接 六&#xff1a…