기술 분야 평론 - BCH 분할 중 발생한 블록 크기 전쟁: 블록의 크기를 크게 확대하는 것이 효율성을 높이는 정확한 방법인가?

2019.01.21

기술 분야 평론 - BCH 분할 중 발생한 블록 크기 전쟁: 블록의 크기를 크게 확대하는 것이 효율성을 높이는 정확한 방법인가?

img

2018년 11월, BCH의 분할 중, 비트코인 SV 진영에서는 블록 크기를 기존에 추가하여 128MB 크기로 늘리기를 원한다. 비트코인 ABC 진영은 32MB로 충분하다고 보고 있다. 비트코인 최초의 1MB 크기에 비해 1년여에 걸쳐 크기를 조정하는 것은 비약적인 발전이다. 이렇게 해도 정말 괜찮은 것일까? 우리는 학술 연구의 결론에서 답을 찾을 것이다.

블록 확장의 역사

우리는 모두 비트코인 탄생 당시에 1MB 블록 크기 제한이 적용되었다는 것을 알고 있다. 처음 몇 년 동안 비트코인이 받은 관심은 한정되어 있고, 1MB 크기로 채워진 횟수도 많지 않았고, 사람들은 1MB에 큰 문제가 있다고 생각하지 않았던 것 같다.

1686e7015906034f

비트코인에 대한 관심이 높아지면서 비트코인의 처리량 한계가 부각되고 있다. 평균적으로 한 건당 250바이트로 계산하면 비트코인은 초당 7건 미만의 거래만 처리할 수 있다.

효율성 문제를 완화하기 위한 세그윗, 2M 블록 크기 등의 방안이 제시되었다. 2017년 8월 비트코인에서 BCH가 분할되고 블록 크기를 8MB로 확대하고, 올해 5월에는 블록 크기를 32MB로 확대하였다. 이번 분할에서는 비트코인 SV가 128MB라는 거대한 블록을 내놓았다.

블록 크기가 안전성에 끼치는 영향

이미 2015년 학계에서는 블록 크기와 블록이 초과 되는 시간이 안전성에 미치는 영향을 연구했다. 그 결론을 간단히 말해서, 가장 긴 체인의 규칙하에서 블록 크기와 블록 초과속도가 안전성에 미치는 영향은 다음과 같은 비교치로 요약할 수 있다.

블록이 네트워크에 전송되는 시간 / 블록 초과 시간 간격

이 비교치는 이중지불 공격에 필요한 해시 파워에 영향을 미칠 수 있습니다. 비교치가 클수록 이중지불 공격을 수행하는데 필요한 해시 파워가 낮을수록 안정성이 떨어진다. (성실한 채굴자들의 해시파워가 집중되면 안전성도 높아진다. 블록이 네트워크 전체에 퍼지는 시간은 긴 꼬리를 잘라낼 수 있고, 예를 들어, 95%의 해시파워 노드를 퍼 트리 것은 전 네트워크에 퍼지는 것으로 간주한다.)

비트코인이 전파 속도를 높이기 위한 꾸준한 노력

10년 전의 인터넷 환경에 비해 오늘날의 인터넷 속도는 크게 향상되었다. 같은 크기의 데이터를 보내는 데 걸리는 시간이 더 짧아졌다. 비트코인은 2016년 컴팩트 블록을 구현해 전송시간을 줄였다.

전체 거래 정보를 보유하는 완전한 블록과 달리 컴팩트 블록에는 거래만 보류하는 작은 ID(6MB)가 있다. 한 노드가 블록을 채굴할 때 네트워크에서만 컴팩트 블록이 전파된다. 컴팩트 블록을 받는 시점은 자신의 거래장에서 완전한 블록을 복구하는 것을 먼저 시도하고, 복구가 실패할 경우 이웃 노드에게 충돌하거나 분실한 거래를 요청하여 다시 시도한다.

1MB 크기의 완전한 블록에 대해 컴팩트 블록은 15KB의 크기에 불과합니다. 보도에 따르면, 완전한 블록을 직접 복구하는 성공률이 86퍼센트에 달한다고 한다. 이것은 비트코인 블록이 온 사이트에 퍼지는 시간을 크게 줄였다. 통계에 따르면 2016년 12월의 블록 전파 시간은 1월의 6분의 1도 되지 않는다고 한다.

그렇다면, 블록의 크기를 확대하는 것은 과연 안전할까?

비트코인이 운영되던 초기와 비교하면 현재는 블록이 온 사이트에 퍼지는 시간이 크게 줄었다. 안전성에 관해서는 1M의 블록 크기는 이미 매우 보수적이다. 블록 크기를 8MB로 확장하여도 3년에서 5년 전에 가까운 비트코인의 안전성을 얻을 수 있다.

그러나 32MB 크기의 큰 블록의 안전성은 조심스럽게 따져봐야 한다. 컴팩트 블록 기술을 사용하더라도 여전히 약 500KB 크기의 실제 전송량을 보여준다. 그러나, 인터넷의 거래가 점점 더 많아지고 있을 때, 대량의 거래가 막히는 일이 생길 수 있다. 완전한 블록의 복구 성공률이 크게 낮아져 결과적으로 전송 시간이 너무 오래 걸린다.

128MB 블록 크기라면 광기에 가깝고, 더 무서운 것은 이 방안의 옹호자들이 이 같은 문제를 전혀 고려하지 않은 것 같다는 점이다. 필자는 대략적으로 해시파워가 집중되지 않는 한 128MB 블록은 심각한 안전성 문제에 직면할 수 있다고 예상한다. 그러나 만약 해시파워가 실제로 집중된다면, 그것은 하나의 중심화 시스템과 얼마나 다른가?

요약하자면, 적절한 블록 크기 조절은 처리량 문제를 완화시킬 수 있지만, 밑도 끝도 없이 블록의 크기를 확장하는 것은 심각한 안전성 문제를 초래할 수 있다.

위에서 서술한 문제는, 가장 긴 체인의 규칙 아래에만 국한되기 때문에 우리는 또 다른 차원에서 생각할 수 있다. GHOST 컨센서스는 블록 크기와 블록 초과 속도를 어떻게 조정하든 이중 지불 공격은 50%의 해시파워를 필요로 하는 가장 중요한 체인 규칙을 설계했다.

Conflux는 GHOST 프로토콜의 개선과 구현에 기반하여 DAG (Directed acyclic graph) 구조를 통해 안정성을 보장한다는 전제하에 대륙 횡단 시뮬레이션에서 초당 1.6MB의 데이터를 캐싱, 6,400건의 거래를 처리했다. 이 표현은 효율적인 PoW 퍼블릭 체인을 만들기 위한 탄탄한 컨센서스 기반을 제공한다.

참고문헌:

[1] Sompolinsky, Yonatan, and Aviv Zohar. "Secure high-rate transaction processing in bitcoin." International Conference on Financial Cryptography and Data Security. Springer, Berlin, Heidelberg, 2015.

[2] Li, Chenxing, et al. "Scaling Nakamoto Consensus to Thousands of Transactions per Second." arXiv preprint arXiv:1805.03870 (2018).

Source: https://blog.naver.com/conflux-chain/221684004052