About Block Chain

블록체인에 관심을 가지게 된 계기는.. 주변에 블록체인 회사로 이직하면서 억대연봉을 받기 시작한 한 형 덕분이다.

블록체인에 대해 알아본 내용과, 개인적인 생각을 정리해서 글로 포스트해본다.

비트코인

기존의 중앙화(Centralization)된 시스템 기반의 화폐, 전자화폐, 금융상품 등과 달리 가상화 및 분산처리가 가능한 비트코인은 블록체인 기술을 바탕으로 신뢰성과 안전성이 확보된 탈-중앙화(De-centralization) 시스템을 구축한다.

블록체인은 권한(Permission) 및 합의 방식(Consensus Algorism)에 따라서 퍼블릭 블록체인(Public Blockchain), 프라이빗 블록체인(Private Blockchain), 컨소시엄 블록체인(Consortium Blockchain)으로 분류된다.

퍼블릭 블록체인은 비트코인(Bitcoin)이나 이더리움(Ethereum)과 같이 누구나 네트워크에 참여하여 거래내역은 물론 네트워크에서 발생하는 여러 행위들이 공유되는 공개형 블록체인이고, 이와 반대로 프라이빗 블록체인은 폐쇄형 블록체인으로 허가된 참여자 외에 거래내역과 행위들이 공유되지 않는다.

컨소시엄 블록체인은 퍼블릭 블록체인과 프라이빗 블록체인의 성격이 결합된 형태로 반-중앙형 성격을 띄게 된다.

블록체인은 Blockchain Scalability Trilemma를 기반으로 3가지의 방향에서 평가할 수 있다.

탈중앙화, 보안성, 확장성의 3가지의 방향에서 블록체인을 평가할 수 있으며, 이 세가지를 모두 만족시키는 것은 불가능하다.

탈중앙화란?

탈중화의 분산된 절차와 기술은 여러 부문에 걸쳐 중개인의 역할을 줄이고 사용자에게 이익을 준다.

한 예로, 분산 금융(DeFi) 시스템은 금융 상품에서 은행 기관을 제거함으로써 사용자에게 더 큰 수익이 돌아갈 수 있다.

반면에 최적의 탈중앙화를 얻으면 네트워크 처리량이 감소하는 경향이 있다.

더 많은 채굴자가 합의를 통해 네트워크를 보호할수록 거래 속도가 느려진다.

즉 탈중앙화가 커질수록 사용자에게 큰 이익이 돌아가는 대신에 거래 속도와 거래량이 감소한다.

보안성이란?

블록체인 네트워크에서 네트워크 성능을 향상시키기 위해 블록체인 노드를 최소화한다.

그러나 이는 네트워크의 보안을 약화시키게 된다.

노드 배포가 제한된 개방형 네트워크에서 합의에 도달하면 해커가 해싱 파워를 쉽게 수집할 수 있기 때문에 공격이 발생할 가능성이 더 높다.

해커는 네트워크를 가로채고 과부하를 통해 재정적 이익을 위해 거래에 영향을 줄 수 있다.

실제 사례로, 2020년 8월, 이더리움과 무관한 이더리움 클래식(ETC) 블록체인이 4,000개 이상의 블록을 재구성하는 공격을 받아 수백만 달러의 손실을 입었다.

확장성이란?

블록체인 프로토콜의 확장성은 높은 트랜잭션 처리량과 향후 확장을 유지할 수 있는 능력을 나타낸다.

이는 사용 사례가 증가하고 블록체인 기술 채택이 증가함에 따라 확장 가능한 블록체인의 성능이 저하되지 않음을 의미한다.

채택이 증가함에 따라 제대로 작동하지 않는 블록체인은 확장할 수 없는 것으로 간주된다.

확장성은 블록체인 네트워크가 현재 훨씬 더 빠른 네트워크 결제 속도와 사용성을 제공하는 오래된 중앙 집중식 시스템과 경쟁할 수 있는 유일한 옵션이다.

하지만 높은 확장성은 탈중앙화 또는 보안성 둘 다를 감소시켜야 한다.

Blockchain Scalability Trilemma에 기반해 퍼블릭 블록체인, 프라이빗 블록체인, 컨소시엄 블록체인을 표현한 그림 / 무단복제금지

블록체인 기술은 많은 보안적인 문제가 존재한다.

SCSU에서 발표한 논문 “Security Threats Classification in Blockchains” 53페이지 Table을 보면 5개의 큰 Security Threats와 30개의 세부적인 Attack Vectors로 나누었다.

실제 보안 취약점으로 인한 큰 피해 사례 예시로는 Wallet Threats, Smart Contracts Threats 정도가 있다.

첫 번째로 뽑은 큰 보안이슈는 Wallet Threats다.

암호화폐 지갑은 일상에서 사용하는 지갑의 기능과 같이 돈을 저장하는 것이 아니라 개인키(Private Key), 공개키(Public Key) 그리고 자산을 관리하는 소프트웨어 프로그램을 의미한다.

공개키가 보인 소유의 계좌번호이고, 개인키가 계좌 비밀번호와 유사한 역할을 수행하기 때문에 개인키를 소유하는 것은 공개키에 따른 자산의 모든 관리권한을 의미하게 된다.

이러한 개인키가 탈취가되면 탈취한 악의적 사용자는 개인키에 저장된 암호화폐를 본인인 것처럼 사용할 수 있게된다.

실제로도 2014년 12월에 발생한 암호화폐거래소의 경우에도 거래소 서버가 공격 당해서 개인키 파일이 유출되었고, 이로 인해 월렛에 존재하던 18,866 비트코인이 손실되었다.

두 번째로는 Smart Contracts Threats다.

스마트 컨트랙트(Smart Contracts)는 서면으로 작성되어 있는 기존 계약서(Contract)를 중개자 없이 P2P로 ‘스스로 이행이 되는 자동화된 약정(Automated Self-Enforced Agreements)’ 행위를 의미한다. 금융, 지적재산권, 물류 유통과 같이 상호 거래 및 검증이 빈번하게 발생하고 업무 자동화가 가능한 시스템이 대표적인 업무영역이라고 볼 수 있다.

스마트 컨트랙트는 기존의 계약과 관련된 거래 비용의 감소와 합의에 따른 신뢰를 바탕으로 보안성의 장점을 앞세워 다양한 서비스들이 출시되었지만 2016년에 발생한 DAO(Decentralized Autonomous Organization) 해킹으로 기술적 한계가 드러났다.

재귀함수의 취약점 / 무단복제금지

특정 계정의 잔액과 합계를 갱신하는 splitDAO()함수가 재호출되기 이전에 어떠한 함수라도 호출시키면 무한으로 자금을 이동시킬 수 있는 재귀함수의 취약점이다.

A계좌에 있는 100만원을 B계좌로 50만원 출금신청을 하는 경우 A계좌의 100만원에서 50만원을 차감하기 전에 다시 B계좌로 출금을 시도하고 다시 또 50만원을 출금하는 행동을 반복하면 A계좌에서는 50만원을 차감하기 전에 새로운 출금요청이 왔기 때문에 100만이 그대로 존재하게 되고 B계좌에는 출금한 50만원들이 꾸준히 쌓이게 되는 방법이다.

이러한 해킹이 이더리움 코인을 대상으로 이루어졌고 이는 1억 5천만 달러이상의 손해를 불러 일으켰다.

이더리움측은 해커들이 탈취한 코인을 현금으로 바꾸지못하도록 소프트포크를 하였으며, 얼마뒤에는 도난당한 코인을 평행세계 개념인 하드포크 방식을 통해 분리해냈는데, 하드포크를 동의하지 않은 사람들의 코인이 이더리움 클래식이라는 이름으로 분리되었다.

이렇게 해킹당한 코인은 이더리움 클래식이라는 이름으로 남게되었고, 얼마뒤 해당 이더리움 클래식 보유자들은 DAO 토큰으로 교환을 할 수 있게 되었다.

당시 이더리움 클래식의 환산금액은 약 850만 달러로, 실질적으로 해커가 탈취해간 금액일 것이다.

이러한 기술적인 보안공격 뿐만 아니라 최근에는 경제, 금융학적인 공격으로 인한 피해사례도 나타나게 되었다.

2022년 5월 12일, 테라-루나 사태는 일주일 사이에 58조원이 증발한 사례이다.

국내에서 만든 코인으로 1테라를 1달러에 상응하도록 루나코인의 양을 조절하여 큰 신뢰를 얻었던 코인이였고, 한때 글로벌 가상화폐 시가총액 10위안에 들던 코인이였으나 거대한 공매도 세력이 대량으로 공매도 물량을 풀면서 인위적으로 시세 하락을 조장하였고, 그 여파로 디페깅이 유도되었다는 의견이다.

알고리즘 페깅은 프로그래밍화된 코인 운영 시스템이 시세를 감지하여 거래량을 조절하는데, 그 조절 능력을 뛰어넘는 정도의 투매를 하면 시세가 갑자기 폭락하게 되고, 그 회복에도 시간이 걸릴 수밖에 없게 된다.

이러한 디페깅 상태가 지속되면 테라 자체에 대한 신뢰가 떨어지고, 무담보로 운영되는 알고리즘 페깅의 특성상 돈을 떼일 수 있다는 투자자들의 공포 심리를 유발시키게 되며, 이 영향으로 수만은 투자자들이 발을 빼며, 연쇄적인 코인하락이 발생하며 일주일사이 99%이상의 하락으로 발생하게된다.

또한 실제로 블록체인을 이용하는 DApp이라는 앱의 한 줄기도 생겼는데, 기존의 소프트웨어들은 보안적인 관점에서 바라봤을 때, 일반적으로는 코드에 문제가 없으면 버그 혹은 보안적인 취약점이 덜 하던 반면에, 블록체인을 이용한 DApp은 그렇지가 않았다.

블록체인 자체의 보안 취약점과 App이 가지는 근본적인 취약점이 합쳐저서 훨씬 불안정한 상태의 기술이라고 느꼈다.

따라서 4차 산업혁명을 이끌어가는 기술들에 대해서 무조건 좋다가 아니라, 한번쯤은 비판적으로 바라봐야한다고 생각한다.

Author

cpprhtn

Posted on

2022-07-08

Updated on

2022-07-13

Licensed under