zoukankan      html  css  js  c++  java
  • 阅读笔记1:Towards True Decentralization: A Blockchain Consensus Protocol Based on Game Theory and Randomness

    做整理的时间从来不是浪费。

    一、补充知识

    1、 ddos攻击

    首先从一个比方来深入理解什么是DDOS。一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?(只为举例,切勿模仿)恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。此外恶霸们完成这些坏事有时凭单干难以完成,需要叫上很多人一起。

    在信息安全的三要素--"保密性"、"完整性"和"可用性"中,DoS(Denial of Service),即拒绝服务攻击,针对的目标正是"可用性"。该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

    DdoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项指标不高的性能,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了-目标对恶意攻击包的"消化能力"加强了不少。这时候分布式的拒绝服务攻击手段(DDoS)就应运而生了。DDoS就是利用更多的傀儡机(肉鸡)来发起进攻,以比从前更大的规模来进攻受害者。

    2、 eclipse攻击

    在流行的对等式网络(例如比特币和以太坊)中,攻击者可通过确保受害者节点不再从网络的其余部分接收正确的信息,而只接收由攻击者操纵的信息来执行日蚀攻击(Eclipse Attack)。

    换言之,当网络上的大多数对等节点都是恶意的时候,并且正在控制特定节点的连接时,就会发生这类攻击。控制此类连接的攻击者,可确保此特定节点被恶意节点包围。

    此外,在日蚀攻击中,攻击者不像在女巫攻击(Sybil attack)中那样攻击整个网络,而是专注于隔离和瞄准某个特定节点。这种攻击通常会导致受害者节点接收到被操纵的、伪造的区块链视图。

    3、 Tendermint

    1)BFT协议,网络中多达三分之一的节点以任意方式失败它也可以工作。

    2)记账人提出新块,验证人pre-vote,超过2/3选票时才进行pre-commit,验证人收到超过2/3的pre-commit才接受新块。

    4、 zero-day attack

    零日漏洞"(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。这种攻击往往具有很大的突发性与破坏性。

    5、Ouroboros consensus

    将时间分成若干段,每段选取一个领导人。领导人根据持有股份挑选。

    二、获取知识

    1、现在的共识算法都是基于PoW,或者是固定验证器。

    PoW需要大量的计算工作,固定验证器:选取N个矿工节点,验证新提议的块。

    本文1)不需要PoW,在每个块的提议上随机使用不同大小的验证集。2)利用博弈论的模型,通过奖惩制强制诚实验证者的行为。

    2、共识算法:

    1)保证区块链网络中所有节点都同意公共账本中的区块的有效性。

    2)所有节点在其区块链中有相同的块顺序

    3)同步存储副本数据

    执行共识的验证器(矿工节点),验证器若是匿名可变的则可以增强协议的健壮性。

    现有的共识算法没有考虑验证器的数量或如何选择验证器。

    3、两个阶段的博弈

    第一阶段:验证集的选取

    player x:proposer   {Cheat,NotCheat}

    player y:validation-leader  {4个验证人,>4个验证人}

    第二阶段:验证还是不验证

    三、Future Work

    1)µ can be determined dynamically

    2)匿名性只能保证一次投票,如何打破他的局限性。

    3)结合其他算法,对比优劣。

  • 相关阅读:
    【数据结构】线性表&&顺序表详解和代码实例
    【智能算法】超详细的遗传算法(Genetic Algorithm)解析和TSP求解代码详解
    【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
    【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解
    10. js时间格式转换
    2. 解决svn working copy locked问题
    1. easyui tree 初始化的两种方式
    10. js截取最后一个斜杠后面的字符串
    2. apache整合tomcat部署集群
    1. apache如何启动
  • 原文地址:https://www.cnblogs.com/cathycheng/p/12221844.html
Copyright © 2011-2022 走看看