금융보안원은 지난 2017년 1월 5일에 4차 산업혁명 시대 도래에 따른 환경변화에 금융권이 적극적으로 대응하고, 금융회사가 IT 및 보안전략 수립시 활용할 목적으로 국내·외 관련 자료에 대한 빅데이터 분석과 금융회사 온라인 설문조사, 전문가 인터뷰 등을 병행하여 올 한해 금융권이 주목해야할 IT·보안 10대 이슈를 선정하여 발표하였습니다. 이 글에서는 첫번째 10대 이슈 블록체인에 대하여 간략히 알아보도록 하겠습니다.
블록체인이란?
블록체인은 비트코인과 같은 가상화폐를 거래할 때 발생할 수 있는 해킹을 막는 기술입니다. 비트코인은 2008년 사토시 나카모토라는 가명의 개발자가 만든 가상화폐로 생긴 지 5년 만에 시가총액으로 세계 100대 화폐 안에 들어갈 정도로 성장했습니다. 비트코인은 특정 관리자나 주인이 없이 P2P방식으로 작동해 특정 개인이나 회사가 운영하지 않고, 여러 이용자의 컴퓨터에 분산돼 저장됩니다. 모든 비트코인 사용자는 P2P 네트워크에 접속해 똑같은 거래장부 복사본을 나눠 보관하게 되며 이 거래장부는 10분에 한 번씩 최신 상태로 갱신됩니다. 이렇게 10분에 한 번씩 만드는 거래 내역 묶음을 블록이라고 부르며 블록체인은 비트코인 거래 기록이 저장된 거래장부 전체 데이터베이스를 말합니다. 거래장부를 공개, 분산해 관리한다는 뜻으로 공공 거래장부 또는 분산 거래장부로도 불립니다.
블록체인 기반 거래는 만약 A가 B에게 돈을 보내려고 하면 온라인에서 이 거래 내용이 담긴 블록이 형성되고 이 블록은 네트워크상의 모든 참여자에게 전송되며 네트워크에 있는 모든 참여자가 해당 거래의 타당성을 확인후, 승인된 블록이 기존 블록체인에 연결되며 실제 송금이 완성됩니다.
전자적 거래에는 다양한 위협이 존재하지만, 비트코인은 이를 대응 할 수 있는 대응방법을 기술적으로 구현하고 있습니다. 이미 사용한 비트코인을 다시 사용하려고 할 경우 총 통화량(2,100만개)과 차이를 발생시켜 대응하며, 다른 사람의 계좌로 부터 자신의 계좌로 허위 수신 기록 생성하는 경우는 송신자의 개인키를 요구합니다. 동시에 비트코인을 여러 곳에 사용(이중사용)하려고 할 때에는 The Longest Chain Wins 메커니즘을 이용 노드간 경쟁을 통해 경쟁에서 진 체인은 소멸시키고, 송신한 금액의 거래기록 제거하려고 하면 조작자가 새로 생성되는 노드보다 더 빠른 속도로 조작된 블록과 이후 거래에 대한 계산을 다시 해야 합니다.
블록체인의 안정성
각 블록은 헤더와 바디로 구성된 구조체로 헤더에는 이전, 현재 블록의 해시 값과 넌스(Nonce) 등을 포함하고 있으며, 블록 검색 시 데이터 베이스 인덱스 방식으로 데이터 값을 찾아 냅니다. 각 노드들에 저장된 해쉬 값은 이전 블록들의 값에 영향을 받아 생성되므로 등록된 내용을 위·변조하는 행위가 매우 어려습니다. 다만, 노드의 과반수를 동시에 해킹한다면 데이터 변조가 가능하지만 비트코인 총 해시량은 전 세계 슈퍼컴퓨터 1~500위까지의 계산력을 모두 합친 것의 256배 이상으로 추정될 정도의 어마어마한 크기로 현실적으로 불가능하다고 볼 수 있습니다.
그렇다고 사고가 한번도 일어나지 않은 것은 아닙니다. 2014년 2월에 마운트곡스는 해킹으로 85만 비트코인이 해킹 당하였다고 주장하였으나, 해커들에 의해 거래 기록이 조작되고 비트코인을 횡령한 것으로 추정됩니다. 2015년 1월, 비트스탬프는 19,000여개의 비트코인을 도난당하였으며, 이는 비트코인 계좌 재활용으로 인한 개인키 도난 가능성 혹은 적절하지 못한 난수발생기(RNG) 사용으로 인한 것으로 추측됩니다. 같은 기간 블록체인닷인포는 안드로이드 전자지갑을 통해 비트코인 계좌 생성 시 적절하지 못한 난수발생기(RNG) 사용으로 Johoe라는 해커에 의해 800비트코인 도난 되기도 했습니다.
블록체인에 사용되는 암호기술
- 복호화가 가능한 공개키 기반 검증과 일방향 함수라고도 불리는 해쉬 암호화(SHA-2)를 이용 합니다.
- 공개키 암호화 : 개인간 거래 시 생성되는 디지털 서명을 검증하여 거래 내역이 변경되지 않았음을 입증하는데 ECDSA 전자서명 알고리즘 이용 합니다.
· 익명성 : 익명의 공개키를 계좌 정보로 이용하여 누가 다른 누군가에게 얼마는 보냈는지 알 수 있으나, 거래 당사자들에 대한 정보가 연결되어 있지 않아 소유자에 대한 정보는 알 수 없게 합니다.
- 해쉬 암호화 : 거래 내역을 포함하는 블록의 정보가 변경되지 않음을 증명하고, 새로운 블록을 찾기 위한 넌스 값을 찾는데 이용합니다.
· 채굴 : 해쉬 함수에 이전 블록의 해쉬 값, 거래 내역, 넌스 값을 넣어 특정 조건을 만족하는 결과 값이 나오도록 넌스 값을 유추해 내는 과정을 말합니다.
· 디지털 서명 : 비트코인 거래 시 거래 정보의 무결성을 보장하기 위해 사용되며, 거래 정보의 해쉬 값을 공개키 기반 암호화를 통해 거래 내역의 무결성 입증이 가능 가능합니다.
· 거래내역 입증 간소화 : 각각의 거래 내역의 해쉬 값을 누적하는 머클 트리 구조의 루트 해시를 가짐으로써 중간에 값이 변경되면 루트 해시 값이 변경됨으로 변조 유무를 쉽게 판단 할 수 있습니다.
현재 미국, 유럽, 싱가포르 등에서는 블록체인 기술을 활용한 금융거래 서비스를 제공하기 위한 서비스 개발 등이 활발히 진행 중에 있습니다. 우리나라에서도 금융권이 주목해야할 IT·보안 10대 이슈로 선정될만큼 중요성이 부각되고 있습니다. 하지만 아직까지는 논의 단계로 국내 금융권에 블록체인 기술을 활용하여 금융서비스를 제공하게 될 경우, 검증에 참여하는 노드의 범위(금융회사, 이용자 등)를 정해야하며 공동으로 운영하기 위한 방안을 논의하기 위한 협의체 구성이 우선 필요 할 것 입니다.
최근댓글