동현 유
척척석사
동현 유
전체 방문자
오늘
어제
  • 분류 전체보기 (181)
    • BlockChain (48)
      • [paper] Consensus (13)
      • [paper] Execution (19)
      • [paper] Storage (5)
      • [paper] ZKP (1)
      • [paper] Oracle (1)
      • Blockchains (9)
    • Java (19)
      • Java의 정석 (13)
      • Java 파헤치기 (5)
    • Python (20)
      • Python 뜯어보기 (6)
      • 데이터 분석 기초 (5)
      • Python 기초 강의 (6)
      • Python 기초 강의 부록 (3)
    • Golang (0)
    • MySQL (3)
      • programmers (2)
      • 기본 문법 (0)
    • 웹 프로젝트 (IBAS) (36)
      • Django 레거시 (14)
      • SpringBoot api 개편 (14)
      • Infra (3)
      • 서버 장애 기록 (4)
      • 신입팀원 교육 자료 (1)
    • CS (30)
      • Operating System (22)
      • Computer Security (3)
      • Network (4)
      • DBMS (1)
    • 책 (10)
      • 도메인 주도 설계 철저 입문 (9)
      • Real MySQL 8.0 (1)
    • BOJ 문제 풀이 (3)
    • 이러쿵저러쿵 (10)
    • 회고 (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
동현 유

척척석사

[논문 리뷰] Signature-Free Asynchronous Byzantine Consensus with t<n/3 and O(n^2) Messages
BlockChain/[paper] Consensus

[논문 리뷰] Signature-Free Asynchronous Byzantine Consensus with t<n/3 and O(n^2) Messages

2023. 3. 8. 13:46

Authors : Mostéfaoui, A., Moumen, H., & Raynal, M

Journal/Conference: 2014 ACM symposium on Principles of distributed computing

source: https://dl.acm.org/doi/abs/10.1145/2611462.2611468 

 


[Abstract]

This paper presents a new round-based asynchronous consensus algorithm that copes with up to t<n/3 Byzantine processes, where n is the total number of processes. In addition of not using signature, not assuming a computationally-limited adversary, while being optimal with respect to the value of t, this algorithm has several noteworthy properties: the expected number of rounds to decide is four, each round is composed of two or three communication steps and involves O(n2) messages, and a message is composed of a round number plus a single bit. To attain this goal, the consensus algorithm relies on a common coin as defined by Rabin, and a new extremely simple and powerful broadcast abstraction suited to binary values. The main target when designing this algorithm was to obtain a cheap and simple algorithm. This was motivated by the fact that, among the first-class properties, simplicity --albeit sometimes under-estimated or even ignored-- is a major one.


[Contributions]

  • BV-broadcast
      : focus on values not on process, which not considering that "this" value has been broadcast by "this" process.
      : reduce the power of consensus in such a way that a value broadcast only Byzantine processes is never delivered to the correct processes.
  • \(t<n/3\) optimal with repect to \(t\).
  • expected number of rounds to decide is 4, per which 2~3 communication steps are required only. 
  • If there are n parallel BA processes, expected number of rounds is \(O(logn)\)
  • Message complexity is \(O(n^2)\) messages per round. Each message consist of (\(type\), #\(round\), 1-\(bit\))

[Computation Model]

  • Network
       (Asynchronous : no bound for message delivery delay)
      + (Reliable : no loss, duplicated, modified, and created)
      + (Point-to-point : bi-directional channels which are able to identify sender)
      + (Unreliable broadcast : best-effort broadcast)   
  • Failure
      : Byzantine process can send specific messages to others selectively. But no byzantine process can impersonate another process since they are connected by channels. Also cannot affect network reliability.
  • Step
      : A (communication) step consists of receiving a message from another process, executing a local computation, and sending a message to some process.

[BV-broadcast]

  • the method makes the consensus progress when at least \(t+1\) correct processes call "\(BV\)-\(broadcast\)"[BV-Obligation]. (but if there are at least \(n-t\) correct processes, eventually \(BV\)-\(broadcast\) terminate. [BV-Termination])
  • Best case: all the process \(broadcast\) a same value. \(broadcast\) occur only once per a process. (1 step)
  • Worst case: there are two values \(broadcasted\) by at least \(t+1\) processes. Then \(broadcast\) occur twice per a process. (2 steps) In this case, the local variable \(bin\)-\(values_i\) has all the binary value {0, 1}.
  • 1~2 steps are needed.

security properties of Binary Value Broadcast


[Randomized Byzantine Consensus Algorithm]

There are n replicas in the network, and each replica has n parallel BA(asynchronous binary Byzantine Agreement) instances which communicate with corresponding replica.

  A process \(BA_1\) is executed, which means that all \(BA_1\) of \(Replica_k (k \in [1...n])\) conduct "asynchronous binary Byzantine Agreement (look below codes)" to decide whether include \(Replica_1\) in the final result or not.

 

  • After disperse phase(\(BV\)-\(broadcast\)), \(broadcast\) the first value of \(bin\)-\(values_i\) and wait \(n-f\) response values (AUX).
  • Since each process choice only the "first-arrived" value, it is not guaranteed that each replica has a same value at this point. Therefore each process exchane the first value by \(broadcast\)ing AUX messages, and then check whether there is only one value. Otherwise all replicas repeat additional rounds with initial value(\(est_i\)) set by common coin. In this case, expected the number of rounds is 4. (2 rounds as mentioned, and coin probability 50%).
  • Common coin play a role to guarantee that all the replicas have the same value. This role can be replaced by additional broadcast(Achour Mostéfaoui, Hamouma Moumen, and Michel Raynal. 2015. SignatureFree Asynchronous Binary Byzantine Consensus with t < n/3, O(n2) Messages, and O(1) Expected Time. J. ACM 62, 4 (2015), 31:1–31:21.), and etc.

'BlockChain > [paper] Consensus' 카테고리의 다른 글

[논문 리뷰] Scaling Blockchain Consensus via a Robust Shared Mempool  (1) 2023.03.16
[논문 리뷰] The Honey Badger of BFT protocols  (0) 2023.03.09
[논문 세미나] PACE: Fully Parallelizable BFT from Reproposable Byzantine Agreement  (0) 2023.03.08
[논문 리뷰] Asychronous Secure Computations with Optimal Resilience  (0) 2023.03.08
[논문 리뷰] PBFT: Practical Byzantine Fault Tolerance  (0) 2023.02.18
    동현 유
    동현 유
    Fault Tolerant System Researcher for more Trustful World and Better Lives. (LinkedIn: https://www.linkedin.com/in/donghyeon-ryu-526b8a276/)

    티스토리툴바