在我们小时候的农村,每个农村都会有一个会计,负责记录这个村子的收入和指出,一般会选村子里面上过学的人来担当。村子里面的开支和收入都由这个会计来记录,每一笔账都要记录,没有人会查这个账目,每个人都不会怀疑这个账目的 正确性,村里每个人都对会计很是尊重。年底的时候,会计会给村民公示一个账目表,上面详细记录了村子一年来所有的收入和支出,包括最后的结余。作为村里的会计,可以不用参加村子的集体劳动,而且村子里还会给他一些工资,作为替大家记账的报酬,因此大家都很羡慕村里的会计先生。

刚开始会计记得也是很认真,村名也没有查过,大家相安无事。后来由于会计发现了一些漏洞可以把一部分钱归为己用,于是在账目上做了手脚。总于有一天有人发现那个账本上的数字对不上,这可不行,大家都不干了,于是大家商量了一个解决办法:大家轮流记账。这个月张三记账,下个月李四记账,第三个月王五等以此类推。这样账本就不会一直放在一个人的手里。一切有都相安无事了。

过了一段时间,李四想挪用公款,但又担心被其他人发现,于是就偷偷的撕掉一部分账本,然后对其他人谎称账本被老鼠啃了。果然,大家虽然发现有些不对,但也无可奈何。可是不久后,王五也说账本不小被烧掉了一部分;赵六说账本被儿子撕去折纸去了。大家一看这也不行,于是大家就重新坐下来在此商量一个新的办法,经过一番讨论,大家决定每个人都有一本账本,每个人都要记账。任何一个人改动账本都要通知其他人一起修改账本。如果有人发现账本不对,就拒绝接受。这样年底的时候按照大多数人一致的账本为准。

果然使用这个方法后,很长一段时间,都没有出现过问题。即使有人真的不小心损坏了一部分,那么只要从其他人那里复制一份就可以了。

但是时间一长,就又有新的问题了,有的人比较勤快,有的人就比较懒惰。懒得人就慢慢不再记账了,反正又勤快的人记账,最后我复制一份就可以了。那么勤快的人就不乐意了:凭什么就我一个人记账。

于是大家又想了一个办法,每天掷骰子,被选中的人来记账,其他人负责核实一下就可以了,如果没有问题的话,直接复制过来就可以了。经过几次的调整以后,大家就都接受了这样的记账方式:大家共同记账,这样就不怕账本丢失了,而且还规定,每天被选中记账的人,可以得到一些额外的奖励。

以上就是区块链的雏形!

区块链在本质上就是一种记账的方法,当然不是通过人来记账了,而是通过软件来记账,就是区块链终端。它们运行在不同的设备上,彼此独立工作,而又彼此互联。我们把每个终端称为“节点”。在区块链的网络中,每个节点都维护者自己的一个账本,账本中记录的这个网络中发生的每一笔账目。网络中的账目都是独立记账的,但是网络中的每一个节点的账目都是一致的。

为了保持一致他们设定了一个规则:通过这个规则选出一个记账目的节点,如掷骰子。其实也是大家够遵守筛选方案。通过这个方案选出的节点负责记账,记录完成之后,通过网络广播出去告诉其他的节点更新一下自己的账目记录就可以了。

在有些系统中,会考虑节点记录的劳动付出,毕竟他要负责整理数据,然后在通知其他节点,这个活也是不容易的。就是就会给这个节点一些奖励。在软件的角度其实就是一组数据。

有时候每个节点会很积极的争取那个奖金,希望选中自己,有些区块链系统中会涉及出一种竞争机制,让各个节点去抢,谁能抢到这个机会谁就能获得打包数据的权力同时获得奖励。这种情况下这个竞争过程就被称为“挖矿”。

参考-《白话区块链》

区块链:形象的比喻-快速理解什么是区块链?相关推荐

  1. 原型链的理解_javascript之快速理解(原型链)

    希望通过比较通俗易懂的讲解和简短的文字,让大家能快速理解什么是原型链,如果有不对的地方也请各位大佬快速纠正,一起共勉,使我们初学者快速进阶! 话不多说,我们切入正题,按着我的步骤一步一步往下看,或许你 ...

  2. 分享实录|区块链技术如何快速落地

    十年前,中本聪发表了一篇论文,此后有了比特币,也就是说先有比特币后有区块链,要想了解区块链,我们需要先了解比特币和这位非常重要的人物-中本聪. 在大家看来,中本聪首先是一个计算机专家,其次是一位资深的 ...

  3. BlockChain:Python一步一步实现(流程最清楚)区块链底层技术流程图(理解一目了然,值得收藏)

    BlockChain:Python一步一步实现(流程最清楚)区块链底层技术流程图(理解一目了然,值得收藏) 导读 基于Python编程,实现一步一步实现(流程最清楚)区块链底层技术流程图,理解一目了然 ...

  4. 云图说丨华为云区块链引擎服务:高安全的区块链技术服务平台,轻松部署,快速上链

    摘要:华为云区块链引擎服务以BCS自主研发区块链内核为底座,结合可信硬件,具有高安全.高性能.高可扩展.强隐私保护等特点,满足企业级和金融级的可信和协同要求. 本文分享自华为云社区<[云图说] ...

  5. 浅谈我对元宇宙、Web3、区块链与NFT的理解

    这段时间周围越来越多的人入局元宇宙,也时不时传出身边的造富神话,大家都在聊着我听不懂的词,因为很早之前读研期间的研究方向就是区块链,技术上是了解的,但是对它的商业理解完全为空,通过获得的二手信息只觉得 ...

  6. 初识区块链——用JS构建你自己的区块链

    初识区块链--用JS构建你自己的区块链 区块链太复杂,那我们就讲点简单的.用JS来构建你自己的区块链系统,寥寥几行代码就可以说明区块链的底层数据结构.POW挖矿思想和交易过程等.当然了,真实的场景远远 ...

  7. 【区块链之技术进阶】Attention please!区块链技术的风险!

    不知不觉咱们在[区块链之技术进阶]部分已经分享了七篇文章了,通过之前的七篇文章大家对于区块链技术的理解是不是上升了一个高度呢?这七篇文章,告诉我们区块链是互联网时代的通往第二纪元--信任纪元的革命,这 ...

  8. sha256可逆吗_当我们谈“X+区块链”的时候,到底搞懂区块链了吗?

    https://www.zhihu.com/video/1219202997248602112 你好,这里是BIMBOX. 今天的内容是一期付费内容免费看,内容来自于我们的专栏<精读10本好书中 ...

  9. 公链蓬勃发展——多链世界从理想走向现实 | 2021 区块链年报|Footprint Analytics

    Jan. 2022,Sabrina@footprint.network Data Source: Footprint Analytics 本文是 Footprint Analytics 区块链年报的一 ...

最新文章

  1. php http_get_vars,$_GET($HTTP_GET_VARS)和$_POST($HTTP_POST_VARS)的区别
  2. 如何从0-1构建自己的”pytorch“(自己专属的深度学习框架)——part02
  3. 当你打开的程序在任务栏出现两个一样的怎么办?
  4. 一起学并发编程 - sleep与wait的差异
  5. [partial] C#里partial关键字的作用
  6. Python——编码风格建议
  7. activiti学习笔记---常见异常
  8. python可以给你干什么-Python到底可以做什么?
  9. 华为NP课程笔记6-路由控制
  10. DDOS入门介绍(一):DDOS简介
  11. Acer4745G笔记本蓝牙驱动安装
  12. Qcom ramdump 解析
  13. 车载视频监控基于JTT808/1078管理平台商业开源
  14. HTML排版一首古诗,古诗句排版正确方式
  15. MPB:南农韦中组-​根系分泌物调控土壤微生物群落结构和功能的研究方法
  16. Apache服务器下载安装及使用(更新)
  17. 【C++ 程序】 TVJ Complex Calculator (v 2.2) 复数计算器
  18. 2天,我把MySQL索引、锁、事务、分库分表撸干净了!
  19. 解密dlink固件(四)
  20. 消息队列中:消息可靠性、重复消息、消息积压、利用消息实现分布式事务

热门文章

  1. 【课上笔记】第七章 树与森林
  2. 苹果电脑上不错的几个矢量图形编辑工具
  3. 质量管理新七种工具解决处理
  4. Java 基础面试之集合
  5. Say Hello to everybody !
  6. python中途岛海战boss发射子弹类设计程序
  7. Java 上传图片至OSS并返回图片地址工具类可直接用
  8. ubuntu 命令端循环执行命令
  9. ubuntu top 命令使用
  10. 计算机网络——物理层(数字传输系统)