블록체인 트렐리마 - 정답

Lumi·2021년 12월 2일
0
post-thumbnail

💡 Finality와 Liveness란 무엇인가

일단 질문이 조금 잘못된것 같습니다.

보통은 Liveness와 Safety를 비교를 하기 떄문에 Safety, Liveness, Finality이 3가지에 대해서 간략하게 다루어 보겠습니다.

일단 Safety와 Liveness입니다.

이둘은 FLP이론에 따라서 합의 알고리즘에서 서로 공존을 할 수가 없는 상태입니다.

Safety는 주로 코스모스에서 사용되는 합의 알고리즘이 대표적이고 문제 없는 노드는 모두 같은 합의를 한다라는 의미로 사용이 됩니다.

코스모스에서 사용되기 떄문에 주로 PBFT합의 알고리즘에서 우선시하여 사용된다고 할 수가 있습니다.

Liveness는 주로 비트코인에서 사용하는 합의 알고리즘으로 노드들은 반드시 합의가 이루어 진다라는 의미로 사용이 됩니다.

예를 들면 두 노드가 서로 다른 논스를 가진 블록을 채굴하면 둘중 하나만 채굴이 되게 됩니다.

이는 서로 다른 블럭을 만들어 낸 것이 기 떄문에 Safety에 위반됩니다.

하지만 반대로 반듯이 합의가 일어나기 떄무네 Liveness는 보장된다고 말 할 수가 있습니다.

그럼 Finality는 무엇이냐는 질문에는 좀 어려운것 같습니다.

블록체인에서 완결성이란 즉각적, 확률적 이렇게 크게 두가지로 나뉘게 됩니다.

확률적이란 의미는 기록이 바로 성립되지가 않는다는 의미인데 이러한 이유는 바로 분기 떄문이라고 할 수가 있습니다.

즉각적이라는 의미는 기록이 바로 성립된다는 의미로 사용이 되며 어떻게 보면 확률적보다는 즉각적이 좀더 좋아보이지는 상황에 따라서 달라지기 떄문에 어떤 것이 더 좋다고 말할수가 없습니다.

예를 들면 즉각적인 시스템은 오류가 발생을 하였을떄 이를 묵인하지 못하고 시스템이 정지가 되지만 확률성을 보장하는 시스템은 오류가 발생을 하여도 유동적으로 시스템이 작동을 하게 됩니다.

💡 컨센서스란

쉽게 말해 생태계를 이루는 방식이라고 생각을 합니다.

이는 합의 알고리즘과 매우 유사한 역할을 수행하며 저는 개인적으로 합의 알고리즘과 컨센서스를 동일시 하고 있습니다.

생태계가 유지되기 위해서 사용하는 일종의 법과 같은 역할을 하는 것을 말합니다.

💡 Finality가 블록체인에서 중요한 이유

완결성은 블록체인 시스템에서 매우 중요한 요인입니다.

현실 사회에서 완결성이 즉각적으로 적용되는 사례를 생각해보면 신용카드가 있습니다.

결제를 하면 바로 결제가 되는 이러한 현상을 즉각성이라고 합니다.

하지만 블록체인은 서로 신뢰간에 이루어지는 시스템이고 대부분이 확률성에 의존하여 생태계가 구성이 되게 됩니다.

  • 물론 즉각성을 우선시 하여 처리하는 생태계도 많습니다.

완결성은 거래에 있어서는 거래가 완료되었다는 것을 의미하기 떄문에 사용자 입장에서는 언제 거래가 완료되지 못하는 것보다는

바로바로 즉각적으로 거래가 완료되는것을 더 선호할 것이기 떄문에 이러한점에서 완결성은 중요한 역할을 하고 있다고 할 수가 있습니다.

말이 조금 붕 뜨는 것 같은데 사용자 입장에서 보면 거래가 확정이 나는것이 중요하기 떄문에 블록체인에서도 중요하다고 이해를 하면 될것 같습니다.

💡 블록체인에서 TPS가 늘어나면 어떤 문제가 발생하나요?

일단 TPS가 늘어난다는 것은 확장성이 좋아진다는 말이고 현재 블록체인의 가장 문제점으로 삼고 있는 점을 해결하였다고 할 수가 있습니다.

하지만 블록체인의 트릴레마는 한쪽이 좋아지면 한쪽이 무너진다는 특성이 있고 반드시 확장성이 좋아지면 보안 및 탈중앙화가 무너지게 될 것입니다.

한가지 예를 들어 보겠습니다.

비트코인 캐시와 같이 기존의 비트코인과 다르게 블록의 크기를 늘려서 트랜잭션 처리를 더 많이 하게 한다면 확장성은 좋아질 것입니다.

하지만 보관해야 하는 데이터가 더 커지기 떄문에 일반적인 사용자는 채굴을 할 수가 없을것이고 그러면 일부 채굴자들이 독점을 하게 될 것입니다.

이러한 전개 방식은 결국 탈중앙화를 헤치게 될 것입니다.

이는 아주 간단한 예시일 뿐입니다.

이처럼 확장성 즉 한쪽이 좋아지게 된다면 탈중앙화 혹은 보안이 떨어지게 되는 블록체인 트릴레마에 빠지게 되고 이는 현재 블록체인이 가장 우선시하여 개선해 나가야 하는 문제점 입니다.

💡 블록체인의 견고성과 내구성에 대해 트릴레마와의 연관성은?

블록체인의 견고성과 내구성을 보안이라고 생각을 해보면 앞선 질문과 비슷한 대답이 될것 같습니다.

그러기 떄문에 간단한 예를 하나 들어봄으로써 대답을 해보도록 하겠습니다.

보안또한 블록체인의 트릴레마에서 뺴놓을수 없는 부분중 하나입니다.

탈중앙화를 유지할수록 분산되어 있는 시스템이 되기 때문에 보안은 더욱더 뛰어나게 될 것이지만 이로인해 확장성은 무너지게 될 것입니다.

대표적으로 비트코인이 있습니다.

보안 + 탈중앙화를 확실하게 유지하고 있지만 반대로 확장성에서는 뛰어난 효과를 발휘하고 있지 못합니다.

💡 은행과 블록체인의 차이

은행과 블록체인의 차이는 중앙원장기술과 분산원장 기술의 차이입니다.

💡 BFT와 CFT의 차이

CFT와 BFT의 차이는 단순합니다.

좀더 직관적으로 설명하자면 BFT가 CFT를 포함하고 있는 개념이라고 생각을 합니다.

CFT는 노드의 충돌로 인해서 문제가 생기더라도 나머지 노드들이 이러한 역할을 대신 수행한다는 작동을 말하면

BFT는 이곳에 추가로 특정 노드가 일부로 악의적인 행위를 하여도 나머지 노드들이 해결 가능하다는 것을 말합니다.

즉 CFT를 개선한 것이 BFT라고 생각을 합니다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글