블록체인 기술이란 무엇인가요? 최종 설명
블록체인은 비트코인과 이더리움, 다른 가상자산의 핵심 기술입니다. 고팍스 아카데미의 설명을 통해 블록체인이란 무엇이며, 이것이 어떻게 작동하는지 알아보시기 바랍니다.
챕터
챕터 1 - 블록체인 101
목차
- 블록체인이란 무엇인가요?
- 블록들은 어떻게 연결되나요?
- 블록체인과 탈중앙화
- 비잔틴 장군 문제
- 블록체인이 탈중앙화되어야 하는 이유는 무엇인가요?
- 피어투피어 네트워크란 무엇인가요?
- 블록체인 노드란 무엇인가요?
- 공개 vs. 비공개 블록체인
- 트랜잭션은 어떻게 이뤄지나요?
- 비트코인 트랜잭션 생성 방법
- 누가 블록체인 기술을 만들었나요?
- 블록체인 기술 장단점
블록체인이란 무엇인가요?
블록체인은 특별한 형태의 데이터베이스입니다. 여러분은 분산 원장 기술(DLT)에 들어보셨을 수 있는데, 이는 동일한 것을 지칭하는 말입니다.
블록체인에는 고유한 특성들이 존재합니다. 데이터가 추가되는 규칙이 존재하며, 데이터가 저장된 다음부터는 이를 수정하거나 삭제하는 것이 실질적으로 불가능합니다.
데이터는 시간에 따라 블록이라 하는 구조 안에 저장됩니다. 각 블록은 마지막 블록 위에 생성되며 이전 블록과 연결되는 정보 조각을 포함하고 있습니다. 가장 최신의 블록을 살펴보면, 우리는 이것이 마지막 블록 다음에 생성된 것을 확인할 수 있습니다. 우리가 이를 계속해 “체인” 가장 아래로 내려 간다면, 가장 처음의 블록에 도달할 것이며, 이를 제네시스 블록(genesis block)이라 합니다.
비유를 위해 여러분이 두 개의 열이 있는 스프레드시트를 갖고 있다고 가정해보겠습니다. 첫 번째 열의 첫 칸에는 기록하고자 하는 어떤 데이터든 입력할 수 있습니다.
첫 번째 칸의 데이터는 두 개의 문자로 된 식별자로 치환되며, 이는 다음 입력값의 일부로 사용될 것입니다. 아래의 예시에서는, 두 번째 열의 다음 칸(defKP)을 채우기 위해 KP라는 두 개의 문자 식별자가 반드시 사용되어야 합니다. 이는 여러분이 첫 번째 입력 데이터(abcAA)를 변경하면, 모든 칸에 다른 조합의 문자가 생성된다는 것을 의미합니다.
각 항목이 마지막 것과 연결되어 있는 데이터베이스
이제 4번째 열에서는 가장 최신의 식별자 TH를 볼 수 있습니다. 각 항목을 되돌리거나 제거, 또는 삭제할 수 없다고 말했던 것을 기억하시나요? 이는 이러한 과정이 진행되었다는 것을 누구나 쉽게 말할 수 있으며, 따라서 이를 변경하려는 시도가 무산될 것이기 때문입니다.
여러분이 첫 번째 칸의 데이터를 변경하려 한다고 해보겠습니다. 여러분은 다른 식별자를 얻게 될 것이며, 두 번째 블록은 다른 데이터를 갖게 될 것이고, 이는 두 번째 열에 다른 식별자를 생성할 것입니다. 기본적으로 TH는 전에 있던 모든 정보에서 비롯된 결과인 것입니다.
블록들은 어떻게 연결되나요?
앞서 우리가 논의했던, 두 개의 문자 식별자는 블록체인이 사용하는 해시 함수를 간단히 비유한 것이었니다. 해싱은 두 블록을 함께 이어붙이는 접착제 같은 것입니다. 이는 모든 크기의 데이터를 수학적 함수에 통과 시켜 언제나 동일한 길이의 출력값(해시)을 산출하는 과정으로 구성됩니다.
블록체인에서 사용되는 해시는 흥미로운 것인데, 정확히 같은 출력값을 출력하는 두 데이터 조각을 찾을 가능성은 천문학적으로 낮습니다. 위의 식별자와 같이, 입력값을 아주 조금 수정해도 완전히 다른 출력값을 얻게될 것입니다.
비트코인에서 널리 사용되는 함수인 SHA256으로 설명해 보겠습니다. 아래에서 보듯, 문자를 대문자로 바꾸기만 해도 출력값은 완전히 뒤바뀝니다.
입력 데이터 | SHA256 출력값 |
---|---|
Binance Academy | 886c5fd21b403a139d24f2ea1554ff5c0df42d5f873a56d04dc480808c155af3 |
Binance academy | 4733a0602ade574551bf6d977d94e091d571dc2fcfd8e39767d38301d2c459a7 |
binance academy | a780cd8a625deb767e999c6bec34bc86e883acc3cf8b7971138f5b25682ab181 |
SHA 256 충돌에 대해서는 알려진 바가 없으며(예를 들어 서로 다른 입력값이 동일한 출력값을 산출하는 것과 같은), 이는 블록체인 관점에서 상당히 소중한 것입니다. 이는 각 블록이 이전 블록의 해시를 포함하고 이를 가리킬 수 있음을 의미하며, 이전 블록을 수정하려는 모든 시도를 즉시 알아챌 수 있다는 것을 뜻합니다.
각 블록은 이전 블록의 지문을 포함
블록체인과 탈중앙화
우리는 블록체인의 기본 구조에 대해 설명했습니다. 그런데 사람들은 블록체인 기술에 대해 이야기할 때, 단지 데이터베이스에 대해서만 이야기하는 것이 아니라 블록체인 주변에 형성된 생태계에 대해서도 이야기 합니다.
독립적인 데이터 구조로써 블록체인은 특정 애플리케이션에 무척이나 유용한 것입니다. 낯선 이들과 협력하는 데 블록체인을 사용한다면 무척 흥미로울 것입니다. 다른 기술과 일부 게임 이론을 조합하면, 블록체인은 누구에게도 통제되지 않는 분산화된 원장 역할을 할 수 있습니다.
이는 시스템 규칙 밖에서 해당 입력값을 수정할 수 있는 권한을 누구도 갖고 있지 않다는 의미입니다. 따라서 여러분은 이러한 원장을 모두가 동시에 소유하고 있다고 주장할 수 있으며, 참가자들은 특정 순간의 원장 상태에 동의하게 됩니다.
비잔틴 장군 문제
앞서 기술한 것과 같은 시스템을 가로 막고 있는 도전 과제들을 비잔틴 장군 문제라고 합니다. 이는 1980년대에 구상된 것으로 고립되어 있는 참여자들이 자신의 행동을 조율하기 위해 반드시 커뮤니케이션을 해야 한다는 딜레마를 설명하기 위한 것이었습니다. 해당 딜레마에는 도시를 둘러싸고 어디를 공격해야 할지 결정해야 하는 몇 장군들이 존재합니다. 장군들은 메시지 전달자를 통해서만 의사소통할 수 있습니다.
각 장군은 공격 혹은 후퇴를 결정해야 합니다. 공격 또는 후퇴 중 무엇이라도 상관없으며, 모든 장군들이 동일한 결정에 동의하기만 하면 됩니다. 만약 장군들이 공격을 결정한다면, 동시에 움직여야만 성공할 것입니다. 그렇다면 우리는 이를 어떻게 성사시킬 수 있을까요?
우리는 물론 메시지 전달자를 통해 의사소통할 수 있습니다. 하지만 메시지 전달자가 “새벽에 공격한다”는 메시지를 중간에 가로채고, “우리는 오늘 밤 공격한다”로 메시지를 바꾸면 어떡할까요? 만약 한 장군이 나쁜 마음을 먹고 의도적으로 다른 이들이 패배하게 만들면 어떡할까요?
모든 장군이 공격에 성공(왼쪽). 다른 이들이 공격하는 동안 일부가 후퇴할 경우, 장군들은 패배(오른쪽).
우리에게는 참여자가 악의를 품거나 메시지가 가로막히더라도 합의에 도달할 수 있는 전략이 필요합니다. 데이터베이스를 유지하지 못하는 것은 증원군 없이 도시를 공격하는 것처럼 생사를 가르는 문제는 아니지만, 여기에는 동일한 원칙이 적용됩니다. 만약 블록체인을 감독하는 이들이 없고, 사용자에게 “정확한” 정보를 제공하지 않는다면, 사용자는 자신들 사이에서 의사소통할 수 있어야 합니다.
한 사용자(혹은 여러)의 잠재적 실패를 극복하기 위해, 블록체인의 메커니즘은 이러한 차질을 견뎌낼 수 있게끔 섬세하게 설계되어야 합니다. 이를 이뤄낼 수 있는 시스템을 비잔틴 장애 허용이라고 합니다. 이후 간략하게 살펴볼 것이지만, 강력한 규칙을 시행하기 위해 합의 알고리즘이 사용됩니다.
블록체인이 탈중앙화되어야 하는 이유는 무엇인가요?
여러분은 물론 자신만의 블록체인을 운영할 수 있습니다. 그러나 더 나은 다른 것들과 비교할 때 결국 한물 간 데이터베이스가 될 것입니다. 모든 사용자가 동등한 블록체인의 진정한 잠재력은 탈중앙화된 환경에서 활용될 수 있습니다. 따라서 블록체인은 삭제되거나 악의적으로 장악될 수 없습니다. 이는 누구나 볼 수 있는 하나의 사실 자료입니다.
피어투피어 네트워크란 무엇인가요?
피어투피어(P2P) 네트워크는 사용자들의 레이어입니다(또는 이전 예시에서는 장군들). 관리자가 없으며 따라서 중앙 서버에 연락하지 않고, 사용자들은 다른 사용자와 정보를 언제나 교환할 수 있으며, 이를 다른 피어에게 직접 전송할 수 있습니다.
아래 그림을 살펴보시기 바랍니다. 왼쪽에서 A는 F에게 연락하기 위해 서버에 메시지를 보내야 합니다. 그러나 오른쪽에서는 중개자 없이 서로가 연결되어 있습니다.
중앙화 네트워크(왼쪽) vs. 탈중앙화 네트워크(오른쪽).
일반적으로 서버는 사용자가 필요한 모든 정보를 보유합니다. 웹사이트가 오프라인이 되면, 여러분은 아티클을 보실 수 없습니다. 그러나 여러분이 모든 콘텐츠를 다운로드해 두었다면, 요청을 보내지 않고 여러분의 컴퓨터에서 이를 불러올 수 있습니다.
근본적으로 이것이 블록체인에서 각 피어들이 하는 일입니다. 전체 데이터베이스는 피어들의 컴퓨터에 저장되어 있습니다. 누군가 네트워크를 떠나도, 남은 사용자들은 여전히 블록체인에 접근할 수 있으며, 서로에게 정보를 공유할 수 있습니다. 새로운 블록이 체인에 추가되면, 데이터는 네트워크 전반으로 전파되며, 누구나 자신의 원장 사본을 업데이트할 수 있습니다.
해당 네트워크 유형에 대한 보다 자세한 논의를 확인해보고 싶으시다면 피어투피어 네트워크 설명을 꼭 확인해보시기 바랍니다.
블록체인 노드란 무엇인가요?
노드는 간단히 말해 네트워크에 접속된 기기를 일컫는 것으로, 블록체인 사본을 저장하고, 다른 기기와 정보를 공유하는 것입니다. 사용자는 해당 과정을 수동으로 처리하지 않아도 됩니다. 일반적으로 사용자는 블록체인 소프트웨어를 다운로드하고 실행하기만 하면 되며, 나머지 일은 알아서 처리될 것입니다.
위의 설명은 노드가 무엇인지에 대한 순전히 이론적인 설명이었으며, 해당 정의에는 네트워크와 어떤 식으로든 상호작용하는 다른 사용자들도 포함됩니다. 예를 들어 가상자산에서는 여러분 휴대전화의 간단한 지갑 애플리케이션을 라이트 노드라고 합니다.
퍼블릭 vs. 프라이빗 블록체인
여러분이 알고 있을 것이듯, 비트코인은 블록체인 업계가 오늘날까지 성장할 수 있는 기반을 마련했습니다. 비트코인은 정당한 금융 자산으로 공급되기 시작했으며, 혁신자들은 기반 기술의 다른 분야에서의 잠재성에 대해 생각해 왔습니다. 이는 금융 영역 바깥의 수 많은 활용 예시들을 위한 블록체인 탐구로 이어졌습니다.
비트코인은 퍼블릭 블록체인입니다. 이는 누구나 해당 블록체인상의 트랜잭션을 볼 수 있고, 이를 위해서는 인터넷 접속과 필수 소프트웨어만 있으면 된다는 의미입니다. 참여자에게 다른 것들이 요구되지 않기 때문에, 우리는 이를 허가가 필요 없는 환경이라 일컬을 수 있습니다.
반면, 프라이빗 블록체인이라 하는 유형의 블록체인도 있습니다. 해당 시스템은 누가 블록체인을 볼 수 있고, 이와 상호작용할 수 있는지 하는 규칙을 갖고 있습니다. 따라서 우리는 이를 허가받은 환경이라 합니다. 언뜻 보기에 프라이빗 블록체인은 쓸모없어 보일 수 있지만, 주로 기업 환경에서 중요한 애플리케이션입니다.
해당 주제에 대해 더 알아보고 싶으시다면 프라이빗, 퍼블릭, 컨소시엄 블록체인 - 무엇이 다른가요?를 확인해보시기 바랍니다.
트랜잭션은 어떻게 이뤄지나요?
앨리스가 밥에게 은행을 통해 송금을 하고자 한다면, 앨리스는 이를 자신의 은행에 통보합니다. 예시의 편리성을 위해 두 당사자가 동일한 은행을 사용한다고 가정해 보겠습니다. 은행은 데이터베이스를 업데이트하기 전(예를 들면, 앨리스 -$50, 밥 +$50), 앨리스가 트랜잭션을 수행하기 위한 잔고를 갖고 있는지 확인합니다.
이는 블록체인과 크게 다르지 않습니다. 결국, 블록체인도 하나의 데이터베이스입니다. 핵심적인 차이는 잔고를 확인하고 업데이트하는 단일한 주체가 존재하지 않는다는 것입니다. 노드 전체가 이를 수행해야 합니다.
앨리스가 5개의 비트코인을 밥에게 전송하고자 한다면, 앨리스는 이러한 메시지를 네트워크에 전달합니다. 이는 블록체인에 즉시 추가되지는 않으나, 노드는 이를 보게 될 것이며, 트랜잭션이 승인되기 위해서는 반드시 다른 행동을 완료해야만 합니다. 블록은 어떻게 블록체인에 추가되나요?를 살펴보시기 바랍니다.
트랜잭션이 블록체인에 추가되면, 모든 노드는 이를 확인할 수 있습니다. 노드는 이를 반영하기 위해 자신의 블록체인 사본에 이를 업데이트 할 것입니다. 이제 앨리스는 동일한 다섯 개의 비트코인 단위를 캐롤에게 전송할 수 없는데(그렇게 되면, 이중 지불), 네트워크가 앞선 트랜잭션에서 앨리스가 이미 이를 사용했다는 걸 알고 있기 때문입니다.
사용자 이름이나 비밀번호와 같은 개념은 존재하지 않으며, 자금의 소유권을 증명하기 위해 공개 키 암호방식이 사용됩니다. 자금을 전달받으려면 먼저, 밥은 개인 키를 생성해야 합니다. 이는 무척 긴 임의의 숫자이며, 수 백 년에 걸쳐서도 누군가 이를 추측하기란 사실상 불가능합니다. 그러나 밥이 자신의 개인 키를 누군가에게 알려준다면, 밥의 자금에 대해 소유권을 증명할 수 있게 됩니다(사용할 수 있음). 따라서 개인 키를 안전하게 보관하는 것이 중요합니다.
그러나 밥은 개인 키로부터 공개 키를 파생시킬 수 있습니다. 이후 밥은 공개 키를 누구에게나 전달할 수 있는데, 이를 분석하여 개인 키를 알아내는 것은 거의 불가능하기 때문입니다. 대부분의 경우, 밥은 공개 키를 통해 공개 주소를 얻기 위한 다른 작업(해싱과 같은)을 수행할 것입니다.
밥은 앨리스에게 공개 주소를 전달하며, 앨리스는 어디로 자금을 전송해야 하는지 알 수 있습니다. 앨리스는 해당 자금을 다음의 공개 주소로 지급하라는 트랜잭션을 생성합니다. 이후, 자신의 자금이 아닌 것을 소비하는 것이 아님을 증명하기 위해, 앨리스는 자신의 개인 키를 사용해 디지털 서명을 생성합니다. 누구나 앨리스의 서명된 메시지를 받을 수 있으며, 이를 앨리스의 공개 키를 통해 비교해볼 수 있습니다. 이후 앨리스가 밥에게 자금을 전송할 권한이 있다고 분명히 말할 수 있습니다.
비트코인 트랜잭션 생성 방법
비트코인 트랜잭션 생성 방법에 대해 설명하기 위해, 다음의 서로 다른 두 가지 시나리오를 설명해 보겠습니다. 첫 번째는 중앙화 거래소에서 비트코인을 출금하는 과정으로 구성되어 있으며, 두 번째는 트러스트 월렛에서 일렉트럼 지갑으로 자금을 전송하는 것입니다.
1. 계정에 로그인합니다. 비트코인이 아직 없다면, 비트코인 구매 방법을 살펴보시기 바랍니다.
2. 지갑(Wallet) 위로 마우스를 움직여 현물 지갑을 클릭합니다.
3. 사이드바 왼쪽에서 출금을 클릭합니다.
4. 출금하고자 하는 코인을 선택합니다. 여기서는 BTC입니다.
5. 비트코인을 출금하고자 하는 주소를 복사하고, 이를 수령인의 BTC 주소에 붙여넣기 합니다.
6. 전송하고자 하는 금액을 입력합니다.
7. 제출 버튼을 클릭합니다.
8. 확인 이메일을 받게 될 것입니다. 주소가 정확한지 꼼꼼하게 확인합니다. 주소가 정확하다면 이메일 안에서 트랜잭션을 승인합니다.
9. 여러분의 트랜잭션이 블록체인에 전송되기를 기다립니다. 입출금 내역 탭 또는 블록 탐색기를 통해 현재 상황을 모니터링할 수 있습니다.
트러스트 월렛에서 일렉트럼으로 비트코인 전송하는 방법
이번 예시에서 우리는 트러스트 월렛에서 일렉트럼으로 비트코인을 전송할 것입니다.
1. 트러스트 월렛 앱을 시작합니다.
2. 비트코인 계정을 클릭합니다.
3. 전송을 클릭합니다.
4. 일렉트럼 지갑을 엽니다.
5. 일렉트럼에서 수신(Receive) 탭을 클릭하고 주소를 복사합니다.
해당 방법 외에도, 트러스트 월렛으로 돌아가 [–] 아이콘을 클릭해 여러분의 일렉트럼 주소를 가리키는 QR 코드를 스캔할 수 있습니다.
6. 여러분의 비트코인 주소를 트러스트 월렛의 수신자(Recipient)에 붙여넣기 합니다.
7. 금액을 입력합니다.
8. 모든 정보가 정확하다면, 트랜잭션을 승인합니다.
9. 다 됐습니다! 블록체인에서 트랜잭션이 승인되기를 기다리면 됩니다. 블록 탐색기에 해당 주소를 붙여 넣기 하여 진행 사항을 모니터링할 수 있습니다.
누가 블록체인 기술을 만들었나요?
블록체인 기술은 2009년 최초이자 가장 잘 알려진 블록체인인 비트코인의 출시와 함께 공식화되었습니다. 그러나 익명의 비트코인 창시자 사토시 나카모토는 이전의 기술과 제안들에서 영감을 얻었습니다.
블록체인은은 많은 해시 함수와 암호방식을 사용하며, 이는 비트코인이 출시되기 수십 년 전부터 존재했던 것이었습니다. 흥미롭게도 블록체인 구조에 대한 역사는 1990년대 초반으로 거슬러 올라갈 수 있는데, 당시에는 타임스탬핑 문서에 사용되어 이후 이를 변경할 수 없게 하는 정도로 사용되던 것이었습니다.
해당 주제에 대해 더 알아보고 싶으시다면, 블록체인 역사를 살펴보시기 바랍니다.
블록체인 기술 장단점
적절하게 설계된 블록체인은 금융에서 농업에 이르기까지 많은 산업에서 지분 보유자를 귀찮게 하는 문제들을 해결합니다. 분산화된 네트워크는 기존의 클라이언트-서버 모델 보다 많은 장점을 갖고 있지만, 몇 가지 단점도 존재합니다.
장점
비트코인 백서에 명시된 블록체인의 직접적인 장익은 중개자 없이 지불을 처리할 수 있다는 것입니다. 이후의 블록체인들은 여기서 더 나아가, 사용자로 하여금 모든 종류의 정보를 전송할 수 있게 했습니다. 한쪽 당사자를 제거했다는 것은 사용자가 위험에 덜 노출된다는 것이며, 중개자가 차감하는 비용이 없기에 수수료가 더 저렴하다는 의미입니다.
앞서 언급했던 것처럼, 퍼블릭 블록체인에는 허가가 필요하지 않으며, 어떠한 책임자도 없기에 진입 장벽도 없습니다. 만약 한 사용자가 인터넷에 접속할 수 있다면, 그는 네트워크상의 다른 피어들과 상호작용할 수 있을 것입니다.
많은 이들은 블록체인의 가장 중요한 특성이 높은 수준의 검열 저항성이라 주장합니다. 악의적인 행위자가 중앙화된 서비스에 심각한 타격을 주기 위해서는 목표 서버를 공격하면 그만입니다. 그러나 피어투피어 네트워크에서는 모든 노드가 자체적인 하나의 서버 역할을 합니다.
비트코인과 같은 시스템에는 10,000개가 넘는 공개적인 노드들이 전 세계에 흩어져 있으며, 이는 자원이 풍부한 공격자라도 사실상 네트워크를 위태롭게 만들지 못합니다. 그러나 숨겨진 노드들도 많이 있다는 걸 알아둘 필요가 있으며, 이들은 보다 일반적인 네트워크에서는 보이지 않습니다.
이상이 일반적인 장점들입니다. 블록체인은 어디에 사용되나요?에서 볼 수 있는 것처럼 블록체인이 사용될 수 있는 많은 구체적인 활용 예시들도 존재합니다.
단점
블록체인이 모든 문제의 특효약은 아닙니다. 앞선 영역에서는 특화된 장점들을 갖고 있을지라도, 다른 영역에서는 부족한 면이 있기도 합니다. 블록체인의 대중적인 채택을 가로막는 가장 분명한 걸림돌은 이를 확장시키기가 무척 어렵다는 것입니다.
분산화된 모든 네트워크가 그렇습니다. 모든 참여자가 동기화 상태를 유지해야 하기 때문에, 새로운 정보는 노드가 따라갈 수 없을 만큼 빠르게 추가될 수 없습니다. 따라서 개발자들은 시스템이 탈중앙화 상태로 남아 있게 하기 위하여 의도적으로 블록체인이 업데이트될 수 있는 속도를 제한합니다.
많은 이들이 트랜잭션을 생성하려 할 경우, 네트워크 사용자에게 이는 분명 지루한 기다림의 시간이 될 수 있습니다. 블록에는 무척 많은 데이터들이 포함되지만, 이것이 체인에 즉각적으로 추가되지는 않습니다. 해당 블록에 더 적합한 트랜잭션이 있는 경우, 이후의 것들은 다음 블록을 기다려야만 합니다.
탈중앙화된 블록체인 시스템에서 발생할 수 있는 또 다른 단점은 업그레이드가 쉽지 않다는 것입니다. 여러분이 자체적인 소프트웨어를 만든다면, 원하는 대로 새로운 기능을 추가할 수 있습니다. 다른 이들과 함께 일하지 않아도 되며, 수정을 위해 허가를 요청할 필요도 없습니다.
수백 만 명의 사용자가 사용하고 있을 수 있는 환경에서는 이러한 변경이 무척 어려울 것입니다. 여러분은 노드 소프트웨어 변수 일부를 변경할 수 있지만, 그렇게 하면 결국 네트워크에서 분리될 뿐입니다. 수정된 소프트웨어가 다른 노드와 호환되지 않는다면, 다른 이들은 이를 알아채고 여러분의 노드와의 상호작용을 거부할 것입니다.
여러분이 블록의 최대 크기에 대한 규칙을 수정(1MB에서 2MB)하고자 한다고 가정해 보겠습니다. 여러분은 해당 블록을 여러분이 연결된 노드에 전송할 수 있지만, 노드는 “1MB가 넘는 블록은 수용하지 않음”이라는 규칙을 갖고 있습니다. 만약 이보다 더 큰 블록을 수신하게 될 경우, 노드는 이를 블록체인 사본에 포함시키지 않을 것입니다.
이러한 변화를 추진할 수 있는 방법은 생태계 다수가 이를 수용하는 것뿐입니다. 주요 블록체인의 경우 변경 사항을 조정하기 위해 포럼 내에서 수개월에서 심지어 수년에 걸친 열띤 토론이 벌어질 수 있습니다. 보다 많은 내용이 궁금하시다면 하드 포크와 소프트 포크를 살펴보시기 바랍니다.
챕터 2 - 블록체인은 어떻게 작동하나요?
목차
- 블록은 어떻게 블록체인에 추가되나요?
- 마이닝(작업 증명)
- 스테이킹(지분 증명)
- 다른 합의 알고리즘
- 블록체인 트랜잭션을 되돌릴 수 있나요?
- 블록체인 확장성이란 무엇인가요?
- 블록체인은 왜 확장되어야 하나요?
- 블록체인 포크란 무엇인가요?
블록은 어떻게 블록체인에 추가되나요?
우리는 이제까지 많은 것을 다뤘습니다. 우리는 노드가 서로 연결되어 있으며, 블록체인 사본을 저장한다는 것을 알고 있습니다. 이들은 트랜잭션과 새로운 블록 정보를 서로에게 전달합니다. 우리는 이미 노드가 무엇인지 다뤘습니다만, 여러분은 새로운 블록이 블록체인에 어떻게 추가되는지 궁금해하실 수도 있습니다.
사용자가 이를 어떻게 해야 한다고 말하는 하나의 자료원은 없습니다. 모든 노드가 동등한 힘을 갖고 있기 때문에, 누가 블록체인에 블록을 추가할 수 있는지를 공정하게 결정하기 위한 메커니즘이 있어야 합니다. 우리에게는 속임수를 쓰는 데는 많은 비용이 들지만, 정직하게 행동하는 이들에게는 보상을 주는 시스템이 필요합니다. 합리적인 모든 사용자들은 자신에게 경제적으로 이익이 되는 방식으로 행동하기를 원할 것입니다.
네트워크에는 허가가 필요하지 않기 때문에, 누구나 블록 생성에 접근할 수 있습니다. 프로토콜은 보통 사용자에게 “투자”를 요구하며, 사용자는 자신의 자금으로 위험을 감수해야 합니다. 이를 통해 사용자들은 블록 생성에 참여할 수 있으며, 유효한 블록을 생성하면 보상을 지급받게 될 것입니다.
그러나 만약 속임수를 쓰려 한다면, 네트워크의 다른 이들이 이를 알아챌 것입니다. 이들은 얼마를 스테이크 했든 이를 잃게 될 것입니다. 우리는 이러한 메커니즘을 합의 알고리즘이라 하는데, 이것이 네트워크 참여자로 하여금 다음에 어떤 블록이 추가되어야 하는지 하는 합의에 도달할 수 있게 하기 때문입니다.
마이닝(작업 증명)
마이닝은 현재까지 합의 알고리즘에서 가장 많이 사용되는 방법입니다. 마이닝은 작업 증명(PoW) 알고리즘을 사용합니다. 사용자는 자신의 연산 능력을 사용해 프로토콜에서 규정한 문제 해결을 시도합니다.
이러한 문제는 사용자로 하여금 블록에 포함된 트랜잭션과 다른 블록을 해시화하도록 합니다. 그러나 해시가 유효한 것으로 간주되려면, 이는 반드시 특정 숫자값 이하여야 합니다. 출력값이 무엇이 될 것인지 예측할 수 있는 방법이 없기 때문에, 마이너는 유효한 솔루션을 얻을 때까지 조금씩 수정된 데이터를 계속해서 해시화해야 합니다.
분명한 것은 데이터를 반복해서 해시화하는 데 많은 연산 능력이 소비된다는 것입니다. 작업 증명 블록체인에서는 사용자가 마이닝 컴퓨터와 전기세에 투자한 자금이라는 “지분”이 이들의 행동에 동기를 부여합니다. 마이너들은 블록 보상을 얻기를 바라며 마이닝을 하는 것입니다.
앞서 해시를 되돌리는 것이 사실상 불가능하지만, 이를 쉽게 확인할 수 있다고 했던 것을 기억하시나요? 마이너가 새로운 블록을 네트워크에 전송할 때, 다른 모든 노드는 이를 해시 함수의 입력값으로 사용합니다. 이들은 해당 블록이 블록체인 규칙 속에서 유효한지 확인해 보려면 이를 그저 실행해보면 됩니다. 블록이 유효하지 않다면 마이너는 보상을 수령할 수 없고, 그저 전기세를 낭비하게 될 것입니다.
첫 번째 작업 증명 블록체인은 비트코인이었습니다. 비트코인이 생겨난 이후, 많은 블록체인이 작업 증명 메커니즘을 채택해 왔습니다.
작업 증명의 장점
- 검증되었고 테스트됨 – 작업 증명은 가장 성숙한 합의 알고리즘이며, 수천억 달러에 해당하는 가치를 보증하고 있습니다.
- 허가가 필요 없음 – 누구나 마이닝 경쟁에 참여하거나 검증 노드를 운영할 수 있습니다.
- 탈중앙화 – 마이너는 블록 생성을 위해 서로 경쟁하는데, 이는 해시 파워가 단일 주체에 의해 통제되는 법이 없음을 뜻합니다.
작업 증명의 단점
- 낭비적임 – 마이닝은 엄청난 양의 전기를 소비합니다.
- 진입 장벽이 점차 높아지고 있음 – 더 많은 마이너들이 네트워크에 참여함에 따라, 프로토콜은 마이닝 문제의 난이도를 높이고 있습니다. 경쟁력을 갖추기 위해서 사용자는 더 좋은 장비에 투자해야만 합니다. 이는 많은 마이너들에게 부담이 되는 일일 수 있습니다.
- 51% 공격 – 마이닝은 탈중앙화를 촉진시키지만, 한 마이너가 해시 파워 다수를 획득할 가능성도 있습니다. 만약 그렇게 된다면 이들은 이론적으로 트랜잭션을 되돌리고, 블록체인 보안을 위협할 수 있습니다.
스테이킹(지분 증명)
작업 증명 시스템에서 마이너를 정직하게 행동하도록 만드는 것은 이들이 마이닝 컴퓨터와 전기세에 지불한 자금입니다. 블록을 제대로 마이닝하지 못하면, 투자 수익을 올릴 수 없을 것입니다.
지분 증명(PoS)에서는 외부적인 비용이 발생하지 않습니다. 마이너 대신 검증자가 존재하며 이들은 블록을 제안(혹은 “형성”)합니다. 이들은 보통의 컴퓨터를 사용해 새로운 블록을 생성할 수 있으나, 특권을 누리기 위해서는 상당한 양의 자금을 스테이크해야 합니다. 스테이킹은 각 프로토콜의 규칙을 따라 블록체인의 자체 통화가 사전에 정해둔 수량을 따라 진행됩니다.
여러 구현에 차이점들이 존재하지만, 검증자가 자금을 스테이크한 다음에는 프로토콜에 의해 다음 블록을 발표하기 위해 임의로 선정될 수 있습니다. 이를 정확하게 해낸다면, 보상을 받습니다. 이 외에도 다음 블록을 승인하는 다수의 검증자가 있을 수 있으며, 보상은 스테이크 한 수량에 비례해 분배될 것입니다.
“순수한” 지분 증명 블록체인은 사용자가 전체 네트워크 블록을 검증하기 위해 노드(증인)에 투표하는 위임 지분 증명(DPoS)보다 드뭅니다.
이더리움은 스마트 콘트랙트 블록체인을 선도하는 것이며, ETH 2.0으로 옮겨감에 따라 머잖아 지분 증명으로 옮겨갈 것입니다.
지분 증명의 장점
- 환경 친화적임 – 지분 증명의 탄소 발자국은 작업 증명 마이닝의 일부에 불과합니다. 스테이킹은 자원 집약적인 해싱 작업을 필요로 하지 않습니다.
- 더 빠른 트랜잭션 프로토콜이 정한 임의의 문제를 풀기 위해 부가적인 연산 능력을 소비하지 않아도 되기 때문에, 일부 지분 증명 지지자들은 트랜잭션 출력량이 높아질 수 있다고 주장합니다.
- 스테이킹 보상과 이자 – 보상이 마이너에게 가는 대신, 이는 네트워크를 보호하기 위해 토큰 보유자들에게 직접 지급됩니다. 어떤 경우에는 지분 증명을 통해 사용자는 에어드랍, 이자를 지급받거나 또는 간단히 자금을 스테이킹하고 소극적 소득을 올릴 수 있습니다.
지분 증명의 단점
- 상대적으로 덜 테스트 됨 – 지분 증명 프로토콜은 아직까지 큰 규모에서는 테스트되지 않았습니다. 지분 증명의 구현과 암호경제학에 발견되지 않은 위험성이 존재할 수 있습니다.
- 금권 정치 – “부유한 이들을 더 부유하게” 만드는 지분 증명 생태계에 대한 우려가 증가하고 있습니다. 스테이크를 많이 한 검증자는 더 많은 보상을 받아가곤 합니다.
- 노드의 손해가 전혀 없다는 문제 – 작업 증명에서 사용자는 단 하나의 체인에만 “베팅”할 수 있으며, 이들은 해당 체인이 가장 성공적일 것이라 믿으며 마이닝을 합니다. 하드 포크가 발생하면, 이들은 동일한 해시 파워로 다수의 체인에 베팅할 수 없습니다. 그러나 지분 증명에서는 약간의 추가 비용만 있으면 다수의 체인에서 작업할 수 있으며, 이는 경제적 문제를 불러일으키게 됩니다.
다른 합의 알고리즘
작업 증명과 지분 증명은 가장 일반적인 합의 알고리즘이지만, 더 많은 합의 알고리즘들이 존재합니다. 일부는 두 시스템 요소를 결합한 하이브리드 방식이며, 다른 것들은 전적으로 다른 방식입니다.
여기서는 자세히 알아보지는 않겠지만, 관심이 있으시다면 다음의 아티클들을 확인해보시기 바랍니다.
블록체인 트랜잭션을 되돌릴 수 있나요?
블록체인은 무척 튼튼한 데이터베이스로 설계되어 있습니다. 블록체인의 자체적인 속성은 기록 이후 이를 제거하거나 수정하는 것을 무척 어렵게 만들며, 비트코인과 다른 대규모 네트워크에서는 거의 불가능한 일입니다. 따라서 블록체인상에서 트랜잭션을 생성할 때는 이를 바위에 영원히 새기는 것이라 생각하는 것이 좋습니다.
다양한 방식으로 구현된 블록체인이 존재하며, 이들 간의 근본적인 차이점은 네트워크 내에서 어떻게 합의를 달성하느냐 하는 것입니다. 이는 특정 구현에서는 상대적으로 적은 참여자 그룹이 네트워크 내에서 트랜잭션을 효과적으로 되돌릴 만큼 충분한 파워를 얻게 될 수 있음을 의미합니다. 이는 특별히 규모가 작은 네트워크상에서 운영되는 알트코인에서 우려할만한 사항입니다(적은 마이닝 경쟁 때문에 해시 레이트가 낮음).
블록체인 확장성이란 무엇인가요?
블록체인 확장성은 블록체인 시스템이 증가하는 수요를 감당할 수 있는 능력을 가리키는 데 포괄적으로 사용되는 용어입니다. 블록체인의 이상적인 속성(탈중앙화, 검열 저항성, 불변성)에는 비용이 따릅니다.
탈중앙화된 시스템과 다르게, 중앙화된 데이터베이스는 상당히 빠른 속도와 출력량을 보여줄 수 있습니다. 이는 네트워크의 내용이 수정될 때마다 이를 동기화하는 전 세계에 흩어진 수천 개의 노드가 필요없기 때문입니다. 그러나 블록체인은 다릅니다. 확장성은 블록체인 개발자들 사이에서 수년간 치열하게 논의된 주제였습니다.
블록체인의 성능 문제점을 보완하기 위한 다양한 해결책들이 제시되고 또 구현되어 왔습니다. 그러나 현재까지 완벽한 접근법은 존재하지 않습니다. 확장성 문제에 대해 다양한 해결책들이 보다 간결한 해답을 제시하기까지는 실험이 계속되야 할 것입니다.
보다 넓은 관점에서는 확장성과 관련된 근본적인 의문이 존재합니다. 우리는 블록체인 자체의 성능을 향상 시켜야 할까요(온체인 스케일링), 아니면 트랜잭션이 메인 블록체인의 크기를 키우지 않고 실행되게 해야 할까요(오프체인 스케일링)?
두 방법 모두 분명한 장점이 있을 것입니다. 온체인 스케일링 해결책은 트랜잭션 크기를 줄이거나, 단순히 블록에 데이터가 저장되는 방식을 최적화할 수 있습니다. 반면, 오프체인 해결책은 메인 블록체인 밖에서 트랜잭션을 묶어, 이를 나중에 추가하는 것입니다. 가장 잘 알려진 오프체인 해결책으로는 사이드체인과 지불 채널이라 하는 것이 있습니다.
해당 주제에 대해 더 알아보고 싶으시다면, 블록체인 확장성 - 사이드체인과 지불 채널을 읽어보시기 바랍니다.
블록체인은 왜 확장되어야 하나요?
블록체인 시스템이 중앙화된 상대 주체와 경쟁하게 된다면, 적어도 비슷한 수준의 성능을 보여줘야 할 것입니다. 그러나 현실적으로 블록체인 시스템은 개발자와 사용자에게 더 많은 인센티브를 제공하여, 이들이 블록체인 기반 플랫폼과 애플리케이션으로 옮겨오게 해야 할 것입니다.
이는 중앙화된 시스템과 비교하여, 블록체인을 사용하는 것이 개발자와 사용자에게 더 빠르고, 저렴하고, 편리해야 함을 의미합니다. 그러나 앞서 우리가 논의했던 블록체인을 규정하는 특징들을 논의하며 이를 달성하는 것은 쉽지 않습니다.
블록체인 포크란 무엇인가요?
다른 소프트웨어와 마찬가지로 블록체인도 문제를 해결하고, 새로운 규칙을 추가하고, 오래된 것을 삭제하기 위한 업그레이드를 필요로 합니다. 블록체인 소프트웨어는 오픈 소스이기 때문에, 이론적으로는 누구나 네트워크를 관리하는 소프트웨어에 추가할 새로운 업데이트를 제안할 수 있습니다.
한 가지 잊지 말아야 할 것은 블록체인은 분산화된 네트워크라는 것입니다. 시스템이 업그레이드 되면, 전 세계에 흩어져 있는 수 천개의 노드는 새로운 버전과 통신하고 이를 시행해야 합니다. 하지만 참여자가 시행되는 업그레이드에 동의하지 않는다면 어떻게 될까요? 보통 의사 결정 흐름을 결정하는 전문 조직은 존재하지 않습니다. 이는 소프트 포크와 하드 포크로 이어질 수 있습니다.
소프트 포크
업그레이드 방법에 대한 일반적인 합의가 있다면, 이는 보다 간단한 문제일 것입니다. 해당 시나리오에서 소프트웨어는 구버전과 호환이 가능한 것으로 업데이트되며, 업데이트 된 노드가 그렇지 않은 노드와 여전히 상호 작용할 수 있습니다. 그러나 실제로는 시간이 지나며 거의 모든 노드가 업그레이드를 진행할 것입니다. 이를 소프트 포크라고 합니다.
하드 포크
하드 포크는 보다 복잡합니다. 하드 포크가 시행되면 새로운 규칙과 기존의 규칙은 호환이 불가능할 것입니다. 따라서 새로운 규칙을 따르는 노드가 기존의 규칙을 따르는 노드와 상호 작용을 시도할 경우, 통신이 불가능할 수 있습니다. 결과적으로 블록체인은 기존의 소프트웨어를 운영하는 것과 새로운 규칙을 따르는 것, 두 개로 나뉘게 됩니다.
하드 포크 이후에는 기본적으로 두 가지 다른 프로토콜을 따르는 네트워크가 병렬적으로 존재합니다. 포크가 발생할 때 기존 네트워크 블록체인의 자산 잔고가 복제된다는 것을 알아둘 필요가 있습니다. 따라서, 포크 당시 기존 체인에 잔고가 있을 경우, 새로운 체인에도 잔고가 있게 됩니다.
보다 자세한 사항은 하드 포크와 소프트 포크를 살펴보시기 바랍니다.
챕터 3 - 블록체인은 어디에 사용하나요?
목차
- 공급망을 위한 블록체인
- 블록체인과 게임 산업
- 의료를 위한 블록체인
- 블록체인 송금
- 블록체인과 디지털 신원
- 블록체인과 사물 인터넷(IoT)
- 거버넌스를 위한 블록체인
- 자선 단체를 위한 블록체인
- 예측 시장을 위한 블록체인
- 블록체인을 통한 크라우드펀딩
- 블록체인과 분산화된 파일 시스템
블록체인 기술은 다양한 분야에 활용될 수 있습니다. 몇 가지 예시들을 살펴보도록 하겠습니다.
공급망을 위한 블록체인
효율적인 공급망은 성공적인 여러 비즈니스의 핵심 요소이며, 공급자에게서 소비자에게 상품을 전달하는 것과 관련된 것입니다. 기존의 특정 산업에서는 다수의 지분 보유자들 사이에 조정을 이뤄내는 것이 어려운 것으로 증명되어 왔습니다. 그러나 블록체인 기술을 사용하면 여러 업계가 새로운 수준의 투명성을 달성할 수 있습니다. 불변하는 데이터베이스를 중심으로 한 상호운영 가능한 공급망 생태계는 보다 튼튼하고 신뢰할만한 것이 될 수 있습니다.
이에 대해 더 자세히 알아보고 싶으시다면, 블록체인 활용 예시: 공급망을 확인해 보시기 바랍니다.
블록체인과 게임 산업
게임 업계는 세계에서 가장 큰 오락 산업 중 하나가 되었으며, 블록체인 기술을 아주 유용하게 사용할 수 있습니다. 일반적으로 게이머들은 게임 개발자에게 관대한 경향이 있습니다. 대부분의 온라인 게임에서 게이머는 개발자의 서버 공간에 의존하며, 계속해서 변화하는 일련의 규칙들을 따릅니다. 이러한 상황에서 블록체인은 온라인 게임 소유권, 관리, 유지를 탈중앙화시키는 데 도움이 될 수 있습니다.
그러나 가장 큰 문제가 될 수 있는 것은, 게임 바깥에서는 게임 아이템의 소유권이 존재하지 않는다는 것이며, 이에 대한 진정한 소유권을 갖거나 중고 시장에서 거래할 가능성을 제공하지 않는다는 것입니다. 블록체인 기반 접근법을 활용하면 게임은 보다 장기적으로 지속 가능해질 수 있으며, 암호 수집물로 발행된 게임 아이템은 실제 세계에서 가치를 가질 수 있습니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 게임을 확인해 보시기 바랍니다.
의료를 위한 블록체인
모든 의료 시스템에서는 의료 기록을 신뢰할 수 있는 방식으로 저장하는 것이 필수적이며, 민감한 정보를 중앙화된 서버에 남겨두는 것은 위험해질 수 있습니다. 블록체인 기술의 투명함과 보안은 의료 기록을 저장하는 데 이상적인 플랫폼을 만드는 데 사용될 수 있습니다.
환자들의 기록을 암호학적으로 보호하는 것은, 환자들의 프라이버시를 보호하는 동시에 자신의 의료 정보를 다른 모두 의료 기관에 공유할 수 있게 합니다. 안전하고 세계적인 데이터베이스를 활용하면, 현재는 파편화되어 있는 의료 시스템 참여자 모두에게 정보가 보다 신속하게 전달될 수 있을 것입니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 의료를 확인해 보시기 바랍니다.
블록체인 송금
기존 은행을 통해 자금을 국제적으로 송금하는 것은 번거로운 일입니다. 대부분 대단히 복잡한 네트워크 중개자 때문이며, 수수료와 지불 시간 때문에 긴급한 트랜잭션에는 기존의 은행을 이용하는 것은 비싸며 신뢰하기가 어렵습니다.
가상자산과 블록체인은 이러한 생태계의 중개자를 제거하며, 전 세계로 저렴하고 빠른 송금을 가능하게 합니다. 이상적인 몇 가지 속성을 위해 블록체인은 분명 성능을 포기했지만, 다양한 프로젝트가 저렴하고 거의 즉각적인 트랜잭션을 위해 블록체인 기술을 활용하고 있습니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 송금을 확인해 보시기 바랍니다.
블록체인과 디지털 신원
인터넷상에서 신원을 안전하게 관리하는 것은 시급히 해결해야 할 중대한 문제입니다. 막대한 수준의 우리의 데이터는 중앙화된 서버에 저장되어 있으며, 우리의 인식이나 동의 없이 머신 러닝 알고리즘을 통해 분석되고 있습니다.
블록체인 기술을 통해 사용자는 자신의 데이터에 대한 소유권을 갖고, 필요할 때만 제3자에게 선택적으로 정보를 공개할 수 있습니다. 이러한 형태의 암호 방식은 프라이버시를 희생하지 않고도, 보다 매끄러운 온라인 경험을 가능하게 합니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 디지털 신원을 확인해 보시기 바랍니다.
블록체인과 사물 인터넷(IoT)
오늘날 상당히 많은 물리적 기기들이 인터넷에 연결되고 있으며, 그 숫자는 계속해서 증가하고 있습니다. 일부는 블록체인 기술을 통해 이러한 기기 사이의 통신과 협동이 크게 확장될 수 있다고 추측합니다. 자동화된 기계-대-기계(M2M) 소규모 지불은, 안전하고 처리량이 높은 데이터베이스 솔루션에 기반하는 새로운 경제를 창조할 수 있습니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 사물 인터넷(IoT)을 확인해 보시기 바랍니다.
거버넌스를 위한 블록체인
분산화된 네트워크는 컴퓨터 코드로 된 자체적인 형태의 규칙을 규정하고 시행할 수 있습니다. 블록체인이 지역, 국가, 또는 국제적 수준의 다양한 거버넌스 과정에서 중개자를 제거할 수 있다는 것은 그다지 놀라운 것은 아닙니다.
뿐만 아니라, 블룩체인은 오늘날 오픈 소스 개발 환경이 마주하고 있는 가장 큰 문제 중 하나인 자금의 분산화에 대한 신뢰할 수 있는 메커니즘의 결여라는 문제를 해결할 수 있습니다. 블록체인 거버넌스는 모든 참여자가 의사 결정에 참여하도록 보장하며, 어떤 규칙이 시행되어야 하는지에 대한 투명한 개괄을 제공합니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 거버넌스를 확인해 보시기 바랍니다.
자선 단체를 위한 블록체인
자선 단체는 자금을 모집하는 방법에 있어 종종 한계를 경험하게 됩니다. 이보다 좌절스러운 것은, 기부 자금의 최종 도착지를 정확하게 추적하기 힘들다는 것이며, 이는 분명 해당 단체를 지원하는 것을 주저하게 만듭니다.
”가상자산 자선 활동”은 블록체인 기술을 사용해 이러한 한계를 극복합니다. 보다 높은 수준의 투명성과 세계적 참여, 절감된 비용과 같은 블록체인 기술의 고유한 속성에 기반하는 새로운 분야들이 자선 단체의 영향력을 극대화하기 위해 노력하고 있습니다. 블록체인 자선 재단은 그러한 단체 중 하나입니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 자선 단체를 확인해 보시기 바랍니다.
예측 시장을 위한 블록체인
예측 시장은 블록체인 기술이 가장 대중적으로 사용되는 분야 중 하나가 분명합니다. 차질 없는 거래소 간의 송금, 비위탁 거래 솔루션, 성장하는 파생 상품 생태계는 블록체인이 모든 유형의 예측 시장에서 하나의 이상적인 장이 되게 합니다
블록체인의 자체적인 속성 때문에 이는 새롭게 출현하는 자산 유형에 기꺼이 위험을 감수하고 참여하려는 이들에게 훌륭한 도구입니다. 누군가는 기술과 규제가 성숙되면, 세계의 모든 예측 시장이 블록체인상에서 토큰화될 수 있다고 생각하기도 합니다.
이에 대해 더 알아보고 싶으시다면, 블록체인 활용 예시: 예측 시장을 확인해 보시기 바랍니다.
블록체인을 통한 크라우드펀딩
온라인 크라우드펀딩 플랫폼은 이미 수십 년 간 피어투피어 경제의 초석을 놓았습니다. 이러한 사이트의 성공은 외부에서 크라우드펀딩으로 자금을 모은 제품 개발에 진정한 관심들이 존재한다 걸 보여줍니다. 그러나 이러한 플랫폼들은 자금 위탁자 기능을 하기 때문에, 상당한 수준의 수수료를 부과할 수도 있습니다. 게다가 서로 다른 참여자들 간의 합의를 가능하게 하기 위한 자체적인 일련의 규칙들을 보유하고 있을 것입니다.
블록체인 기술, 보다 정확하게는 스마트 콘트랙트는 동의 약관이 컴퓨터 코드에 의해 정의된 보다 안전하고 자동화된 크라우드펀딩을 가능하게 할 수 있습니다.
블록체인을 사용하는 또 다른 크라우드펀딩 애플리케이션은 초기 코인 공급(ICO)과 초기 거래소 제공(IEO)입니다. 이러한 토큰 판매에서 투자자들은 향후 네트워크가 성공하여 투자 수익을 내기를 희망하며 자금을 투자합니다.
블록체인과 분산화된 파일 시스템
인터넷상의 분산화된 파일 저장소는 기존의 중앙화된 것에 비해 많은 장점을 갖고 있습니다. 중앙화된 서버와 서비스 제공자에 기반하는 클라우드에 저장된 많은 데이터는 공격과 데이터 손실에 보다 취약합니다. 어떤 경우에는 사용자는 중앙화된 서버의 검열 때문에 접속 문제를 겪을 수도 있습니다.
파일을 업로드하고, 저장하며, 이에 접근할 수 있기 때문에 사용자의 관점에서 볼 때, 블록체인 파일 저장소 솔루션은 다른 클라우드 저장 솔루션과 같아 보일 것입니다. 그러나 그 이면의 작동 방식은 꽤나 다릅니다.
여러분이 블록체인에 파일을 업로드하면, 이는 다수의 노드에 배포되고 복제됩니다. 어떤 경우에는 각 노드가 파일의 서로 다른 부분을 저장할 것입니다. 이데이터 일부만을 가지고는 많은 것을 할 수 없지만, 여러분은 향후 각 노드에게 해당 부분을 요청할 수 있으며, 이들을 조합해 파일을 완전히 돌려 받을 수 있습니다.
이러한 저장 공간은 자신의 저장 공간과 대역폭을 네트워크에 제공하는 참여자들로부터 비롯된 것입니다. 해당 참여자들은 보통 자원을 제공하도록 하는 경제적 인센티브를 제공 받으며, 규칙을 따르지 않거나 파일 저장 또는 제공에 실패할 경우 경제적인 불이익을 당하게 됩니다.
여러분은 이러한 형태의 네트워크가 비트코인과 유사하다고 생각할 수 있습니다. 그러나 이 경우에는 네트워크의 주된 목표가 금전적 가치 전달을 지원하는 것이 아니라, 검열 저항적이고 탈중앙화된 파일 저장소를 제공하는 것에 있습니다.
IPFS(InterPlanetary File System)과 같은 다른 오픈 소스 프로토콜은 보다 영구적이고 분산화된 웹으로써의 새로운 길을 걸어가고 있습니다. IPFS는 정확히 말해 블록체인은 아니며, 하나의 프로토콜이자 피어투피어 네트워크입니다. 그러나 IPFS는 보안과 효율성을 높이기 위해 블록체인 기술의 원리들을 일부 적용하고 있습니다.