share
시스템이 있는 곳에 프로토콜이 있습니다.
블록체인 기술은 사람들이 자신도 몰랐던 문제를 해결할 수 있는 획기적인 솔루션으로 등장했습니다. 이와 함께 지금까지도 설명되지 않은 수많은 용어와 개념이 등장했습니다. 이러한 용어 중 하나인 블록체인 프로토콜은 블록체인 네트워크와 혼용되어 사용되는 경우가 많지만, 정확히 같은 의미는 아닙니다.
이 글에서는 블록체인 프로토콜의 개념과 블록체인 자체와의 차이점, 그리고 주요 작동 방식과 애플리케이션에 대해 자세히 설명해드리겠습니다.
블록체인 네트워크란 무엇인가요?
블록체인은 모든 암호화폐의 기본 계층입니다. 전 세계에서 P2P 디지털 자산으로 빠르고, 허가 없이, 익명으로, 안전하게 거래할 수 있는 탈중앙화 네트워크입니다. 네트워크는 분산 데이터베이스 역할을 합니다. 블록체인에서 수행된 모든 거래는 공개적이고 익명이며 블록에 저장되어 누구나 열람할 수 있습니다.
블록체인은 전 세계에 걸쳐 네트워크를 유지하기 위해 실행되는 컴퓨터인 분산형 노드 네트워크에 의해 구동됩니다. 노드는 일반적으로 비트코인 같은 작업 증명 네트워크에서 채굴자 또는 이더리움이나 카르다노 같은 지분 증명 네트워크에서 스테이커/위임자 역할을 합니다. 채굴자와 스테이커는 자신의 노력에 대한 보상으로 검증을 도와준 거래 수수료의 일부를 받습니다.
작업 증명 네트워크의 채굴자는 다음 트랜잭션 블록의 해시(고유한 암호화 식별자)를 해독하는 임무를 맡습니다. 이를 위해 원시 컴퓨팅 성능을 사용하며 기본적으로 계산 속도에서 경쟁합니다. 지분 증명 네트워크에서는 컴퓨팅이 아닌 네트워크의 기본 통화를 대량으로 보유하여 다음에 승인할 블록에 대한 발언권을 갖는 방식으로 이루어집니다.
블록체인은 현존하는 최초의 암호화폐인 비트코인과 마찬가지로 비트코인에 의해 개척되었습니다. 사토시 나카모토라는 미지의 존재에 의해 고안된 비트코인 블록체인은 탈중앙화된 애호가 그룹에 의해 상징적으로 탄생했습니다.
비트코인 암호화폐는 사용자가 거래의 일부를 송금 수수료로 지불하기 때문에 네트워크의 연료 역할을 합니다.
이더리움 블록체인은 비트코인을 기반으로 구축되었으며 스마트 컨트랙트를 통해 블록체인 무기를 확장했습니다. 스마트 컨트랙트는 특정 조건이 충족되면 스스로 실행되는 사전 코딩된 알고리즘입니다. 예를 들어, 해당 주소에서 NFT 토큰 번호(XYZ)를 수신하는 즉시 200 ETH를 주소(X)로 전송합니다.
스마트 컨트랙트는 블록체인 애플리케이션을 배포하는 데 있어 탁월한 유연성을 제공하며, 오늘날 모든 탈중앙 금융의 근간을 이루는 요소입니다. 이더리움 네트워크가 개척한 스마트 컨트랙트는 오늘날 알려진 대부분의 블록체인 프로토콜에 도입되었습니다.
이제 블록체인 네트워크가 무엇인지 알아보았으니 블록체인 프로토콜이 무엇인지 알아봅시다.
블록체인 프로토콜은 본질적으로 블록체인 네트워크의 운영 방식을 규정하는 규칙입니다. 이는 블록체인 네트워크 자체가 아니라 모든 작동에 적용되는 일련의 규칙입니다. 네트워크의 여러 요소가 언제, 어떻게, 어느 정도까지 특정 작업을 수행할 수 있는지 또는 수행할 수 없는지를 정의합니다.
모든 블록체인의 중추는 모든 움직임을 지배하는 일련의 프로토콜입니다. 이러한 프로토콜은 네트워크의 보안, 연결성 및 합의 절차를 유지하는 기둥으로, 모든 것이 원활하게 작동하도록 보장합니다. 거래를 감독하는 중앙 기관이 없기 때문에 이러한 프로토콜은 신뢰할 수 있는 원장 사본을 유지하고 합의 방식을 통해 거래를 검증하는 핵심 역할을 합니다. 유효성이 확인되면 변경할 수 없는 블록으로 기록됩니다.
우리 주변의 주요 프로토콜
시스템이 있는 곳에는 프로토콜이 있습니다. 프로토콜은 무언가가 작동하는 방법을 알려주는 기초적인 코드 계층입니다. 물론 프로토콜이 암호화폐에만 국한된 것은 아닙니다. 이는 인터넷 작동 방식의 기본으로, 한 컴퓨터에서 다른 컴퓨터로의 데이터 전송을 관리합니다.
현재 우리가 당연하게 여기는 많은 것들이 네트워크 프로토콜에 의해 활성화되고 관리되고 있습니다. 가장 대표적인 프로토콜로는 웹을 통해 디바이스를 연결하는 데 사용되는 TCP/IP: 전송 제어 프로토콜/인터넷 프로토콜과 웹 서버와 클라이언트 간에 데이터를 전송하는 데 사용되는 HTTP/HTTPS: 하이퍼텍스트 전송 프로토콜(HTTP)이 있습니다.
블록체인 프로토콜의 차이점은 무엇인가요?
하지만 블록체인 프로토콜에는 차이가 있습니다. 기존의 데이터 전송보다 더 흥미롭고 복잡해집니다. 블록체인 네트워크는 의사 결정 기관의 분산된 프레임워크로, 각 기관은 단순히 알고리즘을 따르는 것 이상의 역할을 합니다. 이는 네트워크를 구성하는 모든 노드가 일련의 규칙에 동의하고, 이를 준수하고, 검증해야 한다는 것을 의미합니다.
여기서부터 상황이 조금 복잡해집니다. 실제로 블록체인 프로토콜에는 3가지 유형이 있습니다:
- 네트워킹 프로토콜
- 합의 프로토콜
- 상태 전환 기능
각 유형은 다른 유형만큼이나 중요하며, 일이 원활하게 진행되려면 이 세 가지를 모두 준수해야 합니다.
네트워킹 프로토콜
네트워킹 프로토콜은 네트워크의 노드가 통신할 수 있는(그리고 통신할 수 없는) 규칙을 규정합니다. 여기에는 노드가 서로를 발견하고 인식하는 방법, 블록, 트랜잭션 및 기타 일상적인 것들에 대한 정보를 교환하는 방법이 포함됩니다. 여기에는 노드가 서로의 메시지를 해독하는 방법을 정의하는 구문이 포함되어 있습니다.
합의 프로토콜
합의 프로토콜은 노드가 어떤 트랜잭션을 유효 또는 무효로 간주할지 합의하는 방법을 간략하게 설명합니다. 아시다시피, 각 노드는 전체 네트워크의 전체 사본을 하드 드라이브에 보관합니다. 사본에는 네트워크에 등록된 모든 데이터 비트가 포함됩니다. 새로운 블록이 위조되고 새로운 트랜잭션이 검증되면 각 사본은 실시간으로 업데이트됩니다.
따라서 노드가 네트워크에 추가할 새 블록을 제출할 때, 하나의 블록만 전송하는 것이 아니라 실제로 현재까지 블록체인의 전체 사본을 제출하는 것입니다. 그리고 다른 모든 노드가 제출한 네트워크의 모든 사본을 스캔하고, 평가하고, 검증하는 것은 네트워크의 모든 단일 노드가 해야 할 일입니다. 비트코인과 같은 작업 증명 네트워크에서는 가장 긴 블록 체인만이 유효성을 검증받으며, 이는 대부분의 노드가 블록의 유효성에 동의한다는 의미입니다. 상상할 수 있듯이 엄청난 양의 작업이 필요하고 그만큼 많은 컴퓨팅 파워가 필요합니다.
지분 증명 네트워크에서 검증자는 네트워크의 네이티브 코인을 지갑에 대량으로 보유한 노드 중에서 네트워크가 무작위로 선택합니다. 일부에서는 이러한 접근 방식을 자본주의의 독점과 동일시하기도 하지만, 네트워크 독점에 대한 우려는 이미 선제적으로 해결되었습니다. 여기에는 각 노드가 스테이킹할 수 있는 금액, 검증할 수 있는 트랜잭션 수, 검증 빈도 등을 제한하는 것이 포함됩니다. 어떤 경우든 제한과 제한 사항은 모두 프로토콜에 명시되어 있습니다.
상태 전환 함수
여기서부터 정말 기술적인 문제가 발생합니다.
상태는 본질적으로 네트워크가 특정 시점에 ‘생각’하는 모든 것을 의미합니다. 모든 노드, 트랜잭션, 블록의 현재 ‘위치’, 관계, 움직임이 모두 네트워크의 상태를 구성합니다.
네트워크의 상태는 시간이 지남에 따라 변화하며, 네트워크 내 요소의 집합과 균형도 마찬가지입니다. 상태 전환은 특정 방식으로 등록해야 하며, 네트워크 프로토콜도 이를 확인합니다. 노드가 네트워크에 들어오고 나가고, 정보를 교환하고, 블록체인의 구조를 변경함에 따라 새로운 가능성과 함께 새로운 복잡성이 생겨납니다.
상태는 네트워크가 주어진 시간에 할 수 있는 것과 할 수 없는 모든 것을 캡슐화합니다. 조건 A와 B가 충족되면 네트워크는 더 이상 X와 Y를 수행할 수 없습니다. 상태가 조건 C와 D로 정의되면 가능한 동작은 W와 Z뿐입니다. 이러한 논리의 전환은 네트워크 운영에 매우 중요합니다.
위에서 설명한 각 부분은 인증 상태라는 삼위일체 퍼즐의 한 조각으로 작용합니다. 트랜잭션에 대한 정보가 네트워킹 프로토콜에 들어가면 그곳에서 유효성을 검사하거나 폐기합니다. 확인되면 게이트키퍼 역할을 하는 컨센서스 프로토콜로 넘어갑니다. 데이터가 다른 노드의 데이터와 일치하는 경우 네트워크의 상태에 데이터를 입력할 수 있습니다.
수락되면 데이터는 상태 전환 함수로 전달되어 네트워크의 새로운 확인된 상태가 됩니다. 검증 상태는 블록이 체인에 추가된 후 실제로 ‘일어나는 일’을 정의하는 실질적인 경계선입니다. 여기에는 특정 지갑의 잔액을 변경하거나 스마트 컨트랙트를 실행하는 것이 포함될 수 있습니다.
노드가 프로토콜에서 벗어날 수 있나요?
노드가 프로토콜을 무시할 수 있으며, 만약 그렇다면 어떻게 되나요? 앞서 말했듯이 블록의 유효성을 검사하려면 모든 노드가 다른 모든 노드가 온라인으로 제출한 모든 데이터를 확인해야 합니다. 그러기 위해서는 블록체인 프로토콜을 철저히 준수해야 합니다. 한 노드가 복종하지 않으면 다른 노드와 협력할 수 없으므로 보상을 받을 수 없습니다. 이는 블록체인에는 의견 충돌의 여지가 없다는 것을 의미하며, 블록체인은 본질적으로 전체주의적 성격을 띠게 됩니다.
그러나 때로는 블록체인이 강제로 또는 고의적으로 두 부분으로 분할되는 경우가 있는데, 이를 포크라고 합니다. 포크는 일부 노드가 나머지 분산 원장의 데이터와 상충되는 데이터를 제출하기 때문에 발생합니다.
정상적인 작동 조건에서 네트워크는 데이터에 결함이 있는 이유를 파악하는 데 신경 쓰지 않고 해당 노드를 네트워크의 나머지 노드로부터 차단해 버립니다. 따라서 잠재적으로 악의적인 노드가 네트워크에 영향을 미치지 못하도록 차단됩니다. 각 블록체인의 모든 ‘잘못된’ 사본의 대부분은 지금 이 순간에도 어딘가에 보관되어 있을 가능성이 있습니다.
하지만 포크는 좋은 점도 있습니다. 블록체인 네트워크는 현재 상태를 ‘업데이트’할 수 없습니다. 새로 확인된 각 상태는 네트워크의 완전한 새 복사본입니다.
주요 블록체인 업데이트를 포크라는 말을 들어보셨을 것입니다. 따라서 블록체인을 업데이트해야 하는 경우 개발자가 의도적으로 새로운 사본으로 포크합니다. 업데이트 전 버전은 레거시 버전으로 유지되고 새로 포크된 버전이 정식 버전이 됩니다.
비트코인 프로토콜 이해
블록체인 프로토콜이 관리하는 항목에 대해 좀 더 자세히 살펴보겠습니다. 비트코인 네트워크를 예로 들어보겠습니다.
비트코인은 금덩어리처럼 나눠주는 것이 아닙니다. 비트코인을 주고받을 때마다 실제로 비트코인을 ‘받거나’ ‘주는’ 것이 아닙니다. 실제로 일어나는 일은 각각의 새로운 거래가 디지털 서명을 등록하는 것입니다. 서명에는 이전 거래의 고유한 암호화 ID인 해시와 수신자의 공개 키가 포함되어 있습니다. 따라서 각 거래는 변경하거나 위조할 수 없는 암호화 증명으로 보호됩니다.
온라인에서 구매자와 판매자가 가장 우려하는 것은 언젠가는 금융 사기의 희생양이 될 수 있다는 점입니다. 이는 피싱 또는 노골적인 가짜 거래의 형태로 나타날 수 있습니다. 이중 지출 문제뿐만 아니라 부당한 이익을 얻기 위해 시스템을 조작하는 행위도 있습니다. 블록체인은 중앙 기관이 관리하지 않기 때문에 모든 거래 안전 문제는 전적으로 프로토콜의 책임입니다.
비트코인 개발자들은 이러한 우려를 해결하고 이를 완화하기 위해 디지털 서명 및 암호화 증명과 같은 메커니즘을 도입했습니다. 따라서 비트코인 프로토콜은 다른 노드에 존재하는 것과 일치하는 암호화 증명이 있는 블록만 검증할 수 있습니다.
타임스탬프 서버 및 작업 증명 시스템
이중 지출은 블록체인에서 큰 문제입니다. 사용자가 동일한 디지털 화폐를 두 번 사용하려고 하는 시나리오입니다. 이는 통화의 디지털 특성으로 인해 발생할 수 있으며, 탐지되지 않고 통화를 복제하거나 복사하는 것이 더 쉬워질 수 있습니다.
사용자가 1 BTC를 가지고 있고 이를 두 개의 다른 주소로 전송하여 두 번 사용하려고 한다고 가정해 보겠습니다. 기존 결제 시스템에서는 시스템이 이중 지출 시도를 감지하고 거래를 거부합니다. 그러나 탈중앙화된 블록체인 네트워크에서는 작업 증명 시스템과 합의 알고리즘을 통해 각 거래가 유효하고 이미 소비되지 않았는지 확인하는 방식으로 이를 방지할 수 있습니다.
이를 보장하기 위해 비트코인 프로토콜은 각 트랜잭션의 해시에 고유한 시간 레이블을 붙이는 타임스탬프 서버를 구현했습니다. 작업 증명 시스템은 각 타임스탬프를 기록하고 시스템에 이미 등록된 해시값과 일치하는 거래는 거부합니다.
비트코인 네트워크에서 위조된 각 새 블록에는 작업 증명이 첨부됩니다. 논스 또는 한 번만 생성된 숫자라고도 합니다. 이는 채굴자가 블록을 검증하기 위해 컴퓨팅 파워를 사용했으며 성공했다는 암호학적 증거로 사용됩니다.
그러나 다른 노드에서 채굴한 데이터와 상반되는 데이터가 포함된 불량 블록이 있습니다. 불량 블록이 감지되면 해당 블록을 가져와서 불일치 여부를 추가로 평가합니다. 유효한 것으로 확인되면 블록은 평소와 같이 네트워크에 추가됩니다. 그렇지 않은 경우 폐기됩니다.
지금까지의 프로토콜 거물
즉, 각 주요 네트워크는 합의 메커니즘을 위해 특별히 고안된 자체 프로토콜을 따릅니다. 비트코인 네트워크는 비트코인 프로토콜에서, 이더리움은 이더리움 프로토콜 등에서 운영됩니다.
아래는 현재까지 가장 주목받는 블록체인 프로토콜입니다:
폴카닷(DOT)
폴카닷은 스마트 컨트랙트의 도움으로 원활한 커뮤니케이션과 데이터 공유를 가능하게 하여 서로 다른 블록체인 간의 상호 운용성을 혁신적으로 개선한 선구적인 블록체인 프로토콜입니다. 고유한 지명 지분 증명(NPoS) 합의 메커니즘을 통해 평균 블록 시간이 6초에 불과한 초고속 플랫폼과 평균 0.10~0.20달러의 낮은 거래 수수료로 매우 안전하고 확장 가능한 플랫폼을 제공합니다.
주목할 만한 프로젝트: 쿠사마, 체인엑스, 문빔, 체인링크, 리프 파이낸스
눈사태(AVAX)
Avalanche는 전 세계 탈중앙화 금융(DeFi) 애호가와 블록체인 개발자들에게 희망의 등불로 떠오른 오픈소스 플랫폼입니다. 최첨단 아발란체 합의 메커니즘을 통해 높은 처리량과 빠른 완결성을 지원하여 시장에서 가장 확장성이 뛰어나고 빠른 블록체인 중 하나입니다. Avalanche는 평균 2초의 블록 시간과 평균 1달러 미만의 거래 수수료를 자랑합니다.
주목할 만한 프로젝트: 판골린, 트레이더 조, 벤치, 리디안 라이온, 스시스왑
다각형(MATIC)
폴리곤은 이더리움의 확장성과 트랜잭션 수수료 문제를 혁신하는 차세대 레이어 2 확장 솔루션입니다. 지분 증명(PoS) 합의 메커니즘은 평균 블록 시간이 2~3초로, 이더리움보다 훨씬 빠른 속도로 금융 거래를 신속하게 검증합니다. 평균 거래 수수료가 0.002달러인 폴리곤은 비용 효율적인 탈중앙화 애플리케이션을 구축하고자 하는 개발자에게 이상적인 선택입니다.
주목할 만한 프로젝트: 에이브, 퀵스왑, 커브 파이낸스, 폴리마켓, 재퍼
솔라나 (SOL)
솔라나는 역사 증명(PoH) 합의 메커니즘으로 블록체인 업계에 큰 반향을 일으킨 고성능 블록체인 플랫폼입니다. 평균 블록 시간 0.4~0.8초, 평균 거래 수수료 0.00025달러로 높은 처리량과 빠른 완결성을 자랑하는 솔라나는 놀라울 정도로 빠르고 저렴한 블록체인 플랫폼입니다.
주목할 만한 프로젝트: 레이디움, 세럼, 망고 마켓, 오디우스, 본피다
바이낸스 스마트 체인(BSC)
바이낸스 스마트 체인은 이더리움 가상 머신(EVM)과의 호환성, 탈중앙화된 애플리케이션 실행 기능으로 블록체인 플랫폼의 판도를 바꾼 플랫폼입니다. 또한 호환성이 뛰어나 이더리움에서 보다 효율적이고 비용 효율적인 플랫폼으로 애플리케이션을 마이그레이션하고자 하는 개발자에게 매력적인 옵션입니다.
주목할 만한 프로젝트: 팬케이크스왑, 비너스, 스파르탄 프로토콜, 베이커리스왑, 오토팜
블록체인 개발 솔루션을 찾을 수 있는 곳
ICODA는 블록체인 개발 서비스 및 실제 작동하는 블록체인 제품 개발 분야에서 다년간 쌓아온 전문성을 보유하고 있습니다. 블록체인 소프트웨어 개발 프로젝트가 있다면 저희가 도와드리겠습니다. 토큰이나 디앱, 탈중앙화 거래소 또는 NFT 마켓플레이스 출시가 필요하시거나 블록체인 개발 솔루션이 비즈니스에 어떤 이점을 제공할 수 있는지 알아보고 싶으신 분이라면 제대로 찾아오셨습니다. 지금 바로 문의하여 간단한 계획을 세우고 바로 작업을 시작하세요.