"위임 프랙티컬 비잔틴 장애 허용"의 두 판 사이의 차이
leejia1222 (토론 | 기여) |
잔글 (→같이 보기) |
||
(사용자 2명의 중간 판 9개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
'''위임 프랙티컬 비잔틴 장애 허용'''('''dPBFT'''; delegated PBFT; delegated Practical Byzantine Fault Tolerance)은 기존의 [[프랙티컬 비잔틴 장애 허용]](PBFT) 알고리즘에 [[북키퍼]](bookkeeper) 개념을 추가한 [[합의 알고리즘]]이다. 간략히 '''위임 비잔틴 장애 허용'''(DBFT; Delegated Byzantine Fault Tolerance)이라고 한다. 중국의 이더리움으로 불리는 '''[[네오]]'''(NEO)가 이 방식을 사용하고 있다. | '''위임 프랙티컬 비잔틴 장애 허용'''('''dPBFT'''; delegated PBFT; delegated Practical Byzantine Fault Tolerance)은 기존의 [[프랙티컬 비잔틴 장애 허용]](PBFT) 알고리즘에 [[북키퍼]](bookkeeper) 개념을 추가한 [[합의 알고리즘]]이다. 간략히 '''위임 비잔틴 장애 허용'''(DBFT; Delegated Byzantine Fault Tolerance)이라고 한다. 중국의 이더리움으로 불리는 '''[[네오]]'''(NEO)가 이 방식을 사용하고 있다. | ||
+ | |||
+ | == 개요 == | ||
+ | 위임 프랙티컬 비잔틴 장애 허용은 [[지분증명]](PoS) 방식의 이점을 취하여 최소한의 자원을 사용해 [[하드웨어]], 전기, 에너지에 소모되는 높은 전력비용 문제를 해결한 합의 알고리즘이다. 또한 현 [[블록체인]] [[네트워크]]를 [[비잔틴 장애]] 리스크로부터 보호하면서 [[작업증명]](PoW) 및 지분증명 방식에 존재하는 성능부족과 확장성 문제를 동시에 해결하였다. 위임 프랙티컬 비잔틴 장애 허용 방식은 적은 전력비용, 고성능 및 확장성 확보라는 장점이 있지만 동시에 낮은 인지도라는 단점을 가지고 있다. | ||
== 사용 == | == 사용 == | ||
* '''네오''' | * '''네오''' | ||
[[파일:네오 글자.png|썸네일|300픽셀|'''[[네오]]'''(NEO) - 위임 프랙티컬 비잔틴 장애 허용(dPBFT) 합의 알고리즘을 사용]] | [[파일:네오 글자.png|썸네일|300픽셀|'''[[네오]]'''(NEO) - 위임 프랙티컬 비잔틴 장애 허용(dPBFT) 합의 알고리즘을 사용]] | ||
− | : 네오(NEO)가 사용하는 '''위임 프랙티컬 비잔틴 장애 허용''' 합의 알고리즘은 네오 코인 소유자들로부터 위임을 받은 대리인들이 [[투표]]를 통해 합의에 대규모로 참여할 수 있게 하는 [[메커니즘]]이다. [[노드]]를 운영하는 [[북키퍼]] | + | : 네오(NEO)가 사용하는 '''위임 프랙티컬 비잔틴 장애 허용''' 합의 알고리즘은 네오 코인 소유자들로부터 위임을 받은 대리인들이 [[투표]]를 통해 합의에 대규모로 참여할 수 있게 하는 [[메커니즘]]이다. [[노드]]를 운영하는 [[북키퍼]]의 60% 이상이 동의할 경우에만 합의가 이루어지는 방식이다. 이를 위해 먼저 네오 코인 사용자들은 투표를 통해서 대표자인 북키퍼를 선출한다. 위임 프랙티컬 비잔틴 장애 허용 방식을 통해 선출된 북키퍼들은 [[블록]]을 검증할 때마다 [[랜덤]]으로 그 중에서 다시 블록 생성자(BP)들이 결정되고, 이 중 3분의 2 이상의 북키퍼들이 검증에 동의하여 합의가 이루어지면, 새로운 블록이 생성된다. |
+ | |||
+ | : 위임 비잔틴 장애 허용 방식을 통해 네오는 높은 효율성과 빠른 속도라는 장점을 취할 수 있다. [[투표]]는 특정한 시간에만 이루어지는 것이 아니라, 실시간으로 계속 진행된다. 위임 비잔틴 장애 허용 알고리즘에서는 새로운 블록을 생성하는 데 약 15~20초 정도가 소요되며, [[트랜잭션]] 처리량은 1초에 최대 1,000건까지 가능하다. 적절한 최적화를 통해 앞으로 네오는 10,000 TPS에 도달할 수 있을 것으로 예상하고 있으며, 이를 기반으로 대규모 상업용 [[디앱]]을 지원하려고 한다. | ||
+ | |||
+ | : 위임 비잔틴 장애 허용 알고리즘은 디지털 아이디 기술과 결합되어 있기 때문에, 북키퍼는 개인 또는 기관의 실명으로 활동이 가능하다. 따라서 사법적 결정으로 인한 동결, 취소, 상속, 회수 및 소유권 이전이 가능하다. 이것은 네오 네트워크에서 컴플라이언스 금융 자산의 등록을 용이하게 한다. 즉, 네오는 디지털 아이디 등 법 규제를 준수하게끔 만드는 컴플라이언스 솔루션을 갖추고 있어, 실물 자산을 블록체인에 등록하고 거래하기 적합하다.<ref>"[http://docs.neo.org/en-us/whitepaper.html NEO White Paper - A distributed network for the Smart Economy]", ''NEO Documentation''</ref> {{자세히|네오}} | ||
+ | |||
+ | == 평가 == | ||
+ | 위임 프랙티컬 비잔틴 장애 허용의 장점은 속도와 완료성이다. [[네트워크]]에 참여하는 수많은 사람들이 다 검증에 참여하는 것이 아니라, 소수의 대표들끼리 [[합의]]를 통해 결정하기 때문에 [[블록]] 생성 과정이 훨씬 단순해지고 빨라진다. 현재 네오의 초당 거래 처리량은 평균 1000 TPS이다. [[이더리움]]이 평균 15 TPS임을 볼 때 속도에 있어서는 큰 우위를 가진다. | ||
− | + | 또한 [[포크]](fork)가 일어나지 않는다. 포크란 네트워크의 [[노드]]들이 의견이 일치하지 않을 때 [[블록체인]]이 여러 개로 갈라지는 현상을 말한다. [[작업증명]]이나 [[지분증명]] 방식에서는 일시적으로 진본이 두 개 이상일 때가 있다. 이 경우에 동시에 서로 다른 유효한 블록이 생길 수 있다. 하지만 결국에는 가장 긴 [[체인]]이 진본으로 인정된다. 이런 일시적인 포크는 금방 사라지기는 하지만 거래가 블록체인에 연결되더라도 일정 시간이 지나기 전까지 그 거래를 100% 확정지을 수 없다.또 아예 의도적으로 네트워크의 일부 참가자들이 [[하드포크]](hard fork)를 일으킬 수도 있다. 그러면 네트워크는 두 개로 분리된다. | |
− | + | 블록이 생성되는 즉시 확정되는 것을 완료성이라고 한다. 완료성이 중요한 이유는 역시나 제도권에 도입되기 위해서이다. 완료성은 주식시장, [[은행]] 업무 등 복잡하고 규제가 많은 [[금융]] 산업에 반드시 필요하다. 어떤한 답이 일시적이라고 하더라도 복수가 존재할 수 있다는 사실은 시스템에 심각한 오류나 실수를 일으킬 수 있기 때문이다. 따라서 기업과 정부 기관의 입장에서는 결정성을 보장하지 않는 이더리움보다 결정성을 가진 네오를 선호할 가능성이 더 높다. | |
+ | |||
+ | 다만 위임 프랙티컬 비잔틴 장애 허용에서는 권력이 특정 노드들에게 집중된다는 문제점이 있다. 수십 개 정도의 노드들이 전체를 대표하는 권한을 가지면 의사결정은 빨라진다. 하지만 담합을 통해 자신들 마음대로 잘못된 거래를 인증할 가능성도 생긴다. 위임 프랙티컬 비잔틴 장애 허용 방식은 속도와 완료성이라는 큰 장점을 가지고 있지만 여전히 검증 노드에 대한 어느정도의 신뢰를 필요로 한다는 한계 또한 내포하고 있다.<ref>송범근, 〈[https://brunch.co.kr/@bumgeunsong/48 외계어 없이 네오(NEO) 이해하기]〉, 《브런치》, 2018-02-01</ref> | ||
{{각주}} | {{각주}} | ||
+ | |||
+ | ==참고자료== | ||
+ | * "[http://docs.neo.org/en-us/whitepaper.html NEO White Paper - A distributed network for the Smart Economy]", ''NEO Documentation'' | ||
+ | * 송범근, 〈[https://brunch.co.kr/@bumgeunsong/48 외계어 없이 네오(NEO) 이해하기]〉, 《브런치》, 2018-02-01 | ||
== 같이 보기 == | == 같이 보기 == | ||
17번째 줄: | 33번째 줄: | ||
* [[네오]] | * [[네오]] | ||
− | {{알고리즘| | + | {{합의 알고리즘|검토 필요}} |
2019년 7월 2일 (화) 08:54 기준 최신판
위임 프랙티컬 비잔틴 장애 허용(dPBFT; delegated PBFT; delegated Practical Byzantine Fault Tolerance)은 기존의 프랙티컬 비잔틴 장애 허용(PBFT) 알고리즘에 북키퍼(bookkeeper) 개념을 추가한 합의 알고리즘이다. 간략히 위임 비잔틴 장애 허용(DBFT; Delegated Byzantine Fault Tolerance)이라고 한다. 중국의 이더리움으로 불리는 네오(NEO)가 이 방식을 사용하고 있다.
개요[편집]
위임 프랙티컬 비잔틴 장애 허용은 지분증명(PoS) 방식의 이점을 취하여 최소한의 자원을 사용해 하드웨어, 전기, 에너지에 소모되는 높은 전력비용 문제를 해결한 합의 알고리즘이다. 또한 현 블록체인 네트워크를 비잔틴 장애 리스크로부터 보호하면서 작업증명(PoW) 및 지분증명 방식에 존재하는 성능부족과 확장성 문제를 동시에 해결하였다. 위임 프랙티컬 비잔틴 장애 허용 방식은 적은 전력비용, 고성능 및 확장성 확보라는 장점이 있지만 동시에 낮은 인지도라는 단점을 가지고 있다.
사용[편집]
- 네오
- 네오(NEO)가 사용하는 위임 프랙티컬 비잔틴 장애 허용 합의 알고리즘은 네오 코인 소유자들로부터 위임을 받은 대리인들이 투표를 통해 합의에 대규모로 참여할 수 있게 하는 메커니즘이다. 노드를 운영하는 북키퍼의 60% 이상이 동의할 경우에만 합의가 이루어지는 방식이다. 이를 위해 먼저 네오 코인 사용자들은 투표를 통해서 대표자인 북키퍼를 선출한다. 위임 프랙티컬 비잔틴 장애 허용 방식을 통해 선출된 북키퍼들은 블록을 검증할 때마다 랜덤으로 그 중에서 다시 블록 생성자(BP)들이 결정되고, 이 중 3분의 2 이상의 북키퍼들이 검증에 동의하여 합의가 이루어지면, 새로운 블록이 생성된다.
- 위임 비잔틴 장애 허용 방식을 통해 네오는 높은 효율성과 빠른 속도라는 장점을 취할 수 있다. 투표는 특정한 시간에만 이루어지는 것이 아니라, 실시간으로 계속 진행된다. 위임 비잔틴 장애 허용 알고리즘에서는 새로운 블록을 생성하는 데 약 15~20초 정도가 소요되며, 트랜잭션 처리량은 1초에 최대 1,000건까지 가능하다. 적절한 최적화를 통해 앞으로 네오는 10,000 TPS에 도달할 수 있을 것으로 예상하고 있으며, 이를 기반으로 대규모 상업용 디앱을 지원하려고 한다.
- 위임 비잔틴 장애 허용 알고리즘은 디지털 아이디 기술과 결합되어 있기 때문에, 북키퍼는 개인 또는 기관의 실명으로 활동이 가능하다. 따라서 사법적 결정으로 인한 동결, 취소, 상속, 회수 및 소유권 이전이 가능하다. 이것은 네오 네트워크에서 컴플라이언스 금융 자산의 등록을 용이하게 한다. 즉, 네오는 디지털 아이디 등 법 규제를 준수하게끔 만드는 컴플라이언스 솔루션을 갖추고 있어, 실물 자산을 블록체인에 등록하고 거래하기 적합하다.[1] 네오에 대해 자세히 보기
평가[편집]
위임 프랙티컬 비잔틴 장애 허용의 장점은 속도와 완료성이다. 네트워크에 참여하는 수많은 사람들이 다 검증에 참여하는 것이 아니라, 소수의 대표들끼리 합의를 통해 결정하기 때문에 블록 생성 과정이 훨씬 단순해지고 빨라진다. 현재 네오의 초당 거래 처리량은 평균 1000 TPS이다. 이더리움이 평균 15 TPS임을 볼 때 속도에 있어서는 큰 우위를 가진다.
또한 포크(fork)가 일어나지 않는다. 포크란 네트워크의 노드들이 의견이 일치하지 않을 때 블록체인이 여러 개로 갈라지는 현상을 말한다. 작업증명이나 지분증명 방식에서는 일시적으로 진본이 두 개 이상일 때가 있다. 이 경우에 동시에 서로 다른 유효한 블록이 생길 수 있다. 하지만 결국에는 가장 긴 체인이 진본으로 인정된다. 이런 일시적인 포크는 금방 사라지기는 하지만 거래가 블록체인에 연결되더라도 일정 시간이 지나기 전까지 그 거래를 100% 확정지을 수 없다.또 아예 의도적으로 네트워크의 일부 참가자들이 하드포크(hard fork)를 일으킬 수도 있다. 그러면 네트워크는 두 개로 분리된다.
블록이 생성되는 즉시 확정되는 것을 완료성이라고 한다. 완료성이 중요한 이유는 역시나 제도권에 도입되기 위해서이다. 완료성은 주식시장, 은행 업무 등 복잡하고 규제가 많은 금융 산업에 반드시 필요하다. 어떤한 답이 일시적이라고 하더라도 복수가 존재할 수 있다는 사실은 시스템에 심각한 오류나 실수를 일으킬 수 있기 때문이다. 따라서 기업과 정부 기관의 입장에서는 결정성을 보장하지 않는 이더리움보다 결정성을 가진 네오를 선호할 가능성이 더 높다.
다만 위임 프랙티컬 비잔틴 장애 허용에서는 권력이 특정 노드들에게 집중된다는 문제점이 있다. 수십 개 정도의 노드들이 전체를 대표하는 권한을 가지면 의사결정은 빨라진다. 하지만 담합을 통해 자신들 마음대로 잘못된 거래를 인증할 가능성도 생긴다. 위임 프랙티컬 비잔틴 장애 허용 방식은 속도와 완료성이라는 큰 장점을 가지고 있지만 여전히 검증 노드에 대한 어느정도의 신뢰를 필요로 한다는 한계 또한 내포하고 있다.[2]
각주[편집]
- ↑ "NEO White Paper - A distributed network for the Smart Economy", NEO Documentation
- ↑ 송범근, 〈외계어 없이 네오(NEO) 이해하기〉, 《브런치》, 2018-02-01
참고자료[편집]
- "NEO White Paper - A distributed network for the Smart Economy", NEO Documentation
- 송범근, 〈외계어 없이 네오(NEO) 이해하기〉, 《브런치》, 2018-02-01
같이 보기[편집]
이 위임 프랙티컬 비잔틴 장애 허용 문서는 합의 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.