zoukankan      html  css  js  c++  java
  • 区块链算法

    1.共识算法:
    分别解决非拜占庭的普通错误和解决拜占庭错误,相应算法分为crash fault tolerance(CFT)和byzantine fault tolerance(BFT).
    对于CFT的算法有:Paxos,Raft及其变种。特点:性能好,处理快,容忍不超过一半的故障节点。
    对于BFT的算法有:PBFT(practical byzantine fault tolerance)确定性算法
    PoW(proof of work)为代表的概率算法。
    对于确定性算法,一旦达成某个共识就不可逆转,即共识是最终结果;
    而对于概率类算法,共识结果则是临时的,随着时间推移或某种强化,共识结果被推翻的概率越来越小,成为事实上的最终结果。
    拜占庭类容错算法往往性能较差,容忍不超过1/3的故障节点。
    XFT(cross fault tolerance)改进算法可以提供类似CFT的处理响应速度,并能在多数节点正常工作时提供BFT保障。
    2.FLP不可能原理
    定义:在网络可靠,但允许节点失败(即便只有一个)的最小化异步模型系统中,不可能存在一个可以解决一致性问题的确定性公式算法。
    理解:
    同步:指系统中的各个节点的时钟存在上限;并且消息传递必须在一定时间内完成,否则认为是失败的;同时各个节点完成处理消息的时间是一定的。
    异步:指系统中各个节点可能存在较大的时钟误差,同时消息传输时间是任意长的,各个节点对消息进行处理的时间也是任意长的。
    3.CAP原理
    定义:分布式计算系统不可能同时确保以下三个特性:一致性,可用性、分区容忍性性(可靠性,稳定性)。
    一致性:任何操作都应该是原子的,发生在后面的事件能看到前面事件发生导致的结果。这里说的是强一致性。
    可用性:在有限时间内,任何非失败节点都能应答请求;
    分区容忍性:网络可能发生在分区,即节点之间的通信不可保障。
    应用场景:
    (1)弱化可用性
    (2)弱化可用性
    (3)弱化分区容忍性
    4.ACID原则
    定义:Actomicity(原子性) Consistency(一致性) Isolation(隔离性) Durability(持久性)
    该原则描述了分布式数据库需要满足的一致性要求,同时允许付出可用性的代价。
    与该原则相对立的是BASE原则。该原则牺牲掉对一致性的约束,来换取一定的可用性。

  • 相关阅读:
    Tableau如何绘制堆叠柱状图
    Tableau如何绘制多边形地图
    Tableau如何绘制凹凸图
    数据库备份策略设计
    MySQL数据库如何实现增量备份
    Tableau如何绘制瀑布图
    创建.net core ef项目
    asp.net core的ef的连接字符串
    sqlserver的varchar nvarchar区别
    jq的ajax请求写法
  • 原文地址:https://www.cnblogs.com/feifei123/p/9146604.html
Copyright © 2011-2022 走看看