블록체인이란?

김관주·2024년 8월 21일

본 게시물은 멋쟁이사자처럼 '[블록체인] 나만의 NFT 생성부터 판매까지' 강의를 듣고 개인 공부용으로 작성되었음을 알립니다.

블록체인 이해하기

  • Block : Data
  • Chain : Data를 이어주는 Link

블록은 크게 거래정보와 이전블록에 대한 정보를 가지고 있다.

기존의 IT는 중앙집권화된 서버가 존재하고 서버로부터 데이터를 받아서 사용자가 사용하는 구조이다. 하지만 블록체인은 누구나 노드를 운영할 수 있는 개인과 개인의 결제 시스템을 만들수 있다.

노드라는 블록체인을 운영하는 컴퓨터가 서로 나눠가지면서 하나의 블록체인 네트워크를 형성하고 있다.

블록체인 특징

  • 탈중앙화, 보안성, 투명성, 확장성

  • 51% attack: 수학적으로 51% 네트워크 파워를 차지하면 블록체인 데이터를 조작할 수 있다는 이론이지만 현실적으로는 어렵다. 네트워크를 차지함으로써 얻을 수 있는 가치가 없음.

  • 탈중앙화 : 노드를 운영할 수 있으면 누구나 참여할 수 있다. 소수의 누군가가 악의적인 행동을 펼칠수 없다.

  • 투명성 : 누구나 노드를 운영할 수 있다는 것은 누구나 블록을 볼 수 있다는 의미이다.

  • 확장성 : 데이터 뿐만 아니라 기술 자체도 오픈소스로 공개되어 있다. 누구나 참여자가 될 수 있으나 경험에 따라 더 좋은 블록체인을 만들어 낼 수 있다.

블록의 구조

블록 생성 과정

  1. 거래내역 하나하나를 하나의 해시값으로 변환한다.
  2. 거래 해시 값을 묶어서 다시한번 해시를 진행한다.
  3. 이때 거래갯수가 홀수인 경우에는 마지막 해시 값을 복사해서 해시를 진행한다.
  4. 이런 과정을 반복하게 되면 단 하나의 해시값이 남게 되는데 이 값을 머클루트 해시값이라고 한다.
  5. 이 머클루트 해시값을 블록에 저장하게 되고 새로운 블록이 탄생하게 되는 것이다.

블록에는 머클루루트의 이외에도 블록체인의 소프트웨어 버전, 연결성을 지니기 위한 이전 블록 해시값, 그리고 체글을 위한 블록 생성 시간, 난이도, 논스 값을 가지고 있습니다.

채굴이란?

채굴은 마이닝이라고도 부르는데, 생성된 블록을 검증해 나가는 과정을 채굴이라고 부릅니다.

일명 Nonce 찾기라고 부르는데, 우리가 생성한 블록에는 소프트웨어 버전, 이전 블록, 해시, 블록 생성시간, 난이도, 논스, 머클루루트 해시값 등 다양한 값이 내포되어 있습니다. 이러한 데이터들을 해시 함수로 돌리면 랜덤한 값이 출력이 될 것입니다.

  • 해시 값은 Input 값의 극히 일부만 변경되더라도 결과 값이 달라지게 됩니다. 이러한 특징을 활용해서 특정한 논스 값을 찾을 것입니다.

  • 예를 들어 난이도가 4인 블록이 있다면 우리는 해시 결과값으로 앞에 네 자리가 0인 논스 값을 찾는 것입니다. Nonce를 1번부터 넣고 순차적으로 해시 함수를 돌리게 되면 언젠가는 앞에 자리가 0인 논스 값을 찾을 수 있게 되는 것입니다.

난이도 조정

  • 비트코인에서는 이러한 채굴 행위를 통해서 생성되는 블록의 시간을 10분으로 맞춰 두었습니다. 블록이 생성될 때마다 비트코인에서는 난이도 조정에 들어가게 됩니다.

  • 블록 생성 시간이 10분이 넘게 걸렸을 경우는 난이도를 낮추고 반대로 10분 이하일 경우에는 난이도를 상승시키는 것입니다.

  • 이렇게 생성된 블록은 블록체인에 안착이 되고 다른 노드들에게 전파됨으로써 블록체인의 생태계는 유지되는 것입니다. 이러한 검증 방식을 Proof of Work (pow)라고 부릅니다.

PoW vs PoS

Proof of Stake(Pos)는 지분 증명 방식입니다. 블록을 검증하는 방식을 지분을 통해 결정하는 것입니다.

  • POW는 채굴을 통한 검증 방식, POS는 지분 증명을 통해 검증 절차를 진행합니다. 이는 전력 소비량에서 많은 차이를 보이게 됩니다.

POS는 무조건 좋고 POW는 무조건 나쁘다?

라고 생각할 수 있는데 POW는 네트워크 지분과 통화가 분리되어 있고 POS는 네트워크 지분이랑 통화가 모두 가상 화폐로 이루어지게 된다.
네트워크 지분이랑 통화가 같다는 의미는 기존의 자본주의 체제랑 크게 다르지 않다는 말이다.

소수의 사용자가 토큰을 독점하게 되면 POW에서 말한 51%의 공격처럼 네트워크를 망칠 수 있는 여지가 있다.

이더리움

비트코인의 한계점

  • 비트코인은 초당 7tps, 이더리움은 20tps의 속도를 가지고 있습니다.
    비자는 2.4ktps로 비트코인, 이더리움과는 비교도 안 될 만큼 빠른 속도를 지니고 있습니다.
  • 이더리움 킬러라고 불리는 솔라나는 6.5ktps의 속도를 가지고 있습니다.

비트코인 속도가 느린 이유

  • 비트코인 네트워크는 누구나 참여가 가능하고 블록을 채굴할 수 있습니다. 하지만 어떤 노드가 채굴한 것을 정식 블록으로 인정할 것인지에 대한 기준이 필요하다.

비트코인에서는 가장 많이 블록을 생성한, 즉 가장 블록 길이가 긴 것을 정식 블록으로 인정하기로 하였습니다.

  • 만일 악의적인 노드 운영자가 longest 체인(가장 긴 체인)을 만들어 낸다면 블록체인 생태계에 문제가 생기는 것이고, 이 때문에 51% 공격도 가능하다.

  • 롱기스트 체인 이외에 노드에서 생성된 블록들은 고아 블록이라고 한다. 고아 블록에 생성되는 트랜잭션의 대부분은 롱기스트 체인이 만들어지는 과정에서 거의 다 포함이 된다.

이때 블록 생성이 빠르게 진행된다면 고아 블록의 생성 확률과 유실되는 트랜잭션 수가 증가하므로 비트코인의 채굴 속도는 느려지게 된다.

이더리움

비트코인에서 말한 개인대 개인 전자 화폐 시스템과는 전혀 다른 내용으로 차세대 스마트 컨트랙트와 탈중앙화된 어플리케이션 플랫폼

  • 비트코인은 블록체인이란 기술을 대표하는 기술이지만 시용적인 측면에서는 많은 한계점을 가지고 있었습니다. 그러한 부분들을 개선해서 나온 2세대 블록체인 이더리움이 출현하게 되었다.

  • 단순한 결제 시스템을 넘어서 플랫폼적인 성격을 특징을 띄고 있다.

스마트 컨트랙트

블록체인 기술을 활용해 제3의 인증기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술

스마트 컨트랙트 과정

  • 한쪽은 돈을 지불해야 하고, 한쪽은 집을 제공해야 하는 상황입니다. 기존의 계약은 중계인을 거쳐서 진행했었습니다.

  • 하지만 스마트 컨트랙트는 코드에 계약 내용이 명시되어 있고, 해당 내용은 한번 저장이 되면 수정 불가능한 블록체인에 기록되기 때문에 계약 중계인 없이도 계약을 체결할수 있게 만들어 줍니다.

비트코인의 한계를 개선한 이더리움

  • 비트코인에서도 스크립트라는 언어를 제공하긴 하지만 조건 설정과 반복 명령은 할 수 없도록 구성되어 있었습니다.
  • 블록체인 네트워크 특성상 문제점이 생기는 것을 미연에 방지하기 위해서 이더리움에서는 튜링 완전성을 갖추고자 하였습니다.

튜링 완전하다: 어떠한 컴퓨터를 질문을 통해 사람인지 컴퓨터인지 구분을 해 낸다면 튜링 완전하다고 부릅니다

  • 튜링 완전성을 갖추기 위해서는 프로그래밍 언어에서 말하는 조건 설정과 반복 명령은 반드시 필요합니다.
    이러한 튜링 완전성을 확보한 이더리움은 비트코인보다 훨씬 더 복잡한 코드를 만들 수 있게 된 것입니다.

즉 내가 누군가에게 보내긴 하지만 특정한 조건을 부여해서 그 조건이 달성되었을 때만 전송을 할 수 있다는 의미이다.

Dapp이란?

스마트 컨트랙트의 서비스를 이용하기 위해서는 Dapp이라 불리는 탈중앙화된 어플리케이션이 있어야 합니다.

Dapp을 알기 위해서는 기존의 it 서비스의 생태계에 대해서 살펴볼 필요성이 있습니다.

기존의 it 서비스의 형태는 중앙화된 서버에서 데이터를 받아 서비스 제공자인 ISP가 뿌려주는 형태였습니다. 이와 비교해서 Dapp은 서비스를 블록체인으로부터 제공을 받게 됩니다.

즉 블록체인으로부터 서비스를 제공받는 어플리케이션들을 Dapp이라고 지칭하게 되는 것입니다. Dapp의 가장 특징은 서비스에도 블록체인 특징이 반영되어 있다는 점입니다.

DeFi와 CeFi

  • Dapp의 특징을 잘 나타낼 수 있는 서비스로 DeFi(Decentralized Finance)가 있습니다. DeFi는 한글로 직역하면 탈중앙화 금융이라고 수 있습니다.

  • 이와 반대되는 개념은 Centralized Finance, CeFi라고 부르게 됩니다. 기존의 금융 기관들입니다.

가상 화폐는 탈중앙화 되어 있더라도 그 돈을 중앙화된 기간이 운용을 한다면 기존의 금융 체계에서 발생한 문제가 똑같이 발생할 수 있습니다. DeFi는 이러한 문제점을 해결하기 위해서 등장했습니다. DeFi는 말 그대로 코드로 돌아가는 은행이라고 봐도 무방합니다.

Dao(Decentralized Autonomous Organization)

  • 기존의 조직 구조는 수직적인 구조를 있습니다. 그에 반해 Dao는 보다 수평적인 구조의 형태를 취하고 있습니다.
  • 기존 체계에서는 의사 결정을 기반하여 진행하고 Dao에서는 코드에 명시된 내용을 기준으로 진행되게 됩니다.
  • 의사결정 구조 방식에서도 기존의 회사는 중앙 집권화 되어 있고 Dao는 분산형 Governance 형태를 취하고 있습니다.
  • NFT를 거래 방식으로 채택한다

Dao로 서비스를 개발한다면?

저와 개발자가 와이튜브라는 동영상 플랫폼 서비스를 개발했다고 가정해 보겠습니다.
열심히 개발을 진행했고 콘텐츠 제공자들이 콘텐츠를 올려주고 사용자들이 이용해서 결국엔 큰 회사에 매각될 수 있었습니다.

이때 기존의 체계에서는 저와 개발자들에게는 충분한 보상이 주어지지만 이 플랫폼 서비스를 성공시켰다고 볼 있는 콘텐츠 제공자들과 사용자들에 보상은 없다시피 하거나 회사의 손에 달려 있었습니다.

만약 이러한 서비스를 다오로 구축했다면 스마트 컨트랙트의 콘텐츠 제공자와 사용자들에 대한 보상에 관한 내용을 만들어 두어 모두가 성공할 있게 만드는 구조인 것입니다.

장단점

이렇게만 이야기를 들으면 다오가 굉장히 좋게만 느껴지지만 다오는 하나의 딜레마를 가지고 있습니다. 특정한 누군가가 토큰을 독점한다면 기존의 자본주의 체제랑 다르지 않게 된다.

이 점과 반대로 개발자, 콘텐츠 제공자, 사용자가 모두 공평하게 토큰을 나눠 있다면 책임 소재가 불분명해진다는것이 딜레마이다.

0개의 댓글