코딩만큼은 코드스테이츠! 수강생 포트폴리오 모음집을 받아가세요!

블록체인 기본 개념ㅣ블록의 구조부터 블록체인 기술의 장점과 문제점까지

인사이트

블록체인 기본 개념ㅣ블록의 구조부터 블록체인 기술의 장점과 문제점까지

2022년 11월 30일

블록체인은 데이터를 담고 있는 블록들이 각각 연결된 분산 데이터 처리 기술입니다. 블록 간 연결된 모습이 사슬로 엮인 것 같아 블록체인이라는 이름이 붙었죠.

우리가 잘 알고 있는 가상화폐에서 블록체인은 블록에 거래 내용을 담고 있습니다. 그리고 시간이 지나며 새로운 블록이 생기게 되고 블록들은 순차적으로 서로 연결됩니다.

블록체인 이전에 진행하던 데이터 관리 업무 또한 각각의 데이터를 기재하고 연결하는 것은 같습니다. 다만 블록체인과 데이터 관리의 차이가 있다면 블록체인에서 데이터를 저장하는 주체는 ‘하나’가 아닌 ‘다수’라는 점의 차이가 있죠. 블록체인은 다수가 같은 데이터를 갖고 있기에 데이터를 변조하기 어려워 신뢰성을 가질 수 있습니다.

블록체인에 대해 간단하게 살펴보았지만, 생소한 개념이기 때문에 처음 접하는 분들에게는 여전히 낯설 수밖에 없는데요. 블록의 구조부터 하나씩 알아간다면 조금 더 쉽게 블록체인을 이해할 수 있습니다.

블록체인 기술

블록체인의 개념 : 이더리움 블록의 구조

블록체인을 쉽게 이해하기 위해서 먼저 블록의 구조를 알아보겠습니다. 블록에는 헤더(Header)와 거래가 담긴 바디(Boby) 나뉘게 됩니다. 블록 헤더를 살펴본다면 왜 블록과 체인이라는 말이 생겼는지, 암호화와 신뢰성이 높은 이유를 알 수 있습니다.

블록의 헤더에는 다양한 정보가 있지만 대표적으로 <이전 블록의 해더 해시값>과 <머클 루트>가 존재합니다. 두 개념 모두 해시(hash)에 대한 지식이 필요합니다.

블록체인 기본 개념

해시(hash)

해시는 다양한 데이터를 동일한 길이를 가진 데이터로 만드는 것(mapping)입니다. 모두 일정한 길이의 데이터로 만드는 게 무슨 의미가 있겠나 싶지만, 아래 두 해시값을 통해서 우리는 어떤 값인지 추론할 수 없습니다.

627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

799669b0d8b64c8d8a2154e93a0861549b59d89e207c660c6d27f1546c19a92c

두 해시값은 SHA-256으로 “코드스테이츠”와 “부트캠프”를 해시로 변환한 값(hashing)입니다.

동일한 데이터를 해싱*한다면 같은 해시값을 얻겠지만, 한 글자라도 바꾼다면 완전히 다른 해시값을 얻게 됩니다.만약 누군가 기존의 데이터를 변경한다면 기존의 해시값과 달라진 점을 통해서 데이터가 변조됐다는 점을 알 수 있죠.

코드스테이츠 vs 코드스테이트 해시값 차이

코드스테이츠 627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

코드스테이트 f83f43c4f0a0aa04322dd3b07965f4d11a850681388b004f2a89c75b21a01514

*해싱(hashing) : 데이터를 해시값으로 변환하는 것

머클루트(Merkle Root)

블록체인의 높은 신뢰성은 해시를 활용해서 머클 트리를 구성하기 때문입니다. 대표적으로는 이더리움에서 활용합니다.

머클트리는 각 하위 데이터를 2개씩 묶어서 해싱하고, 해싱한 값들을 다시 2개씩 묶어서 해싱하게 됩니다. 이렇게 계속 수를 줄여가면서 해싱하게 된다면 마지막에 1개의 해시값이 남습니다. 이 마지막 남은 하나의 해시값이 머클루트(Merkle Root)입니다.

블록체인 머클루트

그렇다면 머클루트를 가짐으로 우린 어떤 이점을 얻게 될까요?

블록에 있는 수많은 거래기록(데이터)는 모두 해싱하여 머클루트와 이어지게 됩니다. 만약 누군가 기록된 거래 중 무언가를 바꾸게 된다면 우리는 변경된 머클루트의 해시값을 통해서 블록 내에 데이터 위변조가 이뤄진 것을 알 수 있게 됩니다.

왜냐면 해시값은 데이터가 변화되면 완전히 다른 데이터가 되고, 모든 데이터를 해시로 엮었기 때문에 최종 하나의 해시값인 머클트리의 해시값이 변경됩니다.

블록체인 기본 개념-해시-머클루트

블록이 가진 다양한 정보를 가진 블록 헤더를 해싱하고 이후 블록에 연결한게 <이전 블록 헤더 해시값>입니다. 이렇게 이전 블록과 현재 블록은 “해시”를 통해서 이어지게 됩니다.

만약 이전 블록의 특정 값이 변경된다면, 머클루트의 해시값은 바뀌게 됩니다. 다시 머클루트가 있는 헤더의 해시값이 변경되고, 변경된 해시값은 다음 블록 헤더의 해시값을 바꾸게 됩니다. 이렇게 해시값이 이어지면서 최신의 블록에서 이전 블록에 위변조가 발생했다는 것을 알게 되죠.

블록의 데이터 해시를 통해서 이어가는 것이 마치 블록을 사슬로 엮은 것 같기 때문에 “블록체인”이라는 기술로 부르게 됩니다.

블록체인 기술의 장점 3

블록체인의 장점은 여러 개가 있지만 가장 큰 특징 세 가지를 살펴볼 수 있습니다. 바로 투명성과 보안성, 그리고 비용 감소입니다.

투명성

대부분 블록체인(Public Blockchain)의 모든 기록은 공개적으로 접근할 수 있습니다. 모든 기록이 공개되기에 블록체인은 불법적인 거래를 막을 수도 있습니다. 불법적인 거래에는 대체로 현금이 많이 사용됩니다. 현금은 추적하기 어렵기 때문인데요. 하지만 화폐에 블록체인 기술이 적용된다면 어떻게 될까요?

모든 거래가 공개되기 때문에 불법적인 거래가 불가능합니다. 즉, 거래의 양성화가 가능하죠. 거래의 양성화를 위한 규제를 만들고 감시하는 비용 또한 줄어듭니다.

보안성

블록체인은 앞서 살펴본 것과 같이 데이터의 해싱을 통해 위변조를 금방 알 수 있습니다. 게다가 데이터를 중앙 서버가 갖고 있는 게 아닌 수많은 노드(참여자)들이 데이터를 보유하고 있습니다.

만약 중앙 서버의 데이터가 훼손됐다면 찾거나 복구가 어려울 수 있지만, 이미 수 많은 데이터를 노드들이 갖고 있기에 누군가의 데이터가 훼손된 것으로는 전체 데이터에 영향을 주지 못합니다.

블록체인 장점

분산성

블록체인의 큰 특징 중 하나는 탈중앙성, 즉 분산성이 존재합니다. 블록체인의 거래는 특정 기관에서 주도하는 것이 아닌 개인과 개인에 의해 진행되고 기록됩니다. 기존에 계약의 신뢰성을 높이고자 한다면 별도 신뢰 기관이나 인물과 함께 해야 하지만, 블록체인에서는 이미 많은 참여자가 거래에 참여하기 때문에 별도 신뢰 기관 없이도 신뢰성을 얻습니다.

게다가 블록체인의 분산성 덕분에 거래 기록(장부)가 분산되어 있기에 위변조 또한 힘들 수밖에 없습니다. 이처럼 블록체인은 분산성을 통해서 신뢰성을 가지고 보안성을 높일 수 있습니다.

블록체인 기술의 문제점 2

블록체인의 기술이 투명성과 보안성이 높아 비용을 감소할 수 있다는 장점이 있기는 하지만 아직 완벽한 기술은 아닙니다. 여전히 고민해봐야 할 문제점도 있죠.

에너지 낭비 혹은 악의적 공격

블록체인에는 채굴이라고 하는 과정이 있습니다. 네트워크 참여자인 노드들이 블록의 기록을 위해서 경쟁하거나 보유한 코인 자산 비율로 데이터 기록 권리를 얻을 수 있죠.

하지만 경쟁을 통한 블록 기록(PoW)는 경쟁에서 단 한 사람의 기록만 진행되기에 나머지 노드들의 기록과 에너지는 버려져 에너지 낭비가 발생합니다.

그렇기에 노드가 가진 코인의 양에 비례해서 데이터 기록을 진행하는 경우(PoS) 에너지 소모는 적지만, 전체 코인의 51% 이상(해시파워)을 보유한 인원이 있다면 악의적으로 데이터를 위변조할 수 있습니다.

51% 이상의 해시파워를 가지고 데이터를 위변조는 이전에 비트코인골드와 이더리움클래식에서 발생했지만 이후 업데이트로 동일한 문제가 발생하지 못하도록 조치했습니다.

트랜잭션 시간의 소요

블록체인이 위변조가 어렵고 투명한 기술이지만 금융 상용화가 아직 안 된 이유로는 트랜잭션 시간(TP)이 아직 길다는 점이 있습니다. 트랜잭션 시간이란 초당 처리할 수 있는 거래량입니다.

비자의 경우에는 초당 거래량이 24,000건 가량이지만, 비트코인은 7건이고 리플의 경우에는 1,500건입니다.

사용화된 비자보다 초당 처리하는 거래량이 아주 낮은 상태입니다. 게다가 트랜잭션 시간 외에도 블록생성 시간과 확정 시간도 고려한다면 아직까지는 거래 처리가 상용화된 서비스보다 오래 걸리게 됩니다.

물론, 트랜잭션 시간을 단축 시키기 위한 다양한 방안들이 계속해서 나오고 업데이트 되고 있기 때문에 추후에는 해결될 수 있겠죠?

국내 블록체인 활용 사례

블록체인 사례를 찾아보면 해외 기업 관련된 내용이 많지만, 국내에서도 블록체인 기술을 꾸준히 활용하고 있습니다.

특히 국내에서는 블록체인의 신원인증 기능(DID)을 활용해서 모바일 운전면허증을 출시했습니다. 모바일 운전면허증은 블록체인의 특성인 위변조가 불가능한 점을 통해서 신뢰성을 높였고 암호화를 통해서 개인정보유출 또한 방지했죠. 블록체인 기능을 생활에서 활용해보고 싶다면 국내의 모바일 운전면허증을 먼저 사용해보면 어떨까요?

블록체인 활용 기술-모바일면허증
블록체인 기술을 활용한 모바일 자동차운전면허증 (출처 : 행정안전부)

더 많은 블록체인 활용 사례는 해당 포스팅을 확인해주세요.

블록체인 A to Z를 배우는
코드스테이츠 블록체인 부트캠프

블록체인을 독학하는 분들이 가장 많이 힘들어 하는 점 중 하나는 자료 부족입니다. 블록체인 학습 자료가 부족하지는 않지만, 자료 자체가 정제된 것이 아닌 오픈소스 자체이고 대부분의 내용이 영어로 작성되어 있죠.

그러다보니 블록체인을 단계적으로 혼자 학습하기란 어렵고 기간 또한 상당히 소요됩니다. 오픈소스를 하나하나 보면서 직접 적용해보고 학습하는 과정이 필요하기 때문이죠.

만약 블록체인에 대해서 보다 빠르게 학습하고 싶다면 코드스테이츠 블록체인 부트캠프가 좋은 기회입니다. 담당자 총 경력 36년의 블록체인 노하우와 지식으로 실무에서 필요한 내용의 커리큘럼을 구성했기 때문에 여러분들의 블록체인 학습 시간을 비약적으로 줄여줄 수 있습니다.

 김효현 Growth Manager (Blockchain Engineering)
편집 조주연 Content Manager


🚀 블록체인 개발자 커리어의 시작,
블록체인 부트캠프가 더 궁금하다면?

인사이트

블록체인 기본 개념ㅣ블록의 구조부터 블록체인 기술의 장점과 문제점까지

2022년 11월 30일

블록체인은 데이터를 담고 있는 블록들이 각각 연결된 분산 데이터 처리 기술입니다. 블록 간 연결된 모습이 사슬로 엮인 것 같아 블록체인이라는 이름이 붙었죠.

우리가 잘 알고 있는 가상화폐에서 블록체인은 블록에 거래 내용을 담고 있습니다. 그리고 시간이 지나며 새로운 블록이 생기게 되고 블록들은 순차적으로 서로 연결됩니다.

블록체인 이전에 진행하던 데이터 관리 업무 또한 각각의 데이터를 기재하고 연결하는 것은 같습니다. 다만 블록체인과 데이터 관리의 차이가 있다면 블록체인에서 데이터를 저장하는 주체는 ‘하나’가 아닌 ‘다수’라는 점의 차이가 있죠. 블록체인은 다수가 같은 데이터를 갖고 있기에 데이터를 변조하기 어려워 신뢰성을 가질 수 있습니다.

블록체인에 대해 간단하게 살펴보았지만, 생소한 개념이기 때문에 처음 접하는 분들에게는 여전히 낯설 수밖에 없는데요. 블록의 구조부터 하나씩 알아간다면 조금 더 쉽게 블록체인을 이해할 수 있습니다.

블록체인 기술

블록체인의 개념 : 이더리움 블록의 구조

블록체인을 쉽게 이해하기 위해서 먼저 블록의 구조를 알아보겠습니다. 블록에는 헤더(Header)와 거래가 담긴 바디(Boby) 나뉘게 됩니다. 블록 헤더를 살펴본다면 왜 블록과 체인이라는 말이 생겼는지, 암호화와 신뢰성이 높은 이유를 알 수 있습니다.

블록의 헤더에는 다양한 정보가 있지만 대표적으로 <이전 블록의 해더 해시값>과 <머클 루트>가 존재합니다. 두 개념 모두 해시(hash)에 대한 지식이 필요합니다.

블록체인 기본 개념

해시(hash)

해시는 다양한 데이터를 동일한 길이를 가진 데이터로 만드는 것(mapping)입니다. 모두 일정한 길이의 데이터로 만드는 게 무슨 의미가 있겠나 싶지만, 아래 두 해시값을 통해서 우리는 어떤 값인지 추론할 수 없습니다.

627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

799669b0d8b64c8d8a2154e93a0861549b59d89e207c660c6d27f1546c19a92c

두 해시값은 SHA-256으로 “코드스테이츠”와 “부트캠프”를 해시로 변환한 값(hashing)입니다.

동일한 데이터를 해싱*한다면 같은 해시값을 얻겠지만, 한 글자라도 바꾼다면 완전히 다른 해시값을 얻게 됩니다.만약 누군가 기존의 데이터를 변경한다면 기존의 해시값과 달라진 점을 통해서 데이터가 변조됐다는 점을 알 수 있죠.

코드스테이츠 vs 코드스테이트 해시값 차이

코드스테이츠 627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

코드스테이트 f83f43c4f0a0aa04322dd3b07965f4d11a850681388b004f2a89c75b21a01514

*해싱(hashing) : 데이터를 해시값으로 변환하는 것

머클루트(Merkle Root)

블록체인의 높은 신뢰성은 해시를 활용해서 머클 트리를 구성하기 때문입니다. 대표적으로는 이더리움에서 활용합니다.

머클트리는 각 하위 데이터를 2개씩 묶어서 해싱하고, 해싱한 값들을 다시 2개씩 묶어서 해싱하게 됩니다. 이렇게 계속 수를 줄여가면서 해싱하게 된다면 마지막에 1개의 해시값이 남습니다. 이 마지막 남은 하나의 해시값이 머클루트(Merkle Root)입니다.

블록체인 머클루트

그렇다면 머클루트를 가짐으로 우린 어떤 이점을 얻게 될까요?

블록에 있는 수많은 거래기록(데이터)는 모두 해싱하여 머클루트와 이어지게 됩니다. 만약 누군가 기록된 거래 중 무언가를 바꾸게 된다면 우리는 변경된 머클루트의 해시값을 통해서 블록 내에 데이터 위변조가 이뤄진 것을 알 수 있게 됩니다.

왜냐면 해시값은 데이터가 변화되면 완전히 다른 데이터가 되고, 모든 데이터를 해시로 엮었기 때문에 최종 하나의 해시값인 머클트리의 해시값이 변경됩니다.

블록체인 기본 개념-해시-머클루트

블록이 가진 다양한 정보를 가진 블록 헤더를 해싱하고 이후 블록에 연결한게 <이전 블록 헤더 해시값>입니다. 이렇게 이전 블록과 현재 블록은 “해시”를 통해서 이어지게 됩니다.

만약 이전 블록의 특정 값이 변경된다면, 머클루트의 해시값은 바뀌게 됩니다. 다시 머클루트가 있는 헤더의 해시값이 변경되고, 변경된 해시값은 다음 블록 헤더의 해시값을 바꾸게 됩니다. 이렇게 해시값이 이어지면서 최신의 블록에서 이전 블록에 위변조가 발생했다는 것을 알게 되죠.

블록의 데이터 해시를 통해서 이어가는 것이 마치 블록을 사슬로 엮은 것 같기 때문에 “블록체인”이라는 기술로 부르게 됩니다.

블록체인 기술의 장점 3

블록체인의 장점은 여러 개가 있지만 가장 큰 특징 세 가지를 살펴볼 수 있습니다. 바로 투명성과 보안성, 그리고 비용 감소입니다.

투명성

대부분 블록체인(Public Blockchain)의 모든 기록은 공개적으로 접근할 수 있습니다. 모든 기록이 공개되기에 블록체인은 불법적인 거래를 막을 수도 있습니다. 불법적인 거래에는 대체로 현금이 많이 사용됩니다. 현금은 추적하기 어렵기 때문인데요. 하지만 화폐에 블록체인 기술이 적용된다면 어떻게 될까요?

모든 거래가 공개되기 때문에 불법적인 거래가 불가능합니다. 즉, 거래의 양성화가 가능하죠. 거래의 양성화를 위한 규제를 만들고 감시하는 비용 또한 줄어듭니다.

보안성

블록체인은 앞서 살펴본 것과 같이 데이터의 해싱을 통해 위변조를 금방 알 수 있습니다. 게다가 데이터를 중앙 서버가 갖고 있는 게 아닌 수많은 노드(참여자)들이 데이터를 보유하고 있습니다.

만약 중앙 서버의 데이터가 훼손됐다면 찾거나 복구가 어려울 수 있지만, 이미 수 많은 데이터를 노드들이 갖고 있기에 누군가의 데이터가 훼손된 것으로는 전체 데이터에 영향을 주지 못합니다.

블록체인 장점

분산성

블록체인의 큰 특징 중 하나는 탈중앙성, 즉 분산성이 존재합니다. 블록체인의 거래는 특정 기관에서 주도하는 것이 아닌 개인과 개인에 의해 진행되고 기록됩니다. 기존에 계약의 신뢰성을 높이고자 한다면 별도 신뢰 기관이나 인물과 함께 해야 하지만, 블록체인에서는 이미 많은 참여자가 거래에 참여하기 때문에 별도 신뢰 기관 없이도 신뢰성을 얻습니다.

게다가 블록체인의 분산성 덕분에 거래 기록(장부)가 분산되어 있기에 위변조 또한 힘들 수밖에 없습니다. 이처럼 블록체인은 분산성을 통해서 신뢰성을 가지고 보안성을 높일 수 있습니다.

블록체인 기술의 문제점 2

블록체인의 기술이 투명성과 보안성이 높아 비용을 감소할 수 있다는 장점이 있기는 하지만 아직 완벽한 기술은 아닙니다. 여전히 고민해봐야 할 문제점도 있죠.

에너지 낭비 혹은 악의적 공격

블록체인에는 채굴이라고 하는 과정이 있습니다. 네트워크 참여자인 노드들이 블록의 기록을 위해서 경쟁하거나 보유한 코인 자산 비율로 데이터 기록 권리를 얻을 수 있죠.

하지만 경쟁을 통한 블록 기록(PoW)는 경쟁에서 단 한 사람의 기록만 진행되기에 나머지 노드들의 기록과 에너지는 버려져 에너지 낭비가 발생합니다.

그렇기에 노드가 가진 코인의 양에 비례해서 데이터 기록을 진행하는 경우(PoS) 에너지 소모는 적지만, 전체 코인의 51% 이상(해시파워)을 보유한 인원이 있다면 악의적으로 데이터를 위변조할 수 있습니다.

51% 이상의 해시파워를 가지고 데이터를 위변조는 이전에 비트코인골드와 이더리움클래식에서 발생했지만 이후 업데이트로 동일한 문제가 발생하지 못하도록 조치했습니다.

트랜잭션 시간의 소요

블록체인이 위변조가 어렵고 투명한 기술이지만 금융 상용화가 아직 안 된 이유로는 트랜잭션 시간(TP)이 아직 길다는 점이 있습니다. 트랜잭션 시간이란 초당 처리할 수 있는 거래량입니다.

비자의 경우에는 초당 거래량이 24,000건 가량이지만, 비트코인은 7건이고 리플의 경우에는 1,500건입니다.

사용화된 비자보다 초당 처리하는 거래량이 아주 낮은 상태입니다. 게다가 트랜잭션 시간 외에도 블록생성 시간과 확정 시간도 고려한다면 아직까지는 거래 처리가 상용화된 서비스보다 오래 걸리게 됩니다.

물론, 트랜잭션 시간을 단축 시키기 위한 다양한 방안들이 계속해서 나오고 업데이트 되고 있기 때문에 추후에는 해결될 수 있겠죠?

국내 블록체인 활용 사례

블록체인 사례를 찾아보면 해외 기업 관련된 내용이 많지만, 국내에서도 블록체인 기술을 꾸준히 활용하고 있습니다.

특히 국내에서는 블록체인의 신원인증 기능(DID)을 활용해서 모바일 운전면허증을 출시했습니다. 모바일 운전면허증은 블록체인의 특성인 위변조가 불가능한 점을 통해서 신뢰성을 높였고 암호화를 통해서 개인정보유출 또한 방지했죠. 블록체인 기능을 생활에서 활용해보고 싶다면 국내의 모바일 운전면허증을 먼저 사용해보면 어떨까요?

블록체인 활용 기술-모바일면허증
블록체인 기술을 활용한 모바일 자동차운전면허증 (출처 : 행정안전부)

더 많은 블록체인 활용 사례는 해당 포스팅을 확인해주세요.

블록체인 A to Z를 배우는
코드스테이츠 블록체인 부트캠프

블록체인을 독학하는 분들이 가장 많이 힘들어 하는 점 중 하나는 자료 부족입니다. 블록체인 학습 자료가 부족하지는 않지만, 자료 자체가 정제된 것이 아닌 오픈소스 자체이고 대부분의 내용이 영어로 작성되어 있죠.

그러다보니 블록체인을 단계적으로 혼자 학습하기란 어렵고 기간 또한 상당히 소요됩니다. 오픈소스를 하나하나 보면서 직접 적용해보고 학습하는 과정이 필요하기 때문이죠.

만약 블록체인에 대해서 보다 빠르게 학습하고 싶다면 코드스테이츠 블록체인 부트캠프가 좋은 기회입니다. 담당자 총 경력 36년의 블록체인 노하우와 지식으로 실무에서 필요한 내용의 커리큘럼을 구성했기 때문에 여러분들의 블록체인 학습 시간을 비약적으로 줄여줄 수 있습니다.

 김효현 Growth Manager (Blockchain Engineering)
편집 조주연 Content Manager


🚀 블록체인 개발자 커리어의 시작,
블록체인 부트캠프가 더 궁금하다면?

인사이트

블록체인 기본 개념ㅣ블록의 구조부터 블록체인 기술의 장점과 문제점까지

2022년 11월 30일

블록체인은 데이터를 담고 있는 블록들이 각각 연결된 분산 데이터 처리 기술입니다. 블록 간 연결된 모습이 사슬로 엮인 것 같아 블록체인이라는 이름이 붙었죠.

우리가 잘 알고 있는 가상화폐에서 블록체인은 블록에 거래 내용을 담고 있습니다. 그리고 시간이 지나며 새로운 블록이 생기게 되고 블록들은 순차적으로 서로 연결됩니다.

블록체인 이전에 진행하던 데이터 관리 업무 또한 각각의 데이터를 기재하고 연결하는 것은 같습니다. 다만 블록체인과 데이터 관리의 차이가 있다면 블록체인에서 데이터를 저장하는 주체는 ‘하나’가 아닌 ‘다수’라는 점의 차이가 있죠. 블록체인은 다수가 같은 데이터를 갖고 있기에 데이터를 변조하기 어려워 신뢰성을 가질 수 있습니다.

블록체인에 대해 간단하게 살펴보았지만, 생소한 개념이기 때문에 처음 접하는 분들에게는 여전히 낯설 수밖에 없는데요. 블록의 구조부터 하나씩 알아간다면 조금 더 쉽게 블록체인을 이해할 수 있습니다.

블록체인 기술

블록체인의 개념 : 이더리움 블록의 구조

블록체인을 쉽게 이해하기 위해서 먼저 블록의 구조를 알아보겠습니다. 블록에는 헤더(Header)와 거래가 담긴 바디(Boby) 나뉘게 됩니다. 블록 헤더를 살펴본다면 왜 블록과 체인이라는 말이 생겼는지, 암호화와 신뢰성이 높은 이유를 알 수 있습니다.

블록의 헤더에는 다양한 정보가 있지만 대표적으로 <이전 블록의 해더 해시값>과 <머클 루트>가 존재합니다. 두 개념 모두 해시(hash)에 대한 지식이 필요합니다.

블록체인 기본 개념

해시(hash)

해시는 다양한 데이터를 동일한 길이를 가진 데이터로 만드는 것(mapping)입니다. 모두 일정한 길이의 데이터로 만드는 게 무슨 의미가 있겠나 싶지만, 아래 두 해시값을 통해서 우리는 어떤 값인지 추론할 수 없습니다.

627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

799669b0d8b64c8d8a2154e93a0861549b59d89e207c660c6d27f1546c19a92c

두 해시값은 SHA-256으로 “코드스테이츠”와 “부트캠프”를 해시로 변환한 값(hashing)입니다.

동일한 데이터를 해싱*한다면 같은 해시값을 얻겠지만, 한 글자라도 바꾼다면 완전히 다른 해시값을 얻게 됩니다.만약 누군가 기존의 데이터를 변경한다면 기존의 해시값과 달라진 점을 통해서 데이터가 변조됐다는 점을 알 수 있죠.

코드스테이츠 vs 코드스테이트 해시값 차이

코드스테이츠 627f57b639921aa9319d4a9b09b969195819326f4fe50b8c42274ef0b5c009a1

코드스테이트 f83f43c4f0a0aa04322dd3b07965f4d11a850681388b004f2a89c75b21a01514

*해싱(hashing) : 데이터를 해시값으로 변환하는 것

머클루트(Merkle Root)

블록체인의 높은 신뢰성은 해시를 활용해서 머클 트리를 구성하기 때문입니다. 대표적으로는 이더리움에서 활용합니다.

머클트리는 각 하위 데이터를 2개씩 묶어서 해싱하고, 해싱한 값들을 다시 2개씩 묶어서 해싱하게 됩니다. 이렇게 계속 수를 줄여가면서 해싱하게 된다면 마지막에 1개의 해시값이 남습니다. 이 마지막 남은 하나의 해시값이 머클루트(Merkle Root)입니다.

블록체인 머클루트

그렇다면 머클루트를 가짐으로 우린 어떤 이점을 얻게 될까요?

블록에 있는 수많은 거래기록(데이터)는 모두 해싱하여 머클루트와 이어지게 됩니다. 만약 누군가 기록된 거래 중 무언가를 바꾸게 된다면 우리는 변경된 머클루트의 해시값을 통해서 블록 내에 데이터 위변조가 이뤄진 것을 알 수 있게 됩니다.

왜냐면 해시값은 데이터가 변화되면 완전히 다른 데이터가 되고, 모든 데이터를 해시로 엮었기 때문에 최종 하나의 해시값인 머클트리의 해시값이 변경됩니다.

블록체인 기본 개념-해시-머클루트

블록이 가진 다양한 정보를 가진 블록 헤더를 해싱하고 이후 블록에 연결한게 <이전 블록 헤더 해시값>입니다. 이렇게 이전 블록과 현재 블록은 “해시”를 통해서 이어지게 됩니다.

만약 이전 블록의 특정 값이 변경된다면, 머클루트의 해시값은 바뀌게 됩니다. 다시 머클루트가 있는 헤더의 해시값이 변경되고, 변경된 해시값은 다음 블록 헤더의 해시값을 바꾸게 됩니다. 이렇게 해시값이 이어지면서 최신의 블록에서 이전 블록에 위변조가 발생했다는 것을 알게 되죠.

블록의 데이터 해시를 통해서 이어가는 것이 마치 블록을 사슬로 엮은 것 같기 때문에 “블록체인”이라는 기술로 부르게 됩니다.

블록체인 기술의 장점 3

블록체인의 장점은 여러 개가 있지만 가장 큰 특징 세 가지를 살펴볼 수 있습니다. 바로 투명성과 보안성, 그리고 비용 감소입니다.

투명성

대부분 블록체인(Public Blockchain)의 모든 기록은 공개적으로 접근할 수 있습니다. 모든 기록이 공개되기에 블록체인은 불법적인 거래를 막을 수도 있습니다. 불법적인 거래에는 대체로 현금이 많이 사용됩니다. 현금은 추적하기 어렵기 때문인데요. 하지만 화폐에 블록체인 기술이 적용된다면 어떻게 될까요?

모든 거래가 공개되기 때문에 불법적인 거래가 불가능합니다. 즉, 거래의 양성화가 가능하죠. 거래의 양성화를 위한 규제를 만들고 감시하는 비용 또한 줄어듭니다.

보안성

블록체인은 앞서 살펴본 것과 같이 데이터의 해싱을 통해 위변조를 금방 알 수 있습니다. 게다가 데이터를 중앙 서버가 갖고 있는 게 아닌 수많은 노드(참여자)들이 데이터를 보유하고 있습니다.

만약 중앙 서버의 데이터가 훼손됐다면 찾거나 복구가 어려울 수 있지만, 이미 수 많은 데이터를 노드들이 갖고 있기에 누군가의 데이터가 훼손된 것으로는 전체 데이터에 영향을 주지 못합니다.

블록체인 장점

분산성

블록체인의 큰 특징 중 하나는 탈중앙성, 즉 분산성이 존재합니다. 블록체인의 거래는 특정 기관에서 주도하는 것이 아닌 개인과 개인에 의해 진행되고 기록됩니다. 기존에 계약의 신뢰성을 높이고자 한다면 별도 신뢰 기관이나 인물과 함께 해야 하지만, 블록체인에서는 이미 많은 참여자가 거래에 참여하기 때문에 별도 신뢰 기관 없이도 신뢰성을 얻습니다.

게다가 블록체인의 분산성 덕분에 거래 기록(장부)가 분산되어 있기에 위변조 또한 힘들 수밖에 없습니다. 이처럼 블록체인은 분산성을 통해서 신뢰성을 가지고 보안성을 높일 수 있습니다.

블록체인 기술의 문제점 2

블록체인의 기술이 투명성과 보안성이 높아 비용을 감소할 수 있다는 장점이 있기는 하지만 아직 완벽한 기술은 아닙니다. 여전히 고민해봐야 할 문제점도 있죠.

에너지 낭비 혹은 악의적 공격

블록체인에는 채굴이라고 하는 과정이 있습니다. 네트워크 참여자인 노드들이 블록의 기록을 위해서 경쟁하거나 보유한 코인 자산 비율로 데이터 기록 권리를 얻을 수 있죠.

하지만 경쟁을 통한 블록 기록(PoW)는 경쟁에서 단 한 사람의 기록만 진행되기에 나머지 노드들의 기록과 에너지는 버려져 에너지 낭비가 발생합니다.

그렇기에 노드가 가진 코인의 양에 비례해서 데이터 기록을 진행하는 경우(PoS) 에너지 소모는 적지만, 전체 코인의 51% 이상(해시파워)을 보유한 인원이 있다면 악의적으로 데이터를 위변조할 수 있습니다.

51% 이상의 해시파워를 가지고 데이터를 위변조는 이전에 비트코인골드와 이더리움클래식에서 발생했지만 이후 업데이트로 동일한 문제가 발생하지 못하도록 조치했습니다.

트랜잭션 시간의 소요

블록체인이 위변조가 어렵고 투명한 기술이지만 금융 상용화가 아직 안 된 이유로는 트랜잭션 시간(TP)이 아직 길다는 점이 있습니다. 트랜잭션 시간이란 초당 처리할 수 있는 거래량입니다.

비자의 경우에는 초당 거래량이 24,000건 가량이지만, 비트코인은 7건이고 리플의 경우에는 1,500건입니다.

사용화된 비자보다 초당 처리하는 거래량이 아주 낮은 상태입니다. 게다가 트랜잭션 시간 외에도 블록생성 시간과 확정 시간도 고려한다면 아직까지는 거래 처리가 상용화된 서비스보다 오래 걸리게 됩니다.

물론, 트랜잭션 시간을 단축 시키기 위한 다양한 방안들이 계속해서 나오고 업데이트 되고 있기 때문에 추후에는 해결될 수 있겠죠?

국내 블록체인 활용 사례

블록체인 사례를 찾아보면 해외 기업 관련된 내용이 많지만, 국내에서도 블록체인 기술을 꾸준히 활용하고 있습니다.

특히 국내에서는 블록체인의 신원인증 기능(DID)을 활용해서 모바일 운전면허증을 출시했습니다. 모바일 운전면허증은 블록체인의 특성인 위변조가 불가능한 점을 통해서 신뢰성을 높였고 암호화를 통해서 개인정보유출 또한 방지했죠. 블록체인 기능을 생활에서 활용해보고 싶다면 국내의 모바일 운전면허증을 먼저 사용해보면 어떨까요?

블록체인 활용 기술-모바일면허증
블록체인 기술을 활용한 모바일 자동차운전면허증 (출처 : 행정안전부)

더 많은 블록체인 활용 사례는 해당 포스팅을 확인해주세요.

블록체인 A to Z를 배우는
코드스테이츠 블록체인 부트캠프

블록체인을 독학하는 분들이 가장 많이 힘들어 하는 점 중 하나는 자료 부족입니다. 블록체인 학습 자료가 부족하지는 않지만, 자료 자체가 정제된 것이 아닌 오픈소스 자체이고 대부분의 내용이 영어로 작성되어 있죠.

그러다보니 블록체인을 단계적으로 혼자 학습하기란 어렵고 기간 또한 상당히 소요됩니다. 오픈소스를 하나하나 보면서 직접 적용해보고 학습하는 과정이 필요하기 때문이죠.

만약 블록체인에 대해서 보다 빠르게 학습하고 싶다면 코드스테이츠 블록체인 부트캠프가 좋은 기회입니다. 담당자 총 경력 36년의 블록체인 노하우와 지식으로 실무에서 필요한 내용의 커리큘럼을 구성했기 때문에 여러분들의 블록체인 학습 시간을 비약적으로 줄여줄 수 있습니다.

 김효현 Growth Manager (Blockchain Engineering)
편집 조주연 Content Manager


🚀 블록체인 개발자 커리어의 시작,
블록체인 부트캠프가 더 궁금하다면?

꿈꾸는 커리어의 시작