热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

坎坷的“共识机制”之路——区块链技术引卷之一

如果说商业活动是驱动人类文明发展的一架马车,那么价值记录则是马匹的四只蹄铁。自人类500年前发明复式

如果说商业活动是驱动人类文明发展的一架马车,那么价值记录则是马匹的四只蹄铁。自人类500年前发明复式记账以来,价值记录 工具 、方法随着科技的进步发生了一次次翻天覆地的变化,以区块链为代表的分布式记账也是其中之一。本文将从阐述分布式和非中心化的基本思想开始,带领读者了解区块链及其共识机制,为什么共识在区块链里得以扮演如此重要的角色。

摘要

区块链可以看作一个非中心化分布式的账本,参与交易的各方共同维护着同样的账本记录,这意味着各节点都保存账本的完整副本,并认可账本的正确性,没有一个节点能够完全控制记账的权利。它实现了人类记账规则与记账方式的重要突破,从而为线上价值转移提供了基础。

但绝对可靠的分布式对等系统是不存在的。由于组成分布式对等系统各节点的地理位置不同、网络延迟的存在,节点间的通信总是存在不可预测的延迟,因此不同节点对其接收到消息的先后顺序有不同的判断,这种消息处理模式称为异步模型。除了节点通信过程会发生意外,有时组成网络本身的各节点也会发生故障,表现出不可预测行为,它的存在是设计开放式区块链网络共识机制时必须考虑的因素。

FLP不可能原理表明:异步的分布式系统中不存在能容错(Fault Tolerant)的狭义共识算法。CAP原理表明: 分布式系统最多只能同时满足一致性、可用性和分区容错性中的两项特性。

我们根据区块链网络的特点作出有别于传统分布式系统的CAP定义,并以BTC及其共识机制工作量证明(PoW)为例, 分析其共识机制的原理与过程,从密码学、概率论、博弈论的角度说明最终一致性的可实现性。 以及为了满足实际应用场景的需求,PoW如何在一致性、可用性和分区容忍性实现完美平衡。我们还将分析节点可能对区块链网络发动的恶意攻击,并阐明PoW有一定抵御常见的恶意攻击的能力。

最后我们在分析PoW的基础上,抽象出区块链共识机制的八个关键要素,它们决定了共识机制的主要特征。在专题后续文章中,我们将进一步介绍主流的共识机制及其特点。

目录

1    什么是区块链:漫谈分布式系统与非中心化

1.1   记账方式与信任

1.2   分布式与非中心化的融合

2   分布式对等系统内部的通信与共识

2.1   不存在绝对可靠的分布式对等系统

2.2   “狼人杀”与拜占庭将军们

2.3   分布式系统不存在完美的确定性共识算法

2.4   CAP原理与区块链共识机制

3   PoW工作量证明——一致性与可用性的权衡

3.1   BTC实现实际应用中的一致性

3.2   密码学是PoW一致性的基础

3.3   最长链原则与“矿工”间的博弈

3.4   PoW如何防止拜占庭故障破坏共识

4   区分不同共识机制的八个关键要素

正文


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • 区块链为什么是不可篡改的
    不可篡改是区块链最为重要的特性和应用之一。其是由区块链本身的结构、共识机制、网络拓扑和加 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 在当前金融科技 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 【回顾】聚焦DTCC | 巨杉数据库与您相约DTCC 数据库技术大会
    2018年5月10-12日,第九届中国数据库技术大会(DTCC2018)将以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
author-avatar
加勒比海盗的骷髅_829
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有