BlockChain:BlockChain周边概念详解+个人理解

目录

1、拜占庭将军问题

2、共识机制

1、区块链的共识机制目前有以下几种

PoW

PoS

DPoS

其他共识机制


1、拜占庭将军问题


        拜占庭将军问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对等网络通信容错问题。在分布式计算中,不同的计算机通过通讯交换信息达成共识而按照同一套协作策略行动。但有時候,系统中的成员计算机可能出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。拜占庭将军问题被认为是容错性问题中最难的问题类型之一。

1、解决两个子问题
问题1、怎么样防止叛军冒充忠实将军发布将军令?
问题2、怎么样保证忠诚将军军令的一致性?

2、2018年诞生的的BTC,完美解决了这个问题。拜占庭的将军们=用户节点,将军们发布的军令=BTC上的交易信息。

3、问题转换

问题1、怎么样防止恶意节点冒充诚实节点呢?
解决方案:采用非对称加密技术。
问题2、怎么样保证所有节点记录的交易信息的一致性?
解决方案:每隔10分钟打包一次信息,中本聪从HashCash中获取灵感,以PoW机制,所有节点只承认工作量最多的节点打包的数据为准。51攻击说明了,所有恶意节点的攻击要小于50%。

2、共识机制

重要性:共识机制是一个很重要的概念,有多重要呢?业内有说法认为:如果说区块链是比特币运营的躯干,那共识机制就是灵魂。
意义:正是共识机制,帮助区块链降低了信任的建立成本,实现了价值互联网。

1、区块链的共识机制目前有以下几种

PoW

工作量证明。是一种按劳分配的模式,算力越多、工作量越大,即得到的数字货币越多了。这是一个纯依靠算力的游戏。它的优点是算法简单(采用大家都认可的数学逻辑)、破坏系统需要极大成本,缺点是没有最终性、浪费能源,有很多人批评它浪费了大量的算力。
(1)、如果某个节点拥有全网算力15%的算力,那么该节点理论上拥有15%的概率获取到记账权和奖励。
(2)、目前使用该机制的有BTC,以及它分叉出来的孩子们BCH、BCD等,还有早期的ETH、LTC、BTM等。

1、优点
算法简单:采用大家都认可的数学逻辑,寻找随机数这样的方法,容易实现。
安全系数高:安全系数高,如果想要破坏整个系统的话,就需要投入巨大的成本。
2、缺点
耗电:需要耗费大量电力,处理效率比较低。
算力集中:算力过于集中。
51攻击:51%的恶意节点攻击。

PoS

权益证明,也被称为股权证明机制。将PoW中的算力,改成了权益,拥有货币多的人,权益大,而拥有权益越大,成为下一个记账人的可能越大。即就像把钱存在银行中,通过金额和存储时间,产生利息,从而对验证人以及节点进行奖励。
(1)、币龄=币量*币持有天数       即币量越大,币持有天数越长,你获得的记账权和激励的概率就越大了!当你获得激励以后,你的持币天数就会清零,即币龄被清空。
(2)、目前使用该机制的有ADA、Nxt未来币、Qtum量子链子,当下的ETH.

1、优点
不拼算力不浪费电:的确是不那么费电。
缩短时间效率提升:缩短了共识达成的时间效率,达到了很大的提升。

2、缺点
容易造成垄断:会钱生钱的方式,所有持有者卖币的欲望不会那么强。
存在其他攻击的可能性:所有的确认都只是概率上的表达,所以,存在其他攻击的可能性。
挖矿成本低:硬分叉十分容易,容易产生分叉、没有最终性等等,也有人批评这种方法会带来马太效应。

DPoS

股份授权证明机制,即机制权益证明机制。它把PoS中,记账人的角色专业化,通过权益选出记账人,然后记账人之间轮流记账。让每一个持币的人进行投票,因而产生一定数量的代表,由这些超级节点代理持币人验证和记账。
(1)、这些超级节点的权利也是相对等的。比如EOS就有21个超级节点,以及100个备用节点。
(2)、目前使用该机制的有BTS、Steem、EOS等。

1、优点

弱中心化性提高了效率:DPOS机制大幅度缩小了参与者验证和记账的节点数量。

2、缺点
权利过度集中:有可能造成权力的过度集中。
依然没有解决最终性问题。

其他共识机制

还有dBFT机制、PBFT机制、DAG机制、PoA机制等等。

总结,需要注意的是,目前的共识机制都不是完美的,在应用场景上都有一定的限制,区块链共识机制更大的可能趋势是,各自在小领域里解决特定的问题。区块链共识机制,仍在不断地发展进化当中。
(1)、基本上,所有的共识机制都是为解决特定问题的,没有一种算法是完美无缺的,各有利弊,各取所需。

BlockChain:BlockChain周边概念详解+个人理解相关推荐

  1. AUTOSAR从入门到精通100讲(三十九)-AUTOSAR 通信服务-Com模块两部曲-概念详解

    Com模块概念详解 1. Com模块功能介绍 COM模块位于RTE和PDU Router模块之间. COM模块提供信号网关功能,主要的功能如下: . 为RTE提供信号导向的数据接口 . 将AUTOSA ...

  2. 关于大小端、位域的一些概念详解

    关于大小端.位域的一些概念详解 我们常用的x86结构都是小端模式,而大部分DSP,ARM也是小端模式,不过有些ARM是可以选择大小端模式.所以对于上面的maxHeight是应该以小端模式来存放,具体情 ...

  3. NLP --- 隐马尔可夫HMM(概念详解、三个基本问题详解)

    本节将进入隐马尔可夫环节,再次提醒不懂马尔科夫过程的同学建议先搞懂什么是马尔科夫过程,什么是马尔科夫链,同时需要懂一点语言模型的知识,下面会用到一点点,本人打算详细总结隐马尔可夫算法思想,因此讲解的会 ...

  4. java jvm sdk_JDK、SDK、JRE、JVM概念详解

    JDK.SDK.JRE.JVM概念的认识我们可以通过HelloWorld来理解这几个缩写词的具体含义: publicclassHelloWorld { publicstaticvoidmain(Str ...

  5. R语言生存分析(survival analysis)与生存资料有关的概念详解

    R语言生存分析(survival analysis)与生存资料有关的概念详解 目录 R语言生存分析(survival analysis)与生存资料有关的概念详解 #生存分析

  6. [crypto]-02-非对称加解密RSA原理概念详解

    说明:本文使用的数据来自网络,重复的太多了,也不知道哪篇是原创. 算法原理介绍 step 说明 描述 备注 1 找出质数 P .Q - 2 计算公共模数 N = P * Q - 3 欧拉函数 φ(N) ...

  7. [crypto]-01-对称加解密AES原理概念详解

    1.对称加解密 术语:P是明文,C是密文,K是密钥,E是加密算法,D是解密算 (1).常用的对称加解密有哪些? (2).加解密的模式 [ecb]这种模式是将整个明文分成若干段相同的小段,然后对每一小段 ...

  8. win8计算机用户名在哪里设置,windows8系统用户名微软ID和管理员账户概念详解

    windows8系统用户名微软ID和管理员账户概念详解 发布时间:2013-07-23 15:43:30   作者:佚名   我要评论 在Windows8系统中我们会遇到这么几个用户名或者ID:锁屏登 ...

  9. 对tcp三次握手的详解之 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

    重要 !!!!!!!!!       转载自[怀揣梦想,努力前行] 对tcp三次握手的详解之 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number) ...

最新文章

  1. 【OpenCV3】cv::Mat块访问与操作(ROI区域的选取)
  2. java语法定制混淆,由撇号混淆的textpad语法高亮显示
  3. 24 MM配置-采购-配额管理-定义编码范围
  4. java 线程map_map集合分割以及多线程处理数据
  5. 欢迎来到,数据库联盟!
  6. ubuntu14.04系统下mips交叉编译环境搭建
  7. java8 list统计(求和、最大、最小、平均)
  8. 仿微信评论显示更多与收起
  9. NLP基础知识(三)-AI应用篇
  10. Perl CGI重构原则
  11. background-size: contain 与cover
  12. FocusBI:租房分析星型模型
  13. 2022 ICPC 南京站
  14. 怎么查找html元素
  15. 不衔接的两个视频能拼在一起吗?怎么把视频拼接起来?
  16. PyTorch实例2——文本情绪分类器
  17. 游戏服务器框架之跨服(三)
  18. Java-面向对象之(抽象类+接口)
  19. 数据分析36计(25):微软开源 DoWhy 之因果分析快速入门
  20. kafka基本名词解释大全

热门文章

  1. laravel5.6 php,Laravel5.6中的队列简单使用
  2. ZYNQ 调试遇到的问题
  3. 0066-若干个数求和问题
  4. python3 购物车小程序
  5. IMO班聊乔月猛:聊天不如聊工作
  6. 主成分分析(PCA)和独立成分分析(ICA)相关资料
  7. Spring Boot与MyBatis整合
  8. NoSQL(一):NoSQL数据库、redis
  9. 解决docker中/etc/default/docker配置DOCKER_OPTS 失效问题
  10. 用好 Java 中的枚举,真的没有那么简单!