본문 바로가기
블록체인

#19. 누구나 이해할 수 있는 블록체인 작동원리 25단계

by 캔버스토리 Canvastory 2022. 9. 16.

요약: 동일한 버전의 트랜잭션 이력을 선택하기 위한 합의

'블록체인 작동원리 25단계'는 논리적 흐름에 따라 작성된 시리즈물이다. 기반 지식이 있다면 필요한 내용만 골라 보는 것도 가능하겠지만, 생소하다면 처음부터 순서대로 읽는 것을 추천한다.

 

- 처음 글 : #0. 누구나 이해할 수 있는 블록체인 작동원리 25단계

- 이전 글 : #18. 누구나 이해할 수 있는 블록체인 작동원리 25단계

 

셋째 마당 (8~21단계) 키워드: 블록체인의 주요 개념과 기술

 

[19단계] 컴퓨터들도 라인을 잘 타야 살아남는다. 노드들이 갈림길에서 일관되게 선택하는 방법

 

 새 블록을 네트워크에 전송하는 데 걸린 시간의 지연으로 인해, 또는 거의 동시에 새 블록을 생성한 노드들로 인해 블록체인-데이터-구조는 트리나 선인장처럼 자란다. 공통 몸통으로부터 뻗어나간 줄기들은 트랜잭션 이력의 버전이 서로 충돌하는 것을 나타낸다.

 

 동일한 버전의 트랜잭션 이력을 선택하는 것은 집단적 의사결정 문제이다.

 

 분산 합의는 순수 P2P 시스템에서 집단적 의사결정 문제에 대한 구성원들의 동의이다.

 

 블록체인의 집단적 의사결정 문제는 다음과 같은 성질로 특징지어진다.
 -
모든 노드는 네트워크, 블록체인-데이터-구조의 개별적 복사본을 유지하는 노드, 노드의 행동을 통제하는 블록체인-알고리즘으로 구성된 동일한 환경에서 작동한다.
 -
의사결정 문제는 모든 노드가 동일한 트랜잭션 이력을 선택하는 것이다.
 -
모든 노드는 블록체인-데이터-구조에 유효한 새 블록을 추가함으로써 보상을 얻어 개인적 수입을 최대화하려 노력한다.
 -
목표 달성을 위해 각 노드는 새 블록을 피어들에게 전달해 검사받고 인정받으려 한다. 그 결과 각 노드는 환경에 개별적 흔적을 남기게 되고 이것이 모여 블록체인-데이터-구조를 유지한다.

 

 모든 노드는 트랜잭션 데이터 이력 선정을 위해 동일한 기준을 사용한다.

 

 가장-긴-체인-기준은 각 노드가 트리-모양 블록체인-데이터-구조 중 가장 많은 블록을 가진 경로를 개별적으로 선택하는 것이다.

 

 가장-무거운-체인-기준[i]은 각 노드가 트리-모양 블록체인-데이터-구조 중 난이도 합산이 가장 큰 경로를 개별적으로 선택하는 것이다.

 트리-모양 블록체인-데이터-구조의 특정 경로를 선정하면 다음과 같은 결과가 만들어진다.
 -
고아 블록: 권위 체인이 선정되면, 트리-모양 데이터 구조 내 권위 체인 경로에 속하지 않은 블록은 모두 버려지게 되는데, 이를 고아 블록이라 부른다.
 -
보상 회수: 고아 블록 생성 시 받았던 보상 회수
 -
소유권 명확화: 권위 체인에 속한 트랜잭션들만 실제로 발생한 것으로 인정받아 소유권 명확화에 사용
 -
트랜잭션 재처리: 고아 블록에 소속돼 버려진 트랜잭션 데이터는 다시 노드의 수신함에 넣어져 재처리된 후 블록체인-데이터-구조에 다시 추가되어 선택된 트랜잭션 이력의 일부가 될 기회를 한 번 더 부여받는다.
 -
공통 몸통의 성장: 트랜잭션 이력의 상충되는 버전은 덜 모호한 공통 몸통으로부터 뻗어 나온 것이기 때문에 깊이 들여다볼수록 해당 블록이 가장 긴 체인의 일부인지 아닌지가 더 명확해진다.
 -
궁극적 일관성: 시간이 지나 더 많은 블록이 추가될수록 권위 체인에 포함될 가능성이 높아지는 현상
 -
조작에 대한 견고성: 새로운 권위 경로를 만들려면 대다수가 유지하고 있는 경로를 따라잡고 앞질러야 한다. 그러니 대다수의 계산 자원을 모두 합친 것보다 월등한 계산 자원을 가지고 있지 않는 한 불가능하다.

 

 블록이 권위 체인에 깊숙이 들어가 있을수록 다음과 같은 사실이 성립된다.
 -
더 오래전에 추가되었다.
 -
블록체인-데이터-구조에 포함된 후 더 많은 시간이 흘렀다.
 -
후속 블록 추가에 더 많은 공통된 노력이 소모되었다.
 -
가장 긴 체인에 속한 블록들의 변화에 덜 영향받는다.
 -
버려질 가능성이 낮다.
 -
시스템의 다른 노드에 의해 더 많이 인정되었다.
 -
노드의 공통 이력에 남을 가능성이 더 높다.

 

 시간이 지나 더 많은 블록이 추가될수록 권위 체인에 포함될 가능성이 더 높아지는 현상궁극적 일관성이라 부른다.

 

 51% 공격[ii]은 대다수의 동의[iii]를 얻거나 통제하려는 시도를 통해 권위 체인의 블록 일부를 고아 블록으로 만들고, 트랜잭션 데이터의 새로운 권위 체인을 만들어 공격자에게 혜택이 돌아가도록 조작된 소유권 정보를 배부하려고 하는 것을 의미한다.

 

 51% 공격은 다음과 같은 특징을 가지고 있다.
 -
경제적 측면: 집단적 트랜잭션 이력을 변경하여 소유권 할당을 바꿈
 -
의사결정 측면: 원하는 결과를 얻기 위해 대다수의 표를 모음
 -
기술적 측면: 시스템 무결성을 약화시킴
 -
구조적 측면: 숨겨진 중앙 통제 요소를 일정 시간 이상 생성시켜 시스템의 상태를 변경

 


 

[i] 가장-무거운-체인-기준은 가장--체인-기준을 포함하는 개념이다. 무게는 각 블록별로 가중치를 따로 계산하는 개념인데, 이 가중치를 전부 동일하게 설정한 특수 형태가 가장--체인-기준이 되기 때문이다. 따라서 가장-무거운-체인-기준이 가장--체인-기준을 비롯한 다른 모든 경우를 포함하는 것으로 정리할 수 있다.

 

[ii] 블록체인-데이터-구조에서 궁극적 합의는 다수결에 의해 이루어지는 것이 아니라, 가장 강력한 해시 파워를 가진 단 하나의 노드에 의해 결정된다. 51% 공격도 51%의 투표를 받았다는 것이 아니라 특정 노드가 51%의 힘을 가졌다는 의미이다.

 

[iii] 다수결에 의한 분산 합의 개념은 가능한 여러 방식 중 하나일 뿐이다. 실제로 비트코인은 다수결이 아니라 규칙을 지키는 사람 중 가장 힘센 한 명을 따라 모두 바뀌는 방식으로 구현되었다. 다시 말해, 노드의 개수가 몇 개든 간에(힘센 1명과 99명으로 갈라졌어도) 가장 힘센 한 명을 모두가 따라가는 것이다. 이때 힘센 사람을 결정하는 방법은 여러 가지가 있는데 비트코인에서는 작업 증명을 통해 블록체인을 만드는 데 가장 많은 노력과 에너지를 투입한 사람으로 정의하고 있다.

 

 

※  함께 읽으면 좋은 글

[독서 기록] 최고의 블록체인 입문서 (블록체인 무엇인가?)

[독서 기록] 비트코인부터 시작하는 블록체인 & 가상화폐 입문서 (외계어 없이 이해하는 암호화폐)

[독서 기록] 블록체인과 암호화폐를 가볍게 접하는 입문서 (만화로 배우는 블록체인)

댓글