一幅图解释区块链结构
先看比特币的核心特点:1)基于时间戳的链式区块结构;2)分布式节点间的共识机制;3)基于共识算力的经济激励;4)灵活可编程的智能合约机制。
再来谈区块链的重要特性:1)去中心化、完全分布式;2)点对点;3)共识机制;4)加密算法。
我认为区块链的基础技术两点:1、区块链结构;2、全网广播机制。
先看区块链结构:
再说全网广播机制:
“全网广播”的前提问题是“拜占庭问题”(自行Google)
我们刚才讲到矿工挖矿时说,当取得一个区块的记账权后,要向全网广播,此时所有人都知道了这个区块被占了,停止找哈希散列,开始以你这个区块为前一个区块,再次准备抢占链接的区块。里面的信息也被记在了所有人的“账本”上。
放在将军身上就是,所有将军们开始解题,题目的答案就是行动时间。当每个将军接收到任何表达形式的第一个攻击时刻时,他都会设置他的计算机来求解一个极其困难的“工作量证明”问题,对这个问题的解答是一个哈希(Hash)散列,里面也将包含着这次的攻击时刻。由于这个“工作量证明”问题,非常难解,一般而言,就算所有人收到这个问题后同时求解,也至少需要10分钟才能产生解答。一旦一个将军解出了“工作量证明”,他将会把这个算出来的“工作量证明”向整个网络进行传播,每一个接收到的人,将在他们当前正在做的“工作量证明”计算的散列中附加上刚刚被求解出来的那个工作量证明。如果任何人正在计算他收到的其他的一个不同的攻击时刻,他们将会转向新的更新后的“工作量证明”计算当中,因为他现在的“工作量证明链”更长了。
两个小时后,将有一个攻击时刻被散列在一个有12个“工作量证明”的链中。每个将军只要通过验证(这条工作链的)计算难度,就能估算出平均每小时有多少CPU算力耗费在这上面,也就会知道:这一定是在分配的时间段内,绝大多数将军的计算机共同协作才能生成的结果。如果“工作量证明链”中展示出来的算力足够强大,那么他们就可以在一致同意的时间内安全地展开攻击。
我再分享一个知乎的回答:https://www.zhihu.com/questio...
一幅图解释区块链结构相关推荐
- 区块链数学建模_试图通过高中数学课程来解释区块链
区块链数学建模 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 试图通过高中数学课程来解释区块链 (Blockchain explained by trying ...
- 大数据24小时:美图发布区块链技术白皮书,百度副总裁邬学斌宣布离职或将加入宝能汽车
[数据猿导读] 百度又一大将宣布离职,或将加入宝能汽车:美图发布白皮书,将基于人工智能技术打造区块链生态:阿里巴巴创立全球首个人工智能中文字库--以下为您奉上更多大数据热点事件 编辑 | abby 官 ...
- 美图发布区块链白皮书
今天(2018年1月22日),美图公司(股票代码:01357.HK)官方发布区块链白皮书.(关注"区块宝"微信公众号,回复"美图"下载美图区块链白皮书) 美图区 ...
- python实现简单区块链结构
区块链 比特币从诞生到现在已经10年了,最近接触到了区块链相关的技术,为了揭开其背后的神秘面纱,我就从头开始构建一个简单的区块链. 文章目录 区块链 一.比特币内部结构 二.实现的比特币结构 三.代码 ...
- 相亲时, 如何向 TA 解释区块链? | 春哥区块链创业记
来源 | <春哥区块链创业记> 作者 | 陈炯.芮苏英.冯春.陆晟 责编 | 乔治 出品 | 区块链大本营(blockchain_camp) 信春哥得永生?哈哈哈,此春哥非彼春哥... 这 ...
- 别人家的爸爸!为了解释区块链,阿里工程师给儿子画了一本童话书
明天是儿童节了,有个阿里工程师,给7岁儿子准备了一份很温馨的儿童节礼物:自己画的童话故事书. 这就是传说中的别人家的爸爸! 我厂的程序员,画起漫画来也是脑洞清奇:他用一个老鼠大王想吃上最正宗的奶酪的故 ...
- python函数解读_通过7个Python函数来解释区块链
我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热.我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值. 我对区块链的看法是它 ...
- 区块链是什么通俗解释_区块链是什么?如何用一句话通俗解释区块链
站长之家(Chinaz.com)注:很多人可能跟小编一样,为了搞懂区块链的概念,看了无数篇文章,但是很多说的都是大概念.虽然每个字都看得懂,但是连在一起就看不懂了.那么,区块链到底是什么东西呢?如何用 ...
- [区块链]初识R3-Corda,解析区块链结构
网络结构 R3-Corda is for permissioned nodes to communicate on a need-to-know basis about updating shared ...
最新文章
- RHEL/CentOS通用性能优化、安全配置参考
- Python3中with用法
- log4j 超完美配置文件!
- 保存训练好的模型并调用
- 信息系统项目管理师优秀论文:项目风险管理--jiangyiwu
- Win10 下使用 ionic 框架开发 android 应用之搭载开发环境
- C语言归并排序(合并排序)
- 智能一代云平台(一):一些思考
- centos7 django mysql_安装和部署centos7 python3。X Django MySQL,centos7python3Xdjangomysql
- android检查内存泄露工具,Android内存泄露检测 LeakCanary2.0(Kotlin版)的实现原理
- AV系统类毕业论文文献有哪些?
- JUnit单元测试常用方法知识整理
- Excel单元格自定义格式的知识和技巧
- 【Unity】卡牌游戏教程汇总
- FPGA 串口通信(补)——通用模块
- 计算机需要权限来执行此操作 win7,Win7系统下“文件夹访问被拒绝 您需要权限来执行操作”解决方法...
- 华为AX3Pro路由器配置成交换机使用
- 视频倍速调整(ffmpeg)
- 读书笔记:《狼图腾》
- 【InterFace】I2C 总线详述