先看比特币的核心特点:1)基于时间戳的链式区块结构;2)分布式节点间的共识机制;3)基于共识算力的经济激励;4)灵活可编程的智能合约机制。

再来谈区块链的重要特性:1)去中心化、完全分布式;2)点对点;3)共识机制;4)加密算法。

我认为区块链的基础技术两点:1、区块链结构;2、全网广播机制。

先看区块链结构:

再说全网广播机制:

“全网广播”的前提问题是“拜占庭问题”(自行Google)

我们刚才讲到矿工挖矿时说,当取得一个区块的记账权后,要向全网广播,此时所有人都知道了这个区块被占了,停止找哈希散列,开始以你这个区块为前一个区块,再次准备抢占链接的区块。里面的信息也被记在了所有人的“账本”上。

放在将军身上就是,所有将军们开始解题,题目的答案就是行动时间。当每个将军接收到任何表达形式的第一个攻击时刻时,他都会设置他的计算机来求解一个极其困难的“工作量证明”问题,对这个问题的解答是一个哈希(Hash)散列,里面也将包含着这次的攻击时刻。由于这个“工作量证明”问题,非常难解,一般而言,就算所有人收到这个问题后同时求解,也至少需要10分钟才能产生解答。一旦一个将军解出了“工作量证明”,他将会把这个算出来的“工作量证明”向整个网络进行传播,每一个接收到的人,将在他们当前正在做的“工作量证明”计算的散列中附加上刚刚被求解出来的那个工作量证明。如果任何人正在计算他收到的其他的一个不同的攻击时刻,他们将会转向新的更新后的“工作量证明”计算当中,因为他现在的“工作量证明链”更长了。

两个小时后,将有一个攻击时刻被散列在一个有12个“工作量证明”的链中。每个将军只要通过验证(这条工作链的)计算难度,就能估算出平均每小时有多少CPU算力耗费在这上面,也就会知道:这一定是在分配的时间段内,绝大多数将军的计算机共同协作才能生成的结果。如果“工作量证明链”中展示出来的算力足够强大,那么他们就可以在一致同意的时间内安全地展开攻击。

我再分享一个知乎的回答:https://www.zhihu.com/questio...


一幅图解释区块链结构相关推荐

  1. 区块链数学建模_试图通过高中数学课程来解释区块链

    区块链数学建模 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 试图通过高中数学课程来解释区块链 (Blockchain explained by trying ...

  2. 大数据24小时:美图发布区块链技术白皮书,百度副总裁邬学斌宣布离职或将加入宝能汽车

    [数据猿导读] 百度又一大将宣布离职,或将加入宝能汽车:美图发布白皮书,将基于人工智能技术打造区块链生态:阿里巴巴创立全球首个人工智能中文字库--以下为您奉上更多大数据热点事件 编辑 | abby 官 ...

  3. 美图发布区块链白皮书

    今天(2018年1月22日),美图公司(股票代码:01357.HK)官方发布区块链白皮书.(关注"区块宝"微信公众号,回复"美图"下载美图区块链白皮书) 美图区 ...

  4. python实现简单区块链结构

    区块链 比特币从诞生到现在已经10年了,最近接触到了区块链相关的技术,为了揭开其背后的神秘面纱,我就从头开始构建一个简单的区块链. 文章目录 区块链 一.比特币内部结构 二.实现的比特币结构 三.代码 ...

  5. 相亲时, 如何向 TA 解释区块链? | 春哥区块链创业记

    来源 | <春哥区块链创业记> 作者 | 陈炯.芮苏英.冯春.陆晟 责编 | 乔治 出品 | 区块链大本营(blockchain_camp) 信春哥得永生?哈哈哈,此春哥非彼春哥... 这 ...

  6. 别人家的爸爸!为了解释区块链,阿里工程师给儿子画了一本童话书

    明天是儿童节了,有个阿里工程师,给7岁儿子准备了一份很温馨的儿童节礼物:自己画的童话故事书. 这就是传说中的别人家的爸爸! 我厂的程序员,画起漫画来也是脑洞清奇:他用一个老鼠大王想吃上最正宗的奶酪的故 ...

  7. python函数解读_通过7个Python函数来解释区块链

    我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热.我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值. 我对区块链的看法是它 ...

  8. 区块链是什么通俗解释_区块链是什么?如何用一句话通俗解释区块链

    站长之家(Chinaz.com)注:很多人可能跟小编一样,为了搞懂区块链的概念,看了无数篇文章,但是很多说的都是大概念.虽然每个字都看得懂,但是连在一起就看不懂了.那么,区块链到底是什么东西呢?如何用 ...

  9. [区块链]初识R3-Corda,解析区块链结构

    网络结构 R3-Corda is for permissioned nodes to communicate on a need-to-know basis about updating shared ...

最新文章

  1. RHEL/CentOS通用性能优化、安全配置参考
  2. Python3中with用法
  3. log4j 超完美配置文件!
  4. 保存训练好的模型并调用
  5. 信息系统项目管理师优秀论文:项目风险管理--jiangyiwu
  6. Win10 下使用 ionic 框架开发 android 应用之搭载开发环境
  7. C语言归并排序(合并排序)
  8. 智能一代云平台(一):一些思考
  9. centos7 django mysql_安装和部署centos7 python3。X Django MySQL,centos7python3Xdjangomysql
  10. android检查内存泄露工具,Android内存泄露检测 LeakCanary2.0(Kotlin版)的实现原理
  11. AV系统类毕业论文文献有哪些?
  12. JUnit单元测试常用方法知识整理
  13. Excel单元格自定义格式的知识和技巧
  14. 【Unity】卡牌游戏教程汇总
  15. FPGA 串口通信(补)——通用模块
  16. 计算机需要权限来执行此操作 win7,Win7系统下“文件夹访问被拒绝 您需要权限来执行操作”解决方法...
  17. 华为AX3Pro路由器配置成交换机使用
  18. 视频倍速调整(ffmpeg)
  19. 读书笔记:《狼图腾》
  20. 【InterFace】I2C 总线详述

热门文章

  1. 【Anaconda】安装OpenCV
  2. @WebFilter创建未生效的解决办法
  3. vue.config.js 防止报错偷窥源码
  4. objc_msgSend流程分析之缓存查找
  5. Python爬虫学习-Day7
  6. 谷歌新技术:神经优化器搜索,自动找到可解释的优化方法
  7. 【微信电子画册制作】名编辑电子杂志大师教程 | 给电子杂志设置背景图片
  8. 浏览器慢?这是加速 Chrome 的方法
  9. 通信协议分类(串行通信,并行通信,同步/异步,单工/双工,半双工/全双工)
  10. AES 加密算法的原理详解