의견.png

우로보로스 비잔틴 장애 허용

위키원
eom9522 (토론 | 기여)님의 2019년 9월 4일 (수) 13:29 판 (구현 언어)
이동: 둘러보기, 검색

우로보로스 비잔틴 장애 허용(OBFT; Ouroboros Byzantine Fault Tolerance)이란 간단한 결정론적 블록체인 기반 프로토콜로, 서버는 그들에게 이용 가능한 가장 긴 체인을 확장하는 거래의 블록을 분산시키는 미리 결정된 라운드 로빈(round-robin) 방식으로 돌아가게 된다. 서버는 거래의 결과로 클라이언트에 즉시 응답할 수 있으므로 거래의 결과를 얻을 수 있다.

개요

카르다노가 가지고 있는 기존 지분 증명 프로토콜의 한계, 그 중에서도 특히 Grinding Attack을 막기 위해 설계된 지분증명(Pos) 기반 합의 프로토콜로 우로보로스(Ouroboros)가 있는데, 이 기존의 우로보로스의 디자인에서 영감을 얻은 새로운 BFT 원장 합의 프로토콜이다. 2018년 11월에 발표된 페이퍼가 존재하며, 프로그래밍 언어 하스켈(Haskell) 과 러스트(Rust) 구현이 있다. 우로보로스 BFT를 사용하면 Shelley로의 구현 및 배포 시간을 단축할 수 있다고한다. 또한 우로보로스 비잔틴 장애 허용은 Byron이 사용하는 우로보로스 클래식과 우로보로스 제네시스 사이의 브리지(연결 다리) 역할을 한다.

구현 언어

  • 하스켈 : 순수하고 단순한 함수형 프로그래밍 언어로 함수형 프로그래밍 분야의 학자들이 부작용의 해악에 대한 아이디어를 집어넣어 설계해 20년 이상 개발해왔다. 하스켈은 함수형 프로그래밍의 이상에 대한 순수한 표현 중 하나로 I/O 채널을 다루는 데 있어 신중한 메커니즘을 갖추고 있으며, 또한 불가피한 부작용도 갖고 있다. 그러나 그 부분을 제외한 나머지 부분은 완벽하게 기능한다. 커뮤니티는 매울 활발하여 십여 개의 하스켈 변형 버전이 나와 있다. 그 중에서는 독립형도 있고 자바 도는 파이썬과 같은 주류 프로젝트와 통합되는 형태도 있다.
  • 러스트 : 러스트는 시스템 수준의 빠른 소프트웨어를 제작하기 위한 언어이다. 러스트는 빠르고, 안전하며, 무엇보다 합리적인 수준의 프로그래밍 난이도를 보장한다. 러스트는 또한 널리 사용되도록 설계되어 있으며 승자 독식의프로그래밍 언어 경쟁에서 '참가에 의의를 두는' 낙오된 언어가 되지 않도록 신경썻다. 러스트의 장점들은 브라우저뿐만 아니라 모든 소프트웨어에 필요하기 때문에 브라우저 프로젝트로 시작한 러스트는 프로그래밍 언어 프로젝트로 진화했다.

각주

참고자료

같이보기

  의견.png 이 우로보로스 비잔틴 장애 허용 문서는 합의 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.