크로스웨이브와 모비인사이드가 파트너십을 통해 제공하는 제휴 콘텐츠 입니다.
블록체인 엿보기입니다!
지난 시간까지 여러 합의 증명 방식에 대해 알아보았는데요, 이번 시간에는 블록체인 형태를 다루겠습니다. 들어가기 앞서 블록체인을 구성하는 주요 세가지 요소를 정리해 볼게요.
첫 번째, 컴퓨터로 암호를 풀고 블록을 생성할 권한을 얻는 ‘채굴자’, 이 대가로 코인을 받습니다.
두 번째, 채굴된 코인을 가지고 거래하는 ‘소비자’
마지막으로, 이러한 거래들의 안전 여부를 검토하고 승인하는 블록 관리자 역할인 ‘네트워크 참여자’ 입니다.
오늘은 이 세 번째 네트워크 참여자 내용을 다루고, 누구나 참여자가 될 수 있는 ‘퍼블릭 블록체인’까지 얘기해 보려 합니다!
블록체인 생태계를 유지하는 데 네트워크 참여자들은 매우 중요한 역할을 하는데요, 왜일까요? 블록체인의 가장 큰 특징인 ‘중앙 관리자·제 3자 개입이 없다!’ 이 점 때문입니다. 네트워크에 참여하는 스스로가 네트워크 유지하고 관리해야 하므로 ‘네트워크 운영자’가 되는 것입니다.
즉, 사용자들 간 거래가 이뤄지면 기존 갖고 있는 정보와 비교해 주요 거래 사항을 체크해 거래가 유효한 지 직접 확인하는 역할을 합니다. 그리고 이 네트워크 참여자들을 바로 ‘노드(Node)’라고 부릅니다.
“네트워크 참여자 = 노드”
이 개별 구성 단위인 ‘노드’들이 모여 블록체인이라는 하나의 신뢰 네트워크를 구성하게 되는 것입니다.
더 정확하게 표현하자면, 참여자들이 사용하는 기계를 ‘노드’라고 하는 것이겠죠? 노드 기기 간 연결되는 것이니까요! 노드는 하나의 블록체인 네트워크에 참여하는 사람들의 PC, 스마트폰, 태블릿 등 전자 기기라고 볼 수 있습니다. 이러한 각각의 기기들이 하나로 연결되는 것이죠.
그럼 실제 거래 과정을 통해 ‘노드’의 실질적 역할에 대해 간단히 들여다 볼게요!
정은이가 수아에게 1비트코인(BTC)를 주는 거래가 발생했다고 가정해봅시다. 정은이가 자신이 설치한 비트코인 월렛(Bitcoin Wallet)을 통해 수아 지갑주소를 입력해 ‘전송’ 버튼을 누를 것입니다.
이제 트랜잭션이 생성됐습니다.
아래와 같이 비트코인 송금에 필요한 모든 정보가 담겨있는 ‘거래정보’가 생성됩니다.
블록체인 생태계에서는 이 거래 정보가 정은과 수아만 알고 있어서는 거래가 완료되지 않습니다. 이 거래 정보가 블록에 들어가고 그 블록이 만들어져야지만 거래가 완료되죠.
이 때문에 거래 정보가 생성되면 근접한 이웃 노드들부터 순차적으로 트랜잭션이 공유됩니다.
위 왼쪽 그림처럼 거래 정보가 일단 하나의 노드에 전송되면, 정보를 받은 이 노드도 다른 모든 노드에게 받은 거래 정보를 ‘전파(broadcast)’ 합니다. 거래 정보를 받은 노드들은 ‘실제 존재하는 BTC인지’ ‘적혀져 있는 서명이 올바른 지’ 등 중요한 정보 내용에 대해 검증 합니다.
이때 오른쪽 그림처럼 검증하고 정보가 올바르다고 판단하면, 승인(v)하는 과정을 거치죠. 그리고 검증 내용 중 하나라도 오류 내용이 발견되면 바로 ‘폐기’됩니다. 다른 노드에 전파되지도 않죠.
자, 이렇게 승인된 거래 정보는 블록에 들어갈 대기를 합니다.
블록 생성 권한을 얻은 채굴자가 나타나면 이 거래 정보와 다른 승인된 정보들이 합쳐져 하나의 블록이 완성되는 것이죠. 이 새 블록은 위 가운데 그림처럼 기존 블록에 더해집니다. 그리고 정은이와 수아의 거래가 완료되는 것이죠!
이 블록 정보도 또 이웃 노드들에게 전파되며 검증을 받습니다. 이 때도 노드들은 블록 내 트랜잭션, BTC 보상 여부 등 주요 정보를 확인하고, 블록이 올바르면 자신들의 블록체인에 해당 블록을 저장합니다.
여기서 잠깐! 이 거래 정보들이 쌓이고 쌓이면, 데이터 규모는 어마어마하겠죠? 그래서 보유하고 있는 데이터 양에 따라 ‘풀노드’와 ‘라이트 노드’로 나눠집니다. 풀노드는 그야 말로 첫 번째 블록부터 마지막 블록까지 모든 데이터를 보유하고 있는 노드를 말합니다. 채굴을 하려면 전체 블록체인이 필요하니, 채굴자들은 풀노드에 해당되겠죠? 반면 라이트 노드는 데이터의 일부만 갖고 있는 노드여서 거래는 가능하지만 거래에 대한 자료 검증은 불가능합니다.
그럼 어떻게 하면 노드가 될 수 있을까요? 노드의 자격제한이 없는 ‘퍼블릭 블록체인’에서는 누구나 네트워크 참여자가 될 수 있습니다! 비트코인과 이더리움이 대표적이죠.
이전에 다뤘던 블록체인과 민주주의 관계 기억나시나요? 바로 누구나 네트워크에 접근 가능하고, 제 3자 개입 불필요하며 모든 참여자들 간 저장기록 보유 및 공개한다! 이 정신을 가장 근접한 것이 바로 ‘퍼블릭 블록체인(Public Blockchain)’입니다. 영문 Public에서 알수있듯이 누구나 네트워크에 참여할 수 있는 블록체인입니다.
노드가 되고자 하는 사람들은 블록체인 네트워크에 접속하거나 데이터 일부를 다운 받아 참여할 수 있습니다. 또 해당 지갑을 생성해 네트워크에 연결할 수 있습니다. 누구에게나 네트워크에 참여해 거래 검증, 승인, 트랜잭션 생성 모두 열려있습니다.
하지만..참여가 자유로운 만큼, 악의적 목적을 가진 사람들도 들어올 수 있겠죠? 하지만 이러한 노드를 제외한 훨씬 많은 규모의 노드들이 이 거래 정보를 인정하고 블록에 저장할 준비를 하고 있기 때문에 악의적 목적이 달성될 확률은 낮습니다.
하지만 시간이 지나면서 다른 한계들도 하나둘 나타나기 시작했는데요, 가장 자주 언급되는 한계점이 ‘거래 소요 시간’입니다. 거래가 완료되기까지 ‘블록 공유 시간 + 제한된 블록 생성시간(1비트코인 당 약 10분)’이 걸리기 때문이죠. 이더리움은 약 12초 마다 블록 하나가 만들어진다고 하지만 네트워크에 공유되는 시간을 포함했을 때 약 1~2분 정도 소요된다고 합니다. 금융 서비스에 적용하기에는 고객들이 좀 불편하겠죠?
또 퍼블릭 블록체인에서 분산합의 알고리즘으로 작업증명(PoW)와 지분증명(PoS)를 사용하고 있는데, 이는 합의 노동의 대가로 화폐(코인)가 필요하죠. 일종의 보상이 있어야 일반인들의 자발적 참여를 이끌어 낼 수 있으니까요. 하지만 PoW 경우 컴퓨팅 파워가 대거 들어가 친환경이지 않은 문제가 반복 지적되는 부분입니다.
그래서 이에 대한 대안으로 프라이빗 블록체인, 컨소시엄 블록체인이 등장하게 됩니다. 이들은 어떻게 퍼블릭 블록체인의 한계를 해결했을까요? 이 부분은 다음 회차를 기대해주세요!
[fbcomments url=”http://ec2-13-125-22-250.ap-northeast-2.compute.amazonaws.com/2018/08/10/blockchainpepp-node/” width=”100%” count=”off” num=”5″ countmsg=”wonderful comments!”]