블록체인 합의: Difference between revisions
From IT Wiki
(2 intermediate revisions by the same user not shown) | |||
Line 56: | Line 56: | ||
| | | | ||
* 51% Attack | * 51% Attack | ||
* | * [[블록체인 완결성|완결성 문제]] | ||
* 느린 트랜잭션 | * 느린 트랜잭션 | ||
* 에너지 낭비 | * 에너지 낭비 | ||
Line 74: | Line 74: | ||
* 에너지 낭비 적음 | * 에너지 낭비 적음 | ||
| | | | ||
* | * [[블록체인 완결성|완결성 문제]] | ||
* 검증 부족 | * 검증 부족 | ||
| | | | ||
Line 91: | Line 91: | ||
* 에너지 낭비 적음 | * 에너지 낭비 적음 | ||
| | | | ||
* | * 완전성 문제 | ||
* 검증 부족 | * 검증 부족 | ||
* 탈중앙성 부족 | * 탈중앙성 부족 | ||
Line 126: | Line 126: | ||
*각 노드는 명령을 일정 수 이상 수신하면 명령을 실행하고 블록을 등록 | *각 노드는 명령을 일정 수 이상 수신하면 명령을 실행하고 블록을 등록 | ||
| | | | ||
* | * [[블록체인 완결성|완결성 문제 해결]] | ||
* 빠른 트랜잭션 | * 빠른 트랜잭션 | ||
| | | | ||
* 참여자 사전 파악 필요 | * 참여자 사전 파악 필요 | ||
* 참가자 | * 참가자 증가 시 성능 하락 | ||
| | | | ||
* 페브릭 | * 페브릭 |
Latest revision as of 19:57, 8 March 2020
- Blockchain Consensus
본 문서는 블록체인의 함의 알고리즘, 합의 프로세스에 대해 다룬다.
속성[edit | edit source]
- 합의 프로토콜은 아래 두 속성을 만족시켜야 한다.
- Safety: 시스템에 나쁜 일이 발생하지 않는다는 의미이며, 모든 정상적인 참여자는 같은 상태에 동의하여야 하고, 그 상태는 유효해야 함
- 문제 없는 노드는 잘못된 합의를 하지 않는다.
- Liveness: 시스템은 항상 살아 있어야 한다는 의미이며, 결국에는 어떤 상태에 동의하여야 하고, 모든 참여자는 동의된 상태에 도달해야 함
- 문제 없는 노드는 반드시 합의를 한다.
Liveness over Safety[edit | edit source]
Safety over Liveness[edit | edit source]
주요 고려사항[edit | edit source]
- Finality Problem
- 51% Attack/BTF
- Transaction Cost
합의 방식 종류[edit | edit source]
합의 방식 | 설명 | 장점 | 단점 | 사용 코인 | |
---|---|---|---|---|---|
퍼블릭
|
작업 증명
|
|
|
|
|
지분 증명
|
|
|
|
| |
위임 지분 증명
|
|
|
|
| |
경과 시간 증명
|
|
|
| ||
프라이빗
|
PBTF |
|
|
|
|
권한 증명
|
|
||||
PAXOS |
|
||||
RAFT |
|
|
|||
Sieve |
|