블록체인 톺아보기 # 1
🔗

블록체인 톺아보기 # 1

생성일
Sep 5, 2022 12:00 AM
업데이트 일자
Sep 15, 2022 03:19 AM
상태
공개
게시글번호
300000000
태그
블록체인
칼로그
심볼 기부용 주소 : NBVBA3ATY2EM67D4FUOYRETQU5LCQZL43TTYAZA 해당 게시글의 기부번호 : 300000000 (메시지에 입력, 암호화 X)
도네이션 용 QR 코드 (Arcana 앱에서 사용 가능)
도네이션 용 QR 코드 (Arcana 앱에서 사용 가능)
트랜잭션 URI (복사해서 desktop-wallet에 붙여넣기 가능)
web+symbol://transaction?data=BA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168544114000000000000002B5E39070B000000686A106C13C688CF7C7C2D1D889270A75628657CDCE780640A00010000000000F82302A23F91ED6B00E1F5050000000000333030303030303030
기부 완료시 블로그 상단 기부왕 목록에 표시해드립니다 😊
바로가기

3줄 요약

  1. 블록체인이 왜 세상에 나오게 되었고, 왜 그렇게 각광 받고 있는지에 대해서 알 수 있다.
  1. 블록체인의 장점과 단점에 대해 확실히 알 수 있다.
  1. 각종 블록체인 서비스에 대한 장단점에 대해 알 수 있다.

배경

먼저 블록체인 기술의 등장을 이해하려면 과거 부터 시작하여 교환 이라는 것에 대해 알아봐야한다.

과거의 교환

물물교환

notion image
첫 사람과 사람간의 교환은 물물교환(서로 필요한 물건을 주고 받는 형식)으로만 교환이 이루어졌다.
어떻게 보면 당연한 것이다.
하지만 이런 물물교환의 매우 큰 단점은 딱 1개 물물교환을 할 때마다 대량의 물건을 서로 주고 받아야하기 때문에 시간 약속을 놓치거나 물건 거래를 위해 확인하는 과정에서 제품이 손상될 수 있다는 문제점이 있었다.
바로 이런 단점을 해결하기 위해서 물물교환이 아닌 물건을 대체할 수 있는 무언가를 만들어 이를 징표로 사용해 더욱 쉽게 교환을 할 수 있도록 하는 방법이 필요했다.

통화의 등장

물론이 통화(Call)가 아닌 화폐를 의미하는 통화(Currency)이다. (출처: Flickr, Erwin Vindl)
물론이 통화(Call)가 아닌 화폐를 의미하는 통화(Currency)이다. (출처: Flickr, Erwin Vindl)
통화(Currency)는 처음부터 현대의 동전, 지폐 형태는 아니었다. 먼 과거에는 조개 껍질로 거래했을 거라는 이야기도 있으며, 시대의 변화에 따라 금, 은, 동, 구리 등의 광물로 사용되었다.
하지만 조개 껍질이나 금, 은, 구리와 같은 광물은 통화라고 칭하기는 힘들다. 그 이유는 바로 그 자체가 가치를 가졌기 때문이다. 어떻게 보면 교환하고 싶은 물건에 대해 일정 금액 만큼의 광물을 물물교환한 샘인 것이다. 하지만 현대의 지폐, 수표는 그저 종이 조각일 뿐이지만 사람들은 이 종이 조각을 써서 각자의 물건을 교환한다.
그럼 어떻게 그 종이 조각을 통해서 거래를 할 수 있게 되었을까?
은행의 입구를 촬영한 모습 (출처: Flickr, bazmazphoto)
은행의 입구를 촬영한 모습 (출처: Flickr, bazmazphoto)
바로 정부(Goverment)의 통제 + 중앙은행(Bnak)의 등장이다.
정부와 중앙은행은 특정 화폐를 발행하고 발행 한 화폐에 신뢰가치를 부여하고 이를 사용해 사람들간의 거래를 화폐를 통해서 할 수 있는 체계를 만들었다.
하지만 신뢰를 만들어가는 과정에 투입 된 건 정해진 절차에 따라 진행되는 기계가 아닌 사람을 통해서 했기 때문에 계속해서 사건사고가 발생하였다. (각종 위조 화폐, 금융 서비스의 악용, 은행 강도 등…)
특히 정부의 통제력과 중앙은행의 신뢰도가 내려가는 순간 이 모든 시스템은 무용지물이 될 수 밖에없다.
짐바브웨의 초 하이퍼 인플레이션으로 발행 되었던 100조 짐브바브웨달러  
(3달러면 교환 가능했다고 한다.)
짐바브웨의 초 하이퍼 인플레이션으로 발행 되었던 100조 짐브바브웨달러 (3달러면 교환 가능했다고 한다.)

통제를 통한 금융 체계의 구축

1993년 8월 12일 김영삼 전 대통령의 금융실명제 발표 방송 (출처: MBC)
1993년 8월 12일 김영삼 전 대통령의 금융실명제 발표 방송 (출처: MBC)
한국의 경우에도 금융실명제를 통해 엄청난 반발과 어둠의 세력과의 다툼도 있었다. 그렇기에 김영삼 전 대통령은 긴급명령(헌법 제76조 2항에 의거)을 사용하여 금융실명제를 강제화 했었고 이를 통해 한국의 금융 체계를 중앙 통제가 가능한 구조로 만들게 되었다. 그리고 한국 뿐만 아니라 미국 또한 달러(Dollar)의 거래 체계를 안정화하고 현재 기축통화(World Currency)로 만들기 위해서 수 많은 고난과 역경을 이겨냈다.
그 과정 중 하나로 미국의 중앙 정부의 힘이 약해진 틈을 타 민간에서 통화를 발행해 사용하는 사업이 활발하게 이루어진 시대가 있었다.
이때 수 많은 민간기업이 자신만의 통화를 발행해 사용하였다. 하지만 통화의 신뢰를 관리하지 않고 마구 발행해 팔고 디폴드(파산) 선언을 하는 등으로 수 많은 사람들이 금융 피해를 입었다.
그 이후 군사력 및 공권력을 통한 통제를 하여 현재 미국의 중앙은행인 Fed(Federal Reserve Board)가 등장하게 되면서 달러는 아직까지도 전 세계에 영향력을 미치고 있다.

통제 받기 싫습니다만 ?

하지만 사람의 본능 자체는 누군가에 의해 통제 받는 것을 매우 싫어한다. 그렇기 때문에 통제를 하는 주체의 힘이 약해지게 되면 해당 시스템에서 벗어나기 위해서 어떠한 행동을 해서라도 벗어나고 싶어한다. (그 과정에서 여러가지 편법 또는 범죄 행위가 많이 발생하기도 함, 현재도 이를 방지하기 위한 새로운 법안이 나오고 있음)
그렇다면 기존 민간(또는 국가 등…)에서 발행된 통화들이 망하게 된 가장 큰 이유가 무엇일까?
바로 신뢰구축 시스템의 미비가 가장 큰 이유라고 볼 수 있다. 사람들은 자기가 생각할 때 신뢰를 잃어버렸다고 생각 되는 서비스는 바로 삭제 후 사용하지 않는다. (근래 발생한 머지포인트 사건과 같은…)

비트코인

그래서 등장한 것이 바로 2008년 등장한 비트코인이다.
비트코인을 실물화한 모습 (출처: GETTY IMAGES)
비트코인을 실물화한 모습 (출처: GETTY IMAGES)
비트코인의 부제를 보면 A Peer-to-Peer Electronic Cash System 이라고 정의되어 있다. 직독하자면 피어(사용자)간의 전자 화폐 거래 체계 정도로 해석할 수 있다.
중앙 기관(정부, 중앙은행)의 통제 없이 사용자간의 전자 거래가 가능해지는 시스템이라니 이름만 들었을 때는 정말 엄청난 시스템이라고 생각이 된다. 하지만 비트코인도 사용자의 신뢰를 얻지 못하면 결국 쓸모 없는 체계라 알려지고 사용자에게 버림 받아 사라졌을텐데 아직도 비트코인은 세계 어디서든지 사용하고 있다.
그렇다면 비트코인은 어떤 방법으로 신뢰구축 시스템을 만들고 이를 유지할 수 있었을까?
그것은 바로 블록체인이라고 하는 분산원장 생성 방법이 있었기 때문이다.

블록체인 (Blockchain)

블록체인은 블록(Block) + 체인(Chain)의 합성어로 핵심 개념으로 소개된 생성 된 블록에 바로 이전에 생성 된 블록의 해시 값을 연결 하여 해킹을 방지하는 과정이 블록을 체인으로 연결하는 것 처럼 보여져 붙여진 이름이다.
비트코인의 가장 핵심이 되는 기술이며, 공학적으로 신뢰를 만들어 낼 수 있는 최초의 기술이라고 할 수 있다.
그래서 블록체인신뢰 기계(The Trust Machine)라고도 불린다. 이 때문에 블록체인을 최초 적용한 비트코인이 아직까지 대장이라는 소리를 들으며, 높은 가격대를 형성하고 있는 것을 볼 수 있다.
보통 일반인은 “그래서 뭐…” 라고 할 수 있겠지만 공학적으로 신뢰를 만들어내는 것은 엄청난 것이라고 할 수 있다. 사람이 아닌 공학적인 방법으로 신뢰를 만들기에 과거 통화 정책들이 실패한 것 처럼 신뢰에 의해서 망할 일이 없기 때문이다.
물론 블록체인도 100% 완벽하게 신뢰를 형성할 수 있는 것은 아니다. (여기서 100% 신뢰란, 그 어떠한 공격 요소 없이 사용자 간 안전한 교환이 가능한 시스템을 의미한다.)

신뢰를 100%로 만들지 못하는 이유

트릴레마(Trilemma)
트릴레마는 그리스어의 숫자 3을 의미하는 Tri 와 명제를 의미하는 단어인 Lemma의 합성어로 3가지의 문제가 서로 영향을 주어 하나의 문제점을 해결하면 나머지 2가지를 해결하기 어려운 상황을 의미한다.
그럼 블록체인은 어떤 3가지 문제점을 가지고 있을까? 바로 확장성(Scalability), 탈중앙성(Decentralization), 보안성(Security) 이다.
확장성, 탈중앙성, 보안성에 대한 트릴레마 관계를 그림으로 표현 한 것
확장성, 탈중앙성, 보안성에 대한 트릴레마 관계를 그림으로 표현 한 것
  • 확장성(Scalability): 사용자 수가 많아 짐에 따라서 네트워크를 통해 전송 되는 각종 이벤트를 빠르게 처리할 수 있는 처리용량을 높일 수 있는 능력을 의미
  • 탈중앙성(Decentralization): 중앙집중형 시스템을 벗어나 분산화 되어 각 노드들이 누군가의 지배로 구동 되는 것이 아닌 모두가 시스템을 위해 운영하기위해 분산을 얼마나 잘 할 수 있는지에 대한 능력을 의미
  • 보안성(Security): 블록체인 내부에 기록되는 분산원장의 데이터가 얼마나 안전하게 유지될 수 있는지에 대한 능력을 의미
예를 들어 확장성을 늘리기 위해서 고가용 노드를 구성하고 분산원장의 구조를 변경하는 작업을 하면 보안성탈중앙성에 대한 문제가 발생하고, 보안성을 높이기 위해서 복잡한 암호화 및 프라이빗 네트워크 망 구축을 하게 되면 확장성탈중앙성에 문제가 발생하게 된다.
그렇기에 신뢰도가 100%가 될 수 있는 블록체인 기반 탈중앙화 거래 시스템은 없다.

블록체인 기반 플랫폼(서비스) 소개

그럼 100%가 아니기 때문에 신뢰할 수 없기 때문에 사용자들이 사용하지 않는가? 그건 아니다. 어느정도 3가지의 성질에 대한 우선순위를 부여하여서 플랫폼(서비스) 마다 각자마다 다른 비젼(Vision)을 가지고 세계관을 확장하고 있다. 또한 블록체인 서비스는 개발 후 고정 기술이 아닌 꾸준한 연구와 개발이 함께 이루어지기 때문에 살아있는 생명체 처럼 계속해서 발전해가고 있다. (몇몇의 🗑️ (쓰레기) 프로젝트를 제외)

이더리움

이더리움 블록체인 로고
이더리움 블록체인 로고
이더리움은 비탈릭 부테린(Виталик Бутерин, 1994년 생)이 주도하여 만든 블록체인 플랫폼이다.
처음엔 비탈릭 부테린은 비트코인 커뮤니티의 참여자였으며, 자신이 생각한 방식을 비트코인에 구현하고자 했다.(비트코인에 대한 아티클을 작성하는 기자의 역할을 하기도 했다.) 하지만 다수의 커뮤니티원들이 반대하였고 비탈릭 부테린은 자신이 생각한 새로운 플랫폼을 구축하고자 마음을 먹게 되었다. (만약 이때 커뮤니티원들 모두가 승인했더라면 이더리움이 나오지 않았을 수도…)
그렇게 자신이 있던 워털루 대학교에서 함께할 사람들을 찾아 중퇴한 뒤 이더리움 프로젝트를 시작하게 되었고 2014년 이를 해내게 되었다.
스스로를 비트코인을 이길 2세대 블록체인이라 칭하며 등장한 이더리움은 프로그래밍이 가능하다는 점을 핵심으로 많은 사람들에게 주목을 받게 되었다.
EVM(이더리움 가상 머신, Ethereum Virtual Machine)
EVM은 이더리움이 분산 OS가 될 수 있었던 핵심 기술 중 하나다. EVM은 기존 하드웨어 컴퓨터의 구성과 같이 바이트코드 변환(컴파일러), PC(Program Counter), Command Executor, stack, memory, storage의 기능을 하는 모듈을 가지고 있다.
이더리움 가상 머신의 구조도 (출처: Ethereum.org)
이더리움 가상 머신의 구조도 (출처: Ethereum.org)
여기서 gas라고 적혀있는 것들을 볼 수 있는데, 바로 특정 모듈을 실행하기 위해 필요한 자원이다. 명령어 처리 및 storage 저장을 위해서 소모 된다. (이를 통해 무차별 적인 명령 실행 및 저장을 사전에 방지 할 수 있다.)
하지만 EVM은 복잡한 구조에서 볼 수 있듯이 실행에 있어 높은 전력을 소모하고 있다. 그로인해 지속적으로 운영할 수 없는 구조로 구성되어있다.
이를 해결하기 위해서 이더리움 커뮤니티에서도 다양한 시도를 진행 중에 있다.
샤딩(Sharding)
샤딩은 기존 데이터베이스 학문에서도 사용되던 개념으로 기존 데이터베이스를 수평적으로 분할하여 데이터베이스의 확장성을 향상시키는 방법이다.
이더리움 커뮤니티에서 제안한 샤딩 방법은 사용자 계정에 대해서 특정 노드마다 처리할 수 있도록 하는 방법을 제안했다. (A노드는 1~10번 계정, B노드는 10~20번 계정… 과 같은 방식으로)
하지만 해당 방법도 좋은 방법은 아니고 여러 샤딩을 위한 연구가 전 세계적으로 진행 되고 있다. (동적으로 샤드를 나누는 방법 등…)
PoW → PoS (Merge Hardfork)
하지만 최근 이더리움의 L2 솔루션들이 많이 만들어짐에 따라 이더리움 커뮤니티에서는 샤딩과 같은 부하분산 보다는 합의 속도와 분산 구조에 대한 중요성을 높이고자 했다.
그래서 이더리움에서 계속해서 시도하고자 했던 PoS(지분 증명 방식, Proof-of-Stake)으로 전환하는 하드포크를 시도하고 있다.
이로인해 기존 채굴사업을 하던 사람들이 다른 체인으로 옮겨 특정 코인이 급등하는 일도 발생했다.

SYMBOL

SYMBOL 블록체인 로고
SYMBOL 블록체인 로고
SYMBOL 블록체인 플랫폼은 NEM($XEM) 블록체인을 기반으로 업그레이드 된 블록체인으로 저전력으로도 높은 성능을 낼 수 있는 블록체인 서비스를 제공하고 있다. (
칼로그 (KALog, 1.1.1v)
칼로그 (KALog, 1.1.1v)
도네이션 기능의 기반이 되는 플랫폼이기도 하다.)
핵심 기술로는 프로그래밍을 하지않아도 자신만의 토큰을 발행해 사람들과 거래할 수 있으며, 다중 서명을 통한 트랜잭션 발행, 데이터 암호화 전송 등의 기능을 매우 저렴한 수수료를 통해 사용 가능하다. (최근 작성한
심볼 토마티나 축제
심볼 토마티나 축제
편을 참고)
ETH와 XYM의 수수료 비교
실제 블록의 데이터를 가져와 비교하여 심볼이 얼마나 저렴한 수수료로 구동 되고 있는지 확인해보자.
데이터 추출에 사용된 블록은 이더리움의 15,536,277 블록과 심볼의 1,574,156 블록을 사용했다. (트랜잭션 처리수량을 보기 위해 블록의 트랜잭션 수가 동일한 블록을 기준으로 함)
체인명
블록의 총 수수료
블록 크기
트랜잭션 수
블록 사이즈 당 수수료 (총 수수료 / 블록크기)
이더리움 (ETH) 15,536,277
0.147264 ETH (약 330,118.48 원)
133,688 bytes
100 Txs
0.0000001101549877 ETH (약 0.25 원)
심볼 (XYM) 1,574,156
0.629160 XYM (약 35.41 원)
13,216 bytes
100 Txs
0.000047605932203 XYM (약 0.0027원)
* 소수점 6자리 이하는 반올림 처리
* 원화 계산은 이더리움은 2,241,678.1₩을 기준으로 하였고 심볼은 56.29₩을 기준으로 계산함
위 표에서 정리한 것으로 본 것 처럼 이더리움은 컨트렉트 실행을 위한 많은 데이터를 담아 블록 크기가 큰데 비해 블록 데이터 1 byte 당 소모 수수료가 심볼에 비해 약 9,159.26% 만큼 차이가 나는 것을 확인할 수 있다.
아직 심볼 블록체인이 이더리움 만큼 트랜잭션이 발행 되는 것이 아니기 때문에 100% 정확한 통계 데이터가 아님을 감안하고 생각해봐도 엄청난 수치이다.
또한 심볼은 이더리움처럼 컨트렉트를 실행해 블록체인의 기능을 구성하지 않기 때문에 블록 크기 또한 작아 확장성에 대한 고민을 할 이유가 없다. (물론 이후에 많은 시간이 지나 데이터가 많이 쌓이는 것에 대한건 고민이 필요)
SYMBOL의 비젼
SYMBOL 블록체인은 중앙집중화 된 방식 보다는 탈중앙화 된 방식을 선호하며, 코어 팀 조차 블록체인 네트워크를 휘어잡을 수 있는 권력이 없다. 또한 모든 참여 노드가 투표에 참여할 수 있고 동등하게 모든 노드가 투표권을 1장씩 가지기 때문에 커뮤니티의 힘이 매우 강력한 블록체인 플랫폼이라고도 할 수 있다. (누구든지 자유롭게 SYMBOL을 사용해 서비스를 구축하고 이를 배포할 수 있다.)
자세한 내용은 아래 docs 페이지를 참조하길 바라며, 나중에 SYMBOL 블록체인 톺아보기 시리즈를 통해 더욱더 자세한 내용을 다룰 예정이다.

글을 마치며

해당 블록체인 톺아보기 시리즈는 다음 2부를 마지막으로 마무리 될 예정이다. (원래는 1개로 하려했지만 분량이 너무 많아서 끊음…) 2부에서는 다소 무겁고 깊은 내용(소스코드 분석 및 알고리즘 분석, 수식 분석 등…)을 다룰 것이라서 어느정도 기술에 대한 이해력이 있는 분이 보면 좋을 것 같다.
이후 블록체인 이론 뿐만아니라 실제 블록체인 플랫폼을 사용해서 각종 서비스(FT, NFT, 에스크로 등…)를 개발하는 방법에 대해서도 작성할 예정이다.