▶▶ 코이니스타는 블록체인 기술을 거의 알지 못하지만 높은 수준에서 어떻게 작동하는지 알기 원하는 유저들을 위해 NIST의 블록체인 기술 개요를 번역해 총 20회에 걸쳐 연재하고 있습니다. ◀◀
블록체인(Blockchain)은 분산된 방식(즉, 중앙저장소 없이) 및 대개 중앙권한(예: 은행, 회사 또는 정부)없이 구현된 변조 저항 및 변조 방지 디지털 원장입니다. 기본 수준에서 사용자 커뮤니티는 해당 커뮤니티 내의 공유 원장에 트랜잭션을 기록할 수 있고, 블록체인 네트워크가 정상적으로 작동하면 게시된 트랜잭션은 변경될 수 없습니다.
2008년, 블록체인 아이디어가 여러가지 다른 기술 및 컴퓨팅 개념과 결합되어 현대적 암호화폐를 창출했습니다: 전자 화폐는 중앙 저장소 또는 권한 대신 암호화 메커니즘을 통해 보호되었습니다. 그러한 최초의 블록체인 기반 암호화폐(cryptocurrency)는 비트코인(Bitcoin)이었습니다.
비트코인 블록체인 내에서, 전자 현금을 나타내는 정보는 디지털 주소에 첨부됩니다. 비트코인 사용자는 디지털 서명하여 해당 정보에 대한 권한을 다른 사용자에게 양도할 수 있으며, 비트코인 블록체인은 이 전송을 공개적으로 기록하므로 네트워크의 모든 참가자가 트랜잭션의 유효성을 독립적으로 확인할 수 있습니다. 비트코인 블록체인은 분산된 참가자 그룹에 의해 저장되고 유지되며 공동으로 관리됩니다. 이것은 특정 암호화 메커니즘과 합쳐져 블록을 변경하거나 또는 트랜잭션을 위조하는 등 원장을 변경하려는 시도에 대한 블록체인의 복원력을 높입니다.
블록체인 기술의 "마술"을 설명하는 수많은 뉴스기사 및 비디오가 있기 때문에, 이 문서는 마술의 배경(즉, 블록체인 기술의 작동 방식)을 설명하는 것을 목표로 합니다. 아서 C. 클라크(Arthur C. Clarke)는 "충분히 발전된 기술은 마술과 구별할 수 없다"[1]고 썼으며, 클라크의 이 말은 블록체인 기술의 새로운 적용에 대한 완벽한 표현입니다.
블록체인 기술 사용에 대한 과장이 있으나 기술도 잘 이해되지 않고 있습니다. 블록체인은 마법이 아니며, 모든 문제를 해결하지 못합니다. 모든 신기술과 마찬가지로, 모든 분야에 상상할 수 있는 모든 방식으로 블록체인을 적용하려는 경향이 있습니다. 기술의 올바른 적용을 촉진하기 위해, 이 문서는 블록체인을 고수준(high level)에서 이해하기 위해 필요한 정보를 제공합니다.
블록체인 기술은 현대 암호화폐의 토대로, 암호화 기능이 많이 사용되기 때문에 그렇게 명명되었습니다. 사용자는 공개 키(public key)와 개인 키(private key)를 사용하여 디지털 서명하고 시스템 내에서 안전하게 거래합니다. 채굴(mining)을 사용하는 암호화폐 기반 블록체인 네트워크 (☞ 4.1절 참조)의 경우 사용자는 고정된 양의 암호화폐를 보상받기 위해 암호 해시 함수를 사용하여 퍼즐을 풀 수 있습니다.
그러나 블록체인 기술은 암호화폐보다 광범위하게 적용될 수 있습니다. 이 문서에서는 암호화폐 사용 사례-이것이 오늘날 블록체인 기술의 주요 용도이기 때문-에 초점을 맞춥니다만, 다른 분야에 대한 관심도 커지고 있습니다.
블록체인 기술 구현을 고려하는 조직은 기술의 근본적인 측면을 이해해야 합니다. 예를 들어 조직에서 블록체인 네트워크를 구현한 다음 저장된 데이터를 수정해야 한다고 결정하면 어떻게 될까요? 데이터베이스를 사용할 때 실제 데이터를 수정하는 작업은 데이터베이스 쿼리 및 업데이트를 통해 수행할 수 있습니다.
조직은 실제 블록체인 데이터의 변경이 어려울 수 있지만, 블록체인을 데이터 계층으로 사용하는 응용 프로그램은 이후의 블록과 트랜잭션을 이전 블록 및 트랜잭션에 대한 업데이트 또는 수정으로 처리함으로써 이를 해결할 수 있음을 이해해야 합니다. 이러한 소프트웨어 추상화를 통해 작업 데이터를 수정할 수 있으며 전체 변경 내역을 제공할 수 있습니다.
블록체인 기술의 또 다른 중요한 측면은 참가자가 트랜잭션이 유효하다는 데 동의하는 것입니다. 이를 "합의에 도달한다(reaching consensus)"고 하며, 특정 비즈니스 사례에 대해 긍정적인 점과 부정적인 점이 각각 존재하는 많은 모델이 있습니다. 블록체인은 해결방안 중의 하나일 뿐이라는 것을 이해하는 것이 중요합니다.
블록체인 구현은 종종 특정 목적이나 기능을 위해 설계됩니다. 예시 기능으로 암호화폐, 스마트 계약(smart contract, 블록체인에 배포되고 해당 블록체인을 실행하는 컴퓨터에서 실행되는 소프트웨어) 및 비즈니스 간에 사용되는 분산 원장 시스템이 포함됩니다. 블록체인 기술 분야는 새로운 플랫폼이 끊임없이 발표되는 가운데 꾸준하게 발전하고 있고, 주위 환경도 계속 변화하고 있습니다.
일반적으로 블록체인 접근 방식을 크게 무허가형(permissionless)과 허가형(permissioned)의 2가지로 구분합니다. 무허가형 블록체인 네트워크에서는 누구나 권한 없이 블록체인을 읽고 쓸 수 있습니다. 허가형 블록체인 네트워크는 특정 사람이나 조직으로 참여를 제한하고 좀더 세부적인 제어를 허용합니다. 둘의 차이점을 알면 블록체인 기술의 하위 집합이 필요한 요구사항에 대해 적용될 수 있다는 점을 이해할 수 있습니다.
블록체인 네트워크의 다양한 변형과 새로운 블록체인 관련 기술의 급속한 개발에도 불구하고, 대부분의 블록체인 네트워크는 공통된 핵심 개념을 사용합니다. 블록체인은 블록으로 구성된 분산 원장입니다. 각 블록은 블록에 대한 메타데이터를 포함하는 블록 헤더와, 트랜잭션 집합(set) 및 그 외 관련 데이터를 포함하는 블록 데이터로 구성됩니다. (블록체인의 첫번째 블록을 제외한) 모든 블록 헤더에는 이전 블록의 헤더에 대한 암호화 링크가 들어 있습니다. 각 거래에는 하나 이상의 블록체인 네트워크 사용자와 발생한 작업 내역이 기록되며, 거래를 제출한 사용자가 디지털 서명합니다.
블록체인 기술은 기존에 입증된 개념들을 가져와 하나의 솔루션으로 합친 것입니다. 이 문서에서는 이러한 기술의 작동 원리와 블록체인 접근 방식의 차이점에 대해 살펴봅니다. 여기에는 네트워크 참여자가 트랜잭션이 유효한지와 기존 블록체인 배포를 변경해야 할 때 어떻게 되는지에 대해 동의하는 방법이 포함됩니다. 또한 이 문서는 블록체인 네트워크를 사용할 때 고려해야 할 사항에 대해 설명합니다.
블록체인 기술의 활용은 은총알(silver bullet)이 아니므로, 악의적인 사용자를 다루는 방법, 제어를 적용하는 방법, 구현의 한계점 등과 같은 고려해야 할 이슈들이 있습니다. 고려해야 할 기술 문제 외에도, 네트워크 동작에 영향을 주는 운영 및 통제 문제가 있습니다. 예를 들어, 이 문서의 뒷부분에서 설명하는 것처럼 사용권한이 부여된 블록체인 네트워크에서 사용자 의도를 위해 어떤 개체(entity)들을 운영하고 네트워크를 관리할 것인지에 대한 설계 이슈가 있습니다.
블록체인 기술은 아직 새로우므로 "블록체인 기술 패러다임에 문제를 어떻게 적용시킬 수 있을까요?" 보다는 "블록체인 기술이 우리에게 잠재적으로 어떻게 이득이 될까요?" 라는 사고방식으로 조사해야 합니다. 조직은 블록체인 기술을 다른 기술 솔루션과 마찬가지로 적절하게 처리하고 적절한 상황에서 사용해야 합니다.
[본 자료는 코이니스타에서 번역한 것이며, 문서의 저작권은 NIST와 원 저자들에게 있습니다.]
http://www.coinistar.com/?t=all&page=1&idx=1162