区块链的工作原理

点击“清风赚客”关注公众号获取最新信息

作者 | 清风赚客

一个真正教你赚钱的公众号

编辑|清风

编辑 |

目前300000+人已关注加入我们

正在浏览此文章

清风工作室

〢简介〢

清风赚客社群是由一个网赚老司机建立的网赚项目研究分享社群,专注于最新最暴利偏门项目的研究、分享。为大家提供一个抱团取暖的项目分享圈子,目的是让草根小白能更快的赚钱,让一些真正热爱网赚,想在互联网创业、赚钱、的人可以用最少的时间和最低成本找到适合自己的项目,互相对接资源,让社群人脉得到最大的价值释放!

区块链(1.0)是一个基于密码学安全的分布式账本,是一个方便验证,不可篡改的账本。通常认为与智能合约相结合的区块链为区块链2.0, 如以太坊是典型的区块链2.0。

区块链的工作原理是什么?,区块链究竟是如何工作的呢?能不能一看就懂呢?坚持看完这几张图你就彻底懂了!

如图所示,我们假设甲和乙之间要发起一笔交易,甲先发起一个请求——我要创建一个新的区块(一个新交易),就会被广播给网络里的所有用户,所有用户验证同意后该区块就被添加到主链上。这条链上拥有永久和透明可查的交易记录,也就是我们说的时间戳。全网一本账,每个人都可以查找。

区块链技术实际上是一个分布式数据库,在这个数据库中记账不是由个人或者某个中心化的主体来控制的(例如你的资产是被银行数据中心记录的,你的信用被芝麻信用记录着),而是由所有节点共同维护、共同记账的。所有的单一节点都无法篡改它。

如果你想篡改一个记录,你需要同时控制整个网络超过51%的节点或计算能力才可以,而区块链中的节点无限多且无时无刻都在增加新的节点,这基本上是不可能完成的事情,而且篡改的成本非常高,几乎任何人都承担不起。这也就是非常安全的。

区块链的四大特点

1. 去中心化:在一个去中心化的金融系统中,没有中介机构,所有节点的权利和义务都相等,任意节点停止工作都不会影响系统整体的运作。

2. 去信任:系统中所有节点之间无须信任也可以进行交易,因为数据库和整个系统的运作是公开透明的,在系统的规则和时间范围内,节点之间无法欺骗彼此。

3. 集体维护:系统是由其中具有维护功能的所有节点共同维护的,系统中所有人共同参与维护工作。

4. 可靠的数据库:系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。

很多人只了解过比特币,不知道区块链,比特币实际是一个使用了区块链技术的应用,只是比特币当前太热,把区块链技术的光芒给掩盖了。区块链才是未来,期望大家少关心币价,多关心技术。

本文将讲解区块链的工作原理即区块链是如何记账的。

哈希函数

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

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

原始信息可以是任意的信息,hash之后会得到一个简短的摘要信息。

哈希函数有几个特点:

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

- 原始信息任何微小的变化都会哈希出面目全非的摘要信息

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

举例说明:

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

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

可以看出哈希函数有4个作用:

简化信息

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

标识信息

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

隐匿信息

账本是AC4635D34DEF这样一条记录,原始信息被隐匿。

验证信息

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

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

区块链记账方法

假设有一个账页序号为0的账页交易记录如下:

记账时间为: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值发生变化,这样在验证时就无法通过)的总账本。

清风老师唯一微信

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180804G0IE4900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券