블록체인 기술에 관한 고찰 (Remake)

in #kr8 years ago (edited)


main.jpg


안녕하세요. 어미새입니다.


현재 저는 블록체인 기술을 공부하고 있으며, 학습한 내용을 포스팅으로 작성하여 많은 사람들에게 공유하고 있습니다.(아.. 많지는 않아요.. 그냥 공유하고 있어요..흐흐)


지난 3편의 포스팅에서 블록체인 기술 및 블록에 관한 정의라는 포스팅을 한적이 있습니다.


그리고 지금 생각해보니 이 포스팅의 제목이 잘못되었다는 사실을 깨달았습니다. 엄밀히 말하면 지난 포스팅의 제목은 "비트코인에서 사용된 블록체인 기술에 관한 정의"가 맞다고 생각합니다.


현재 인터넷에 있는 대다수의 블록체인 기술의 정의는 블록체인 기술에 대한 정의 보다, '비트코인에 적용된 블록체인 기술'의 정의라는걸 깨달았습니다. 그래서 오늘은 '블록체인 기술'에 대한 정의를 다시 재정리해보고 싶었습니다. 아직 부족한점이 많겠지만 너그럽게 이해해주시고, 댓글로 알려주신다면 더 좋은 포스팅을 할 수 있을 것 같습니다.



블록체인 기술


블록체인 기술은 기존의 중앙 집중형 시스템의 단점 및 문제점을 해소하기 위해 등장한 기술로써 탈중앙화 시스템을 가능하게 해주는 베이스 기술입니다.


블록체인은 블록을 체인(링크드 리스트)형태로 연결한 자료구조 형태이며, 블록에는 다양한 형태의 데이터가 저장될 수 있습니다. 이러한 '블록'은 일정 시간 마다 새롭게 생성되며, 생성된 블록은 네트워크에 연결된 피어들에게 전송(전파)되어 각 피어들이 소유하고 있는 원장, 즉 블록체인에 새로운 블록을 연결함으로써 블록체인 네트워크에 참여한 사용자 모두가 데이터를 보관하는 기술입니다.


즉 블록체인 기술은 '분산 원장'관리 기술이며, 누구나 데이터를 기록하고, 기록된 데이터는 모두가 소유하는 방식의 구조를 가지고 있습니다.




'블록 생성'


블록은 시간의 흐름에 따라 새롭게 생성되며, 이러한 블록은 일정량의 데이터를 묶어 놓은 집합체입니다. 추가될 블록의 생성시간 및 생성된 블록의 유효성을 검증하는 과정은 블록체인 기술에서 매우 중요한 역할을 수행하게 됩니다.


'합의 문제'


합의문제는 블록체인 기술이 나오기전부터 분산 시스템에서 사용되어왔던 개념입니다. 동시에 어떤 정보가 변경되거나, 입력될 경우 누구의 데이터를 올바른 데이터로 인정할건지에 대한 문제점들을 다루는 방법입니다.


합의 과정의 중요성


블록체인 네트워크에 연결된 모든 사용자들은 신뢰할 수 없는 사용자입니다. 네트워크에 연결된 모든 피어중 일부가 악의적인 목적으로 데이터를 수정하거나, 조작할 경우 네트워크의 신뢰성이 무너질 수 있습니다. 그렇기 때문에 피어가 발송한 데이터가 유효한 데이터인지 검증할 수 있는 방법이 필요하며, 네트워크에 연결된 사용자들이 모두 진실되고, 신뢰할 수 있다는 가정하에 시스템이 유지된다면 그 시스템은 붕괴될 수 밖에 없습니다.


이러한 합의 알고리즘에는 작업에의한 증명(PoW), 지분에의한 증명(PoS) 등 다양한 방법이 적용되어 있습니다. 블록체인 기반을 활용한 시스템에서 가장 적합한 방법을 찾아 적용하거나, 새로운 방법을 제시하는 서비스들 또한 급속하게 늘어나고 있습니다. (가까운 시일내에 이러한 합의 알고리즘에 대한 설명을 다루도록 하겠습니다.)


블록 생성 시간


새로운 블록이 진짜인지 합의하는 과정도 중요하지만, 새롭게 생성되어야 할 블록이 시간 또한 매우 중요한 요소라고 생각합니다. 예를들어 비트코인에서는 새로운 블록을 약 10분에 한번씩 생성될 수 있도록 시스템을 설계하였습니다. 즉 거래가 이루어지기 위해서는 최소 10분의 시간이 소요되며, 시스템상 더 많은 시간이 소요될 수 있습니다. 그렇다고 블록 생성을 무작정 단축시키게될 경우 '스테일 블록'이 발생될 확률이 매우 높아집니다.


즉 시스템의 특성과, 목적에 맞게 블록이 생성되어야 하며, 생성된 블록의 검증을 어떻게 할건지에 대한 방법은 각 시스템 마다 다르게 적용되어야 하겠지요?


이밖에도 중복 데이터, 즉 이중 지불 방지와 비잔틴 장군의 문제점, 51% 공격과 같은 탈 중앙화 시스템에서 발생할 수 있는 문제점들을 보다 효과적이 효율적으로 관리하는 방안이 필요합니다.




블록체인 기술의 활용범위


블록체인 기술은 생각 이상으로 다양한 범위에서 적용되고 있습니다. 큰 맥락으로 보면 아래와 같은 분야에서 현재 활용되고, 연구되고 있습니다.


  • 결제 및 거래에서의 응용
    • 가상화폐(비트코인, 라이트코인 등)
    • 송금, 결제(미국 Align Commerce사의 국제 송금 서비스)
    • 무역 금융(오릭스 은행, 시즈오카 은행 등)
    • 자금 조달(The DAO)
    • 마켓플레이스(N3URO)
    • 전력시장(TransActive Grid 프로젝트)
    • 영상 콘텐츠 서비스(Streamium)
  • 서명 및 증명에서의 응용
    • 저작권 관리(Blockai)
    • 물품 거래 추적(Everledger의 다이아몬드 거래 관리,추적)
    • 계약 관리(Visa사와 Docusign사의 실증 실험)
    • 문서 공증(Factom 문서 공증)
  • 신규 서비스 응용
    • IoT
    • 투표


위의 사례 내용을 전부다 열거하면 너무나도 양이 방대해지기 때문에 리스트만 나열 하였습니다. 이렇게 현재에도 많은 분야에서 블록체인 기술은 응용되어지고 활용되어 지고 있습니다.


현재 우리가 사용중인 스팀잇 또한 블록체인 기술 기반입니다.




Think


저의 짧은 생각으로는 블록체인 기술의 발전은 비트코인으로부터 시작되었다고 생각합니다. 비트코인의 시스템에서 단점으로 지적된 부분을 수정 보안하여 새로운 코들이 나오기 시작했고, 비트코인을 통해 영감을 얻어 새로운 서비스들이 발전했다고 생각합니다.


그렇기 때문에 지금의 블록체인 기술은 가상화폐에 국한된 기술처럼 보이고, 블록체인 기술을 설명할때 비트코인을 빼놓을 수 없습니다. 하지만 먼 미래, 혹은 가까운 미래에는 블록체인 활용분야가 가상화폐뿐만 아니라 모든 서비스 분야에 적합한 형태로 발전, 변형 될 것이라고 믿습니다.


블록체인 기술을 단순히 가상화폐의 개념으로만 생각하지 않고, 새로운 서비스에 응용될 수 있는 방법이 무엇인지에 대한 보다 폭넓은 사고 방식이 필요하다는 생각이 들었습니다.



결론


블록체인 기술에 대한 설명이 전반적으로 부실해보일 수 있습니다. 하지만 본 포스팅에서 이야기하고 싶은 궁극적인 목표는 블록체인은 보다 다양한 서비스에서 활용될 수 있으며, 발전 가능성이 매우 높은 기술이라는겁니다.


하지만 원리를 잘 알지 못한 상태에서는 새로운 서비스에 대한 아이디어도, 새롭게 출시된 서비스의 평가 또한 어렵습니다. 그렇기 때문에 블록체인 기술 기반의 시초인 비트코인의 원리에 대해 심도있고 학습하여 블록체인의 기본 원리에 대한 지식이 쌓일 수 있다면 보다 폭 넓은 시야를 가질 수 있게됩니다.


예를들어 비트코인의 용량이 왜 문제가 되었는지 그리고 그 문제를 보안하기 위해 출시된 비트코인 캐시는 용량 문제를 어떻게 해결했는지.. 또한 거래 속도를 개선하기 위해 나온 라이트코인은 어떻게 스테일 블록을 최소화 하였는지에 대한 기술적인 부분을 살펴 볼 수 있다면 더 올바른 "투자"를 할 수 있게됩니다. 혹은 새로운 서비스에 대한 아이디어가 생길 수 있겠지요..




아직은 내공이 부족하여 완벽한 설명은 못했지만, 꾸준히 학습하고 포스팅하다보면 언젠가는 더욱더 명확하고 쉬운 설명이 가능하다고 믿습니다.. 앞으로도 블록체인 기술에 대한 포스팅을 꾸준히 진행할 예정이며, 기존에 포스팅 했던 내용중 오류가 있거나 추가 설명이 필요한 부분은 계속 재 구성할 예정입니다.


이상으로 긴 글 읽어주셔서 감사합니다!(보팅, 팔로워, 리스팀은 제게 큰 힘이됩니다!)



Sort:  

좋은글이네요 감사합니다. 앞으로도 좋은글 많이부탁드려요

댓글 감사합니다 ^^; 저도 자주 방문드릴게요!

짱짱맨 태그 사용에 감사드립니다^^
존버앤캘리 이번편은 왠지 찡함..^^
https://steemit.com/kr/@mmcartoon-kr/20180307
[골든티켓x짱짱맨x워니프레임] 10차 옴팡이 이모티콘 증정
https://steemkr.com/kr/@goldenticket/x-x-10-100

Coin Marketplace

STEEM 0.05
TRX 0.33
JST 0.080
BTC 62600.41
ETH 1629.61
USDT 1.00
SBD 0.40