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原则。该原则牺牲掉对一致性的约束,来换取一定的可用性。

  • 相关阅读:
    Access restriction: The type BASE64Encoder is not accessible due to restrict(转载)
    ECLIPSE控制台信息导出
    ZUI分页器的使用案例(ECLIPSE SMS项目)
    关于PLSQL启动用时较长的问题解决
    javax.naming.NamingException: Cannot create resource instance报错修改
    百度AI人脸识别的学习总结
    ECharts3.0饼状图使用问题总结
    jni开发
    AndroidStudio封装jar并混淆
    Androidstudio代码混淆
  • 原文地址:https://www.cnblogs.com/feifei123/p/9146604.html
Copyright © 2011-2022 走看看