썬더코어의 서포터즈 "TT 서포터즈"로 활동중인
진성 코바기 + 소문내기 성애자 + 서포터즈 전문가
"탱크가즈아"입니다~
오늘도 여느때와 다름 없이
썬더코어에 관한 글을 써보도록 하겠습니다^^
블록체인의 데이터는 중앙화된 서버 대신 전세계에 흩어져 있는 수많은 노드(Node)에 보관되기 때문에 각각의 노드들은 블록에 기록하는 데이터가 위변조되지 않은 원본이라는 것을 상호간에 합의하는 과정이 필요합니다. 만약 블록을 생성하는 특정 노드가 악의를 품고 조작된 데이터를 저장하거나 네트워크에 전파한다면 시스템 전체의 신뢰도가 떨어지게 됩니다. 이런 악의적인 상황이 발생하더라도 네트워크를 올바른 방향으로 이끌고자하는 다수의 노드들이 상호 검증을 거쳐 올바른 블록 생성을 이끌어내는 프로세스와 알고리즘을 바로 컨센서스, 즉 합의라고 합니다.
컨센서스는 블록체인에서 가장 중요한 개념 중 하나이기 때문에, 어떤 컨센서스 알고리즘을 사용하는지는 블록체인의 기술력과 경쟁력으로 여겨지기도 합니다. 비트코인과 이더리움은 PoW(Proof-of-Work)라는 작업증명 방식의 컨센서스 알고리즘을 사용하고 있으며, 이오스는 스팀이나 비트쉐어와 같은 DPoS 방식의 컨센서스 알고리즘을 사용하고 있습니다. 참고적으로 이더리움은 PoW의 단점을 개선하기 위해 컨센서스 알고리즘을 PoS(Proof-of-Stake)라는 지분증명 방식으로 변경하는 것을 준비 중에 있습니다. 앞에 설명해드린 PoW, DPoS, PoS가 가장 기본적인 컨센서스의 모델들이라고 이해하시면 되겠지요!
Thunder의 컨센서스(Consensus)는 "Snow White"로 명명이 되어있는데요!
이 논문에서는 리더의 선출과 컨센서스(Consensus)의 작동에 대해 적혀있습니다.
리더의 경우 기존의 POS처럼 누구를 투표하여 선출하는 것이 아닌 활동을 하고 있는 누군가에 대해서 랜덤의 인스턴스로 선출을 하게 된다는 점이 특징적인데요. 이렇게 선출이 된 리더는 자신의 ID, Transaction, Time, 이전 블록의 해시(Hash)를 가지는 Tuple에 서명을 할 수 있는 권한이 생기게 됩니다.
이렇게 서명이 된 Tuple은 앞서 언급한 순서처럼 위원회에게 넘어가게 되고 위원회의 3/4이상이 동의하면 처리가 되는 것이죠.
Snow White에서는 타임스탬프(Timestamp)를 중요시 여기는데요. Thunder에서는 Timestamp에 대해서 다음과 같은 규칙이 필요하다고 이야기합니다.
1)유효한 블록체인은 타임스탬프 증가 (Strictly increasing Timestamp)
2)정직한 노드는 미래 타임스탬프를 항상 Reject
Thunder가 컨센서스의 명칭을 Snow White, 즉 백설공주로 명명한 이유 또한 그냥! 이 아니라 무려 그 근거가 논문에 실려있는데요..^^
기존의 POS 방식에서의 활동하는 노드들에 대해 의문을 제기하는 "Sleepy Model"이라는 논문이라고 합니다.
그 내용 간략하게만 살펴보면!
노드 즉 위원이라고 불리는 이들이 항상 깨어있는 Awake 상태더라도 실제로 한 번도 위원회에 참석을 못하거나 안했을 수 있습니다. 논문에서는 이러한 상황이 실제로 위원이 잠시 휴식을 취하는 것인지 네트워크의 연결 문제인지 알 수 없다고 지적하는데요.
또한, 오랜 시간 휴식기를 가진 위원이 다시 복귀를 하였을 때 과거에는 정직한 체인이었다 악의적인 체인으로 변질되었다해도 구분을 하지 못한다고 말하고 있습니다.
그에 대한 해결책으로 Sleepy Model을 주장하며, 이에 대해 정직한 Player가 보낸 메시지를 다음 Round에서 모든 노드가 공유해야 한다고 이야기합니다. 또한 부분적 동기나 비동기식 통신의 경우 정직한 Player 수에 대한 정보를 가져야 한다고 이야기하며, 마지막으로 휴식기에 들어간 위원은 메시지를 공유해야 한다는 것이죠. 이러한 방식을 통해 휴식기에 들어가거나 부득이하게 네트워크 연결로 참여를 못하더라도 악의적인 노드들이 없고 프로토콜이 유지되게 하고자 하는 것입니다!
출처 : Medium, 이더리움 연구회, 리서치 4주차 Thunder Token
그냥 생각나는 대로가 아니라 논문을 기반으로 프로토콜을 만들고 컨센서스를 채택하는 썬더코어..!
뭔가 논문 기반으로 한다고 하니 더 신뢰가 가고 그러네요 ㅎㅎ
'암호화폐 (가상화폐, Cryptocurrency) > 블록체인 (Blockchain)' 카테고리의 다른 글
[썬더코어] 블록체인 확장성 문제의 구세주 "썬더" (0) | 2019.05.14 |
---|---|
[ThunderCore 썬더코어] 첫번째 이야기. 썬더코어의 4가지 강점은 무엇일까? (0) | 2019.05.14 |
#3. 썬더코어의 기술 : 확장성 문제의 해결 (0) | 2019.05.14 |
#2 썬더코어 라이트페이퍼를 해석해보았다. (0) | 2019.05.14 |
캐리프로토콜 실사용사례 1. 법정화폐 사용 및 보상 (0) | 2019.05.11 |