블록체인(Blockchain)이란?

in #blockchain6 years ago

1.png
<출처: http://coinstocks.com/use-cases-blockchain-retirement-planning>

블록체인(Blockchain)이란 데이터가 중앙 데이터 베이스가 아닌 블록(Block)이라고 하는 분산 데이터 저장 환경에 노드라고 불리우는 임의의 참가자들이 공유하여 암호화 된 형식으로 저장하는 분산원장(Immutable Distributed Ledger)으로 2008년 사토시 나카모토(Satoshi Nakamoto)가 비트코인을 창시하면서 발표한 논문 "Bitcoin: A Peer-to-Peer Electronic Cash System" 에서 블록체인 개념을 제안하였다.

왜 블록(Block)+체인(Chain)인가?

블록이란 여러 거래(Transaction)들이 모여 형성된 정보의 묶음이고 비트코인의 경우 10분만에 하나의 블록을 형성한다. 블록은 헤더와 바디로 구성되어 있으며 해쉬 암호화된 형태로 정보가 저장되어 있다. 블록헤더는 블록해쉬를 구하는데 중요한 6가지 정보인 Version(프로그램 버전), Previous block hash(이전블록의 해쉬값), Merkle root hash(현재블록 거래내역들의 해쉬값), Bits(난이도 수치), time(현재블록의 타임스탬프), Nonce(논스값) 를 포함하고 있다. 이 중 이전 블록의 해쉬 값을 포함하므로써 아래 그림처럼 체인 형태로 데이터 블록이 업데이트 되면서 이전블록과 이어지게 되기 때문에 블록체인이라고 하는 것이다. 여기서 해쉬값이라는 것은 어떤 함수에 의해 암호화된 출력값을 이야기 한다. 블록헤더가 포함하는 또 다른 해쉬값은 merkle root hash인데 이는 현재 블록에 있는 거래내역들을 바이너리 트리 방식으로 모두 해쉬한 값이다.(Merkle tree에 대해서는 다른 포스트에서 자세히 설명하겠다.)

2.png
<출처: What is blockchain? The most disruptive tech in decades | Computerworld https://www.computerworld.com/article/3191077/security/what-is-blockchain-the-most-disruptive-tech-in-decades.html>

블록체인은 어떻게 작동하는가?

그럼 블록체인을 통해 어떻게 거래가 진행될까? 만약 Alice가 Ben에게 1달러 보내려고 한다면 그 거래와 다른 거래들이 일정시간(시간의 간격은 블록체인에 따라 다름)동안 쌓여 블록을 형성하고 그 블록이 gossip network를 통해 임의의 참여자인 노드들에 전송된다. 그리고 그 전송된 블록은 특정 합의 메커니즘(Consensus mechanism)을 통해 검증, 승인을 받은 후 승인된 블록은 이전 블록에 링크되어 분산데이터 베이스가 업데이트 되고 Ben은 Alice로부터 1달러를 받는 거래가 성사된다.

3.png
<출처: Blockchain: an investor’s guide | The Spectator https://www.spectator.co.uk/2017/05/blockchain-an-investors-guide/>

합의 메커니즘(Consensus Mechanism)은 왜 중요한가?

블록체인이 작동하는 과정에서 가장 중요한 것은 과연 누가 분산장부를 검증하고 업데이트할 권한을 누구에게 줄 것인가이다. 원래 이전 거래 방식에서는 은행과 같은 중앙화 된 제 3자( centralized third party)가 데이터를 관리하고 검증 및 업데이트를 하였지만 이러한 데이터 베이스가 분산화 되면서 과연 어떤 방식으로 임의의 참여 노드들이 합의에 도달하여 악의적인 공격으로부터 안전하게 거래를 검증하고 업데이트를 할 것인지가 중요한 이슈가 되었다.(이를 비잔틴 장군 문제라고 하는데 이는 다른 포스트에서 자세히 다루겠다.) 이를 획기적으로 해결한 것이 현재 가장 보편적으로 쓰이고 있는 비트코인의 합의 방식 작업증명(POW: Proof of Work)이다. 간단히 말해서 작업증명은 위에서 언급한 블록 헤더의 논스값(nonce) 값을 구하는 수수께끼인 hash puzzle을 푼 노드에게 블록 검증 및 업데이트 권한을 주는 것인데 해쉬퍼즐을 푸는 것을 채굴(Mining)이라고 하며 채굴을 하는 노드를 채굴자(Miner)라고 한다. 채굴을 하는데는 끊임없는 대입을 통해 퍼즐을 풀어야 하므로 상당한 Computing power가 들며 채굴에 성공한 노드는 보상 수수료와 거래수수료를 받는다. 이밖에 합의 방식으로는 자산을 많이 보유한 노드에게 권한을 주는 자산증명(POS: Proof of stake), 작업증명을 업그레이드 한 지성증명(POI: Proof of Intelligence) 등이 있으며 아직도 여러 합의 메커니즘이 개발 중이다. 현재 가장 주목받는 플랫폼인 이더리움 블록체인의 경우는 현재 작업증명 방식을 쓰고 있지만 자산증명 방식으로 전환하는 것을 계획하고 있다. 얼마나 효울적이고 안전한 합의 메커니즘을 구현하느냐에 따라 블록체인 플랫폼의 성능이 좌우될 것이며 이에 따라 블록체인 플랫폼에서 거래되는 암호화폐(Cryptocurrency)의 가치에도 반영이 될 것이므로 암호화폐 투자를 생각한다면 그 기반 블록체인의 합의 메커니즘에 대해서도 충분히 고려해야 할 것 같다.

Sort:  

Congratulations @yoongsoo! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You made your First Vote
You got a First Vote

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.030
BTC 60023.73
ETH 3191.15
USDT 1.00
SBD 2.45