컴퓨터, IT 지식/블록체인

블록체인을 이해하기 위한 배경지식 - CAP

게임이 더 좋아 2021. 4. 22. 20:05
반응형
728x170

 

P2P를 알아봤으니

CAP를 연관지어서 알아볼 생각이다.

 

CAP부터 알아보고 연관성을 알아보자

 


 

CAP 일반적으로 이 정리는 인터넷을 통해서 서비스를 제공하고 싶다면

서비스 제공자가 보장해야 할 3가지 특성을 말한다.

 

 

 

 

 

C는 Consitency, 일관성이다.

사용자는 항상 최신 정보를 서비스 받는 것을 보장한다.

 

A는 Availability, 가용성이다.

서비스에 문제가 생기지 않음, 즉, 서비스 중단이 되지 않음을 보장하는 것이다.

 

P는 Partition Tolerance, 분할 내성이다.

분산 시스템에서 서비스를 운용한다면 네트워크의 어느 한 지점과 연결이 끊어져도 서비스가 끊겨서는 안된다.

**네트워크 연결이 끊어지지 않음을 보장하는 것과 다르다.

 

 

이에 대한 정리도 나왔다.

++ CAP 정리는 UC, Berkeley에서 처음 제시된 가설이고 증명이 되어 정리가 된 것이다.

 

 


 

 

다시 CAP 정리는 무엇이냐?

 

"서비스 제공자가 보장해야 할 3가지 특성은 동시에 충족할 수 없다."

는 것이다.

 

???? 3가지 보장해야한다면서 동시에 충족이 불가능하다고???

 

어느 한 쪽을 충족하면 다른 쪽을 충족할 수 없다는 말이다.

즉, 역시나 trade-off 관계다. 무엇을 위해 무엇을 희생해야만 한다.

 

네트워크 엔지니어들이나 서비스 제공자들은

무엇이든 보장하는 시스템은 존재하지 않는다고 "경험적"으로 이해했다.

 

예를 들어 서버 한 대로 모든 작업을 한다면?

일관성은 보장되지만 가용성이 떨어진다. 서버가 문제가 발생하면 작업이 진행되지 않기 때문이다.

 

서버 두 대는?

서버 한 대가 고장나더라도 서비스를 제공할 순 있지만 데이터를 복사하기 위해 지연 현상이 생기므로 일관성이 낮아진다.

 

 

그렇다면 블록체인의 서비스는 어떤 것을 충족시킬 수 있을까???

 

 

블록체인은 일관성을 희생시키고 나머지 2가지를 보장한다.

 


 

어떻게 2가지를 보장하게 될까??

 

이전의 글에서 P2P를 배웠다.

 

어떤 노드에 문제가 생기더라도 시스템이 중단되거나 서비스가 중단되는 상태는 생기지 않는다. (가용성)

어떠한 노드의 연결이 끊겨도 우회해서 갈 수 있다면 서비스는 중단되지 않는다. (분할 내성)

 

 

가용성이나 분할 내성을 공격하기 위해

이런 공격이 시도될 수 있다. 

우회도 안되게 아예 특정 노드를 없애버리는 시도

 

역시 이런 공격 역시 참여하는 노드의 수가 압도적으로 많아져버리면 성공하기 어려운 공격방법이기는 하다.

 

 


 

하지만 일관성이 약하다고 했다.

왜 일관성이 보장되지 않을까??

 

역시나 노드의 수가 많을수록 가용성과 분할 내성에 강점을 보이는 P2P 분산 네트워크 방식이지만

또한 버킷딜레이가 많아진다고 했다.

 

즉, 하나의 노드에서 일어난 데이터 교환이 모든 노드에 적용되기까지 지연시간이 노드가 많을수록 길어진다.

특성 상 모든 노드의 역할이 동일하기 때문에 모든 노드에 데이터를 기록해야하는 것이다.

하지만 지연시간 특성상 노드마다 기록이 되는 시간이 다를 것임은 분명하다.

이러한 시간에 구애받는 작업을 한다.

(선착순 구매 같은) 이러한 작업의 경우 블록체인은 거래 수단으로 적합하지 않다.

 

** 반대로 시간이 걸리더라도 신뢰할 수 있음은 분명하다.

 


 

사람이 왜 이렇게 발전을 했나?

약점이 있더라도 포기하지 않고 보완하려고 노력했기 때문이다.

블록체인의 일관성을 보완하기 위해 사람들은 무엇을 했을까?

어떻게 생각을 했을까?

 

** 일반적으로 블록체인은 핀테크(Fintech = Finance + Technology) 의 영역이라고 생각한다.

 

 

블록체인의 기본은 변하지 않는다.

모든 노드가 같은 역할을 수행하는 것은 변하지 않는다.

기록 시간의 차이가 있는 것이지 결국 모든 노드가 같은 데이터를 갖게되는 것은 변함이 없다.

바로 그 순간, 일정 시간 후에 모두 같은 데이터를 갖게되는 순간. 

그 일정 시간 이후에는 블록체인의 일관성이 보장된다고도 볼 수 있다.

 

즉, 즉시 결제와 같은 신용카드, 교통 IC카드 등에서는 블록체인이 일관성을 지키기는 힘들지만

다른 작업에 적용하는 경우는 일관성을 보장한다고 말할 수도 있는 것이다.

 

 

728x90
반응형
그리드형