共识问题:区块链如何确认记账权?

这篇具有很好参考价值的文章主要介绍了共识问题:区块链如何确认记账权?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

区块链可以说是最近几年最热的技术领域之一,区块链起源于中本聪的比特币,作为比特币的底层技术,本质上是一个去中心化的数据库,其特点是去中心化公开透明,作为分布式账本技术,每个节点都可以参与数据库的记录。

区块链是一个注重安全和可信度胜过效率的一项技术,如果说互联网技术解决的是通讯问题,区块链技术解决的则是信任问题。

今天我们关注区块链中的核心问题:作为分布式账本,每个参与者都维护了一份数据,那么如何确认记账权,最终的账本以谁为准呢?

区块链的共识

区块链是一种去中心化的分布式账本系统,区块链的共识问题实际上是来源于分布式系统的一致性问题。

共识(Consensus)故名思义,共同的认识,共识问题研究的是多个成员如何达成一致,典型的比如投票选举。

共识机制在区块链中扮演着核心的地位,共识机制决定了谁有记账的权利,以及记账权利的选择过程和理由。不同的虚拟货币采用共识机制也不同,常见的共识机制有 POW、POS、DPOS等。

我们前面提到 CAP 中的 C 是 Consistency(一致性),Consistency 和 Consensus 有什么区别呢?

Consistency 侧重的是内容在时间顺序上的一致和统一,而 Consensus 则是指由许多参与者对某项内容达成共识,所以一般把 Consistency 翻译为“一致性”,把 Consensus 翻译为“共识”。

拜占庭将军问题

前面的课程中我们已经分享了几个经典的一致性算法,如果把共识机制延伸到分布式系统中,就是系统需要有一个主进程来协调,系统的所有决定都由主进程来达成一致性。

到了区块链中,由于区块链是一种去中心化的分布式系统,所以区块链中是没有类似于团队里的领导,以及分布式系统中的 master 角色,这样就需要有某种共识机制,以便保证系统一致性。

一般在网络通信中,把节点故障,也就是信道不可靠的情况称为“非拜占庭错误”,恶意响应,也就是系统被攻击,传递错误消息称为“拜占庭错误”。

为什么叫拜占庭错误呢?实际上是来自于一个故事模型:

拜占庭帝国就是中世纪的土耳其帝国,拥有巨大的财富,周围 10 个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵都会失败,同时也有可能自身被其他 9 个邻邦入侵。

拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。

于是每一方都小心行事,不敢轻易相信邻国,这就是拜占庭将军问题。

共识问题:区块链如何确认记账权?,IT行业,计算机,互联网行业,区块链,记账权

(图片来自维基百科)

在拜占庭问题里,各邻国最重要的事情是:所有将军如何能过达成共识去攻打拜占庭帝国。拜占庭将军问题核心描述是军中可能有叛徒,却要保证进攻一致,由此引申到计算机领域,发展成了一种容错理论:

一群将军想要实现某一个目标,比如一致进攻或者一致撤退,单独行动是行不通的,必须合作,达成共识;由于叛徒的存在,将军们不知道应该如何达到一致。

其实,拜占庭将军问题(Byzantine Generals Problem)和我们前面提到的 Paxos 算法、逻辑时钟等,都是由 Leslie Lamport 提出的。

Lamport 可以说是分布式系统的奠基人之一,由于在分布式领域的一系列贡献,Lamport 获得了 2013 年的图灵奖。

共识问题:区块链如何确认记账权?,IT行业,计算机,互联网行业,区块链,记账权

拜占庭将军问题和我们今天要讨论的记账权有什么联系呢?

在记账权的归属中,关键的是如何避免恶意共识的出现,也就是错误的记账,类似如何处理拜占庭将军中的叛徒。

比特币是区块链技术最广泛的应用,在比特币中如何决定记账权呢?答案就是 POW 机制,接下来我们分析 POW 工作量证明机制。

POW 工作量证明

PoW(Proof of Work,工作量证明)被认为是经过验证最安全的拜占庭解决机制,最早是用来防垃圾邮件的,典型的就是 Google 邮箱的反垃圾邮件系统。

Google 邮箱强制要求每一个给 Google 服务器发送邮件的发送者,必须先完成一定量的计算工作,造成一小段时间的延迟,比如延迟 1 秒,如果是正常的邮件发送,这个时间是可以接受;如果是广告邮件发送者,因为要进行大量的发送工作,这种无价值的计算是无法忍受的。

挖矿的由来

挖矿是比特币系统中一个形象化的表达,那么挖矿是怎么来的呢?

比特币挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程,由于需要竞争记账权,利用计算机去计算 Hash 数值,随机碰撞解题,这个过程就是挖矿。

换句话说,就是比特币系统出一道数学题,大家抢答最优解,挖矿就是记账的过程,矿工是记账员,区块链就是账本。

比特币的 POW 实现

比特币中的 POW 实现,是通过计算来猜测一个数值(Nonce),得以解决规定的 Hash 问题,下面是比特币的区块结构,可以看到区块头有个随机数字段,这个就是 Nonce 值:

共识问题:区块链如何确认记账权?,IT行业,计算机,互联网行业,区块链,记账权

中本聪在比特币系统中设置了一道题目,通过不断调节 Nonce 的值,来对区块头算 Hash,要求找到一个 Nonce 值,使得算出来的 Hash 值满足某个固定值。

具体的 Hash 方法一般是使用 SHA256 算法 ,你可以查看这个小工具来测试 在线加密解密。

我们来简化一下计算过程,假设第 100 个区块给出的区块值是下列字符串,最早计算出该字符串的节点可以获得比特币:

f7684590e9c732fb3cf4bf0b8e0f5ea9511e8bbaacb589892634ae7938e5700c

由于 Hash 算法是一个不可以逆的算法,没法通过具体的 Hash 值倒推出原文,这样每个节点只能采用穷举的方法,也就是选择各种字符串,比如开始的 a、b、c、1、2、3、…,不断的尝试。

比特币系统自身会调节难度,控制解题的时间,一般来讲,约每 10 分钟挖出一个区块,在这 10 分钟内,计算机只能不停地去计算,去试各种字符串。

这个过程实际上是考验各个节点的服务器性能,也就是算力。如果你算力非常强大,有几万台服务器,可以很快得到 Nonce 值,也就是正确答案:lagou,对应 Hash 值和题目要求一致。

接下来你就可以把这个 Nonce 值放在结构体里,通过 P2P 网络广播出去,其他的系统节点收到后,发现这个 Nonce 值是合法的,能满足要求,会认为你挖矿成功。

由于解出了题目,你会获得系统对应的比特币奖励,以及本区块内所有交易产生的手续费。其他节点发现有人已经算出来了,就会放弃本次计算,然后开启下一个区块的题目,去寻找下一个区块头的 Nonce 值。

作为落地的最大区块链系统,比特币的区块信息一直在动态生成。下面这张截图记录了比特币最近的区块信息,区块信息来自 https://www.blockchain.com/,你也可以点击链接查看最新的区块高度。

共识问题:区块链如何确认记账权?,IT行业,计算机,互联网行业,区块链,记账权

区块链分叉和 51% 攻击

Hash 问题具有不可逆的特点,主要依靠暴力计算,谁的算力多,谁最先解决问题的概率就越大。当掌握超过全网一半算力时,就能控制网络中链的走向,这也是所谓 51% 攻击的由来。

前面我们说过,因为区块链中每个节点都可以参与记账,系统中可能出现链的分叉(Fork),最终会有一条链成为最长的链。

但是在现实社会中,牵扯到参与各方巨大的利益关系,算力之间的博弈往往并没有那么简单,以比特币为例,已经分裂出了 BCH(比特币现金)、BTG(比特币黄金)等分叉币。

POW 机制优缺点

POW 的优点有很多,POW 是第一个完全实现去中心化共识算法的,并且节点自由进出,容易实现,由于对算力的高要求,破坏系统花费的成本也巨大。

POW 机制的缺点也是显而易见的,最大的就是浪费能源,巨大的算力被浪费在了无尽的挖矿行为中,并且本身并不产生任何价值。

这也是区块链被很多人指责的一点,浪费了大量的能源,收获的仅仅是一堆无价值的数据存储,换个角度来思考,这也说明了在去中心化的场景下,实现信任是多么的困难。

另一方面也可以看到,大量的数字货币矿场都是建设在西南地区的深山中,利用当地价格低廉的电力资源,或者就直接和发电站建设在一起。

其他共识方法

除了 POW 机制,还有其他的共识方法,典型的就是 POS 和 DPOS 等。

POS 权益证明

POS(Proof of Stake,权益证明)类似现实生活中的股东大会机制,拥有股份越多的人拥有越多的投票权,也就越容易获取记账权。

共识问题:区块链如何确认记账权?,IT行业,计算机,互联网行业,区块链,记账权

POS 是通过保证金来对赌一个合法的块成为新的区块,收益为抵押资本的利息和交易服务费。提供证明的保证金越多,则获得记账权的概率就越大,合法记账者可以获得收益。著名的数字货币 ETH(以太坊),就在共识算法中采用了 POS 机制。

DPOS 委托权益证明

采用 DPOS(Delegated Proof of Stake,委托权益证明)机制的典型代表是 EOS,如果说 POS 类似股东大会,比较的是谁持有的股份多,那么 DPOS 类似于公司董事会制度,在 DPOS 共识制度下,会选出一定数量的代表,来负责生产区块。

总结

区块链可以说是分布式系统最广泛的应用之一,今天介绍了区块链共识问题的由来、拜占庭将军问题,以及典型的 POW 解决机制。

区块链是一个非常广的主题,以拜占庭将军问题为例,在区块链之前,还有两种解决方案:口头协议和书面协议。专栏的内容是以分布式系统为主,后面的章节不会继续区块链相关话题的讨论,如果你希望了解更多的区块链技术及应用,下面附上了一些相关的资料:

  • 《区块链开发指南》

  • 《区块链核心算法解析》

  • 比特币的区块结构解析

  • 区块链技术发展及应用场景

  • The Byzantine Generals Problem

  • AI新智界-智能涌现,看见未来文章来源地址https://www.toymoban.com/news/detail-752085.html

到了这里,关于共识问题:区块链如何确认记账权?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 0基础如何进入IT行业?

    引言: 在当今数字化时代,IT行业无疑是最令人兴奋和最具前景的领域之一。对于零基础的你来说,想要进入这个充满机遇的行业,可能会感到有些迷茫和困难。但是,通过有计划、有步骤地学习和实践,进入IT行业并非遥不可及。本文将为你提供一份详细的指南,帮助你从

    2024年04月17日
    浏览(33)
  • 如何抓住IT行业最后的红利?网络安全为什么是风口行业?

    “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万! 2、人才缺口大,就业机会多 2019年9月18日《中华人

    2023年04月20日
    浏览(52)
  • IT行业的应届大学生,如何制作简历?

    很多人在写简历介绍时,大多萌新的同学,是用这样的模板,有如图上的信息吧! 其实在写个人简历的基本信息除了 姓名、电话、邮箱、年龄、求职意向 必要的的5个关键信息外,其他的信息并不需要。 毕竟身高等、年龄等信息,对于IT的从业人员来说并不是很重要,IT大多

    2024年01月20日
    浏览(42)
  • 不懂分布式系统的核心问题:一致性与共识,还想入门区块链?挖矿?

    CAP原理 ===== CAP原理:分布式计算系统不可能同时确保以下三个特性: 一致性(consistency) 可用性(availability) 分区容忍性(partition) **(1)分区容忍性:**网络可能发生分区,即节点之间的通信不可保障。 大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(

    2024年04月12日
    浏览(46)
  • 区块链学习6-长安链部署:如何创建特定共识节点数和同步节点数的链

    正常prepare的时候只支持4 7 13 16个节点个数,想要创建10个节点,其中5个是共识节点,如何实现? 1. 注释掉prepare.sh的这几行: 2. 修改 crytogen的模板文件: 如果是cert模式:chainmaker-cryptogen/config/crypto_config_template.yml 如果是pk模式:chainmaker-cryptogen/config/pk_config_template.yml 例如在配

    2024年02月13日
    浏览(54)
  • IT行业软件数据文件传输安全与高效是如何保障的?

    在当今迅速发展的科技世界中,云计算、大数据、移动互联网等信息技术正迎来蓬勃发展,IT行业正置身于一个全新的世界。数据不仅是最重要的资产,也是企业竞争力的核心所在。然而,如何缩短信息共享时间、高速流转数据、跨部门/跨区域协作,以及有效整合IT基础设施

    2024年02月19日
    浏览(45)
  • 如何看待现在的 IT 行业,秋招来临,新人们又该怎么应对?

    最近接触到很多即将参加工作的小伙伴咨询笔者,想看看目前IT行情怎么样。好规划自己未来的发展。笔者亦是知无不言.想的多了,感触也就多了,干脆以一篇博文来阐述下自己的理解。 其实对于大多数IT行业从业者或即将从业的学生,不管有心无心,多少能听到目前关于

    2024年02月16日
    浏览(37)
  • 天选之子Linux是如何发展起来的?为何对全球IT行业的影响如此之大?

    上面这副图是博主历时半小时完成的,给出了Linxu的一些发展背景。球球给位看官老爷们给个赞(可怜) 要说Linux( L inux i s n ot N UI X ),还得从UNIX说起。 阶段 内容 特殊操作系统:Multics 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名Mu

    2024年02月08日
    浏览(42)
  • 区块链如何改变物流行业

    在中国改革开放大发展趋势的40年中,物流领域也发生了翻天覆地的变化,从以人力资源搬货为主导的传统式运送方式到以互联网大数据、人工智能技术等高新科技加仓的智能化物流发展趋势新时期。 据公开资料显示,近年来物流行业发展迅速。2016年至2022年,全球范围物流

    2024年02月03日
    浏览(41)
  • 区块链的共识与共识机制

    目录 共识定义 为什么要有共识机制? 矿工的本质 共识机制的本质

    2024年02月13日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包