본문 바로가기

BlockChain Developer/CommonSense

블록체인의 개념&합의알고리즘

블록체인의 개념

블록체인이란(정의)

블록과 체인의 합성어로 ‘Block’은 데이터저장단위이며, 이를 체인으로 걸어 연결시키면서 암호화(with.Hash 16진수의 숫자로 256bit의 길이로 암호화하여 저장함>)를 하는 것을 블록+체인 = 블록체인이라고 한다.

블록체인의 특징

1.탈중앙화(Decentralization)’를 통한 중간자 제거(비용과 시간절감)효과를 기대할 수 있음.

2. 불변성(Immutability)’로 인한 위조&변조의 불가

3. 투명성(Transparency)’을 제공함. , 누구나 열람가능함. <ex: etherscan.io>

 

블록체인 정의 사견

블록체인은 처음 2008년 '나카모토사토시'라는 가명을 쓴 사람이 미국의 금본위제도(금태환정책)을 폐지하고 달러패권을 가짐으로써 가지는 중앙집권화의 문제점들을 비판함으로써 생겨나게 되었습니다. 2008 '리만브라더스'사태로 경제위기가 극심해진 상황에서 비트코인은 '나카모토 사토시'가 비트코인을 내놓게 됩니다. 누군가가 주체가 아닌 이를 사용하는 누구나가 발행 주체가 될 수 있고 누구도 독단적인 결정만으로 쉽게 통화공급량의 조절이 불가능한 디지털 화폐로써 비트코인이 탄생합니다.

블록체인은 분산장부시스템으로 블록에 데이터를 저장하고 이를 체인으로 연결하면서 블록과 체인이 합쳐져 블록체인이 됩니다. , 데이터를 저장하는 블록과 이를 암호화하여 연결하는 체인의 합성어입니다. 조금 더 자세히 살펴보면 비트코인에서 채굴(Mining)은 끝말잇기 게임과 비슷한 형태로 블록이 생성됩니다 (Hash값을 Nonce값을 통해 맞추는 방식). 대부분의 사람들은 중앙화시스템에 쉽게 노출되어 있습니다. 그래서 중앙화시스템이 익숙하며 효율적이라고 당연시 여겨왔습니다. 하지만 이는 사실 우리에게 충분히 합리적이지 못한 구조입니다. 4차산업속에서 '데이터'는 엄청난 잠재력을가진 핵심가치라는 사실을 우리는 모두 알고 있습니다. 한가지 사례를 들어보겠습니다. 페이스북을 이용해본적이 있나요? 페이스북에서 우리는 사진을 올리고 공유합니다. 그 데이터를 페이스북은 자사 데이터베이스에 저장하고 있습니다. 그럼 그 어마어마한 데이터를 활용해 페이스북은 안면인식 인공지능을 개발하는 등 활용성 면에서 엄청난 잠재력을 가지고 있습니다. 그러나 우리는 이런 폭발적인 잠재력을 내포하고 있는 데이터를 제공하면서 어떠한 보상도 받지 못하고 있습니다. 이는 중앙화에 지나치게 익숙한 우리에게 당연시 여겨져 왔지만 이것이 언제까지나 당연한 일이 될까요? 우리의 권리를 찾을 수 있는 변화, 혁신, 혁명은 그것을 찾는 우리의 몫입니다. 아무도 우리를 대신하여 그 권리를 보장해주고 찾아주지 않습니다. 블록체인 이러한 데이터를 모두가 같은 위치에서 이를 활용할 수 있도록, 그리고 데이터에 대한 가치를 인정받을 수 있게 할 수 있습니다. 뿐만 아니라, 모든 정보가 독단적으로 위변조가 불가능한 상태로 블록에 기록됨으로써 정보의 비대칭성을 해결할 수 있게 해 줍니다. 다시 말해, 누구에게나 공개되어있으므로 블록을 직접 확인할 수 있는 투명성, 모든 노드(사람)들이 이를 확인하고 검증하여 기록하는 절차를 거쳐(합의 알고리즘) 이로인해 신뢰성을 증진시켜줄 수 있는 역할을 하는 것이 블록체인입니다.

 

 

블록체인 메커니즘

출처: 이신혜 교수님 강의안

 


합의알고리즘

 

합의알고리즘(합의모델, 합의 프로토콜)이란?

다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘으로 대표적으로 POW, POS, DPOS 이 있다.

 

대표적인 합의 프로토콜

POW

‘Proof of Work’의 약자로, 작업증명방식 합의프로토콜이다. 가장 대표적인 합의 프로토콜로, 가장 많은 Hash Power(그래픽카드 전력 등의 Computing Power)을 제공한 노드가 블록생성에 성공하는 알고리즘이다. 대표적으로 Bitcoin, Bitcoin Cash등이 이에 해당한다. 높은 전력소모 문제, 하드웨어 자원 낭비 등의 문제점이 있다.

 

POS

“Proof of Stake"의 약자로, 지분증명방식 합의프로토콜이다. 위 POW(작업증명방식)의 높은 전력소비, 컴퓨터자원낭비 등의 문제점을 해결하고자 탄생한 프로토콜이다. 보유 암호화폐의 양(지분)에 따라서 블록생성에 성공하는 알고리즘 방식이다. (주식회사의 지분&의결권과의 관계와 유사). 대표적으로 Tezos, Neo, Ethereum(최근 업데이트) 등이 이에 해당한다. 최신 트랜드임. *POW방식에 비해 다소 낮은 보안성을 띈다는 단점이 있다. (Why? Cuz, POW방식은 Computing Power를 소모하여 물리적인 HASH 암호화과정을 거치는데 반해, POS방식은 단순히 지분을 증명하는 방식으로 진행됨)

 

DPOS

“Delegated Proof of Stake”의 약자로, 위임지분증명방식 합의프로토콜이다. 위 POS방식에서 Mining Transaction(거래) 처리속도 향상을 위해 대표자를 선출하여 선출된 상위 노드가 블록을 생성하는 방식이다. (국회의원 선출과 유사개념) 이를 통해 위 POW, POS방식 보다 빠른 처리속도낮은 비용소모 등의 장점을 가진다 (Cuz, 모든 Node<각 개인>가 참여하는 방식이 아니므로, 소수의 대표자만이 이에 참여하므로). 하지만 소수의 노드만이 블록생성(Mining)에 참여함으로써 기존의 중앙집중화 방식과 크게 다를 것 없이, 공격위험이 존재하며 독단의 위험이 여전히 존재한다. 대표적으로 ‘Steem’이 이에 해당한다. ++ ‘Algoland’에서는 이를 개선해 소수의 대표자를 무작위로 바꿔가면서 진행되는일회성 배심원’선출 방식을 적용하기도 했다.

 

PBFT

“Practical Byzantine Fault Tolelance”의 약자로, 실용적비잔틴장애허용방식 합의프로토콜이다(통상 비잔틴장군의문제 라고 부른다.) 본래 블록체인이 나오기 전부터 이미 분산컴퓨팅 기술은 존재했고 이러한 분산컴퓨팅 환경에서 사용하던 합의 알고리즘 개념으로 1999년 제안된 개념이다. POW, POS, DPOS방식에서는 50%이상의 합의가 이루어져야만 Mining(채굴)&블록생성이 이루어지는 방식이나, PBFT에서는 1/3이상의 반대가 없다면, 2/3가 동의한다면 합의가 이루어진다는 점에서 차이점을 보인다. 즉 이를 통해 DPOS 방식과 같이 “TPS 처리속도면에서 강점을 보인다. 비쟌틴장군의 문제는 과거 비쟌틴 제국때로 가보겠습니다. 예를들어 A라는 대형제국을 공격하려는 B, C, D 소국이 있다고 가정한다. A제국을 공격하는 B, C, D소국은 서로 협의를 거쳐 같은 날짜 같은 시간에 공격을 감행하고자 합니다. 하지만, 이 과정에서 배신자가 발생하게 됩니다. 기존에 일정 날짜, 일정 시간에 공격을 감행하기로 했지만, 한명의 배신자로 인해 계획이 수포로 돌아가버리게되는 상황입니다. 앞 내용을 요약하면 Total Node = 3f + 1 의 공식으로 흔히 표현되며 f는 배신자, 1은 나자신을 의미한다. 4명의 Node가 있다고 가정하면, 그중 1명은 배신자라고 가정합니다. 그래서 나를 제외한 세명의 노드중 2/3이 동의한다면 1명의 배신자의 의견은 자연스럽게 묵살되고 해당 합의과정이 성공적으로 이루어지는 방식입니다

 

 

 

 

☞ 본 포스팅은 공부 내용을 바탕으로 정리하는 것입니다. 주관적이며 정확하지 않은 내용이 포함 되어있을 수 있습니다.