블록체인이 뭐야?

NOX·2023년 2월 8일

블록체인

목록 보기
1/2
post-thumbnail

"늦었다고 할 때가 진짜 너무 늦었다." -巨星박명수

Intro

세상이 빠르게 변하고 있는 거 같네,
2년 전까지만 해도 "블록체인이 뭐야?"라는 질문을 던졌다면, 대답을 그럴싸하게 할 수 있는 사람이 별로 없었는데, 이제는 관련 글도 깊이별로 많이 찾아볼 수도 있고 말이야.

뭐 늦었다고 할 때가 진짜 늦었다는 거성 박명수님의 말씀대로 늦었다고 해야만 늦은 거니, 아직 나는 이르다고 생각해서, 어디서든 찾아볼 순 있지만 내가 쓴 건 없는, 내가 알고 있는 블록체인 관련 지식을 조금씩 정리해볼까 해.

뭐 그렇다고 해서 블록체인만 주야장천 다루는 학술 블로그 느낌은 아니고, 그냥 "아 뭐였지" 싶을 때 들어와서 기억을 되짚는 용도로 사용했으면 해 (나한테 하는 말이야.)

Contents

블록체인 이란

그래서 블록체인 (Blockchain)은 뭘까?

블록체인은
데이터 분산 처리 기술로, 블록에 데이터를 담아 체인 형태로 연결하여 수많은 컴퓨터에 동시에 이를 복제해 저장하여 분산화된 시스템에서 실행되는 것을 일컫는다.라고 해.

뭐, 더 쉽게 말해서

탈 중앙화된 네트워크 (Decentralized Network System)이야.
음 뭐
"이때까지는 중앙화된 네트워크를 사용했기 때문에! 개인에 조금 더 집중을 한!"
등등의 느낌으로 받아들이면 될 거 같아.

조금 TMI를 넣어보자면:

  • 영어로는 Blockchain
  • 한국어로 블록체인
  • 중국어로는 区块链
    이라고해.

이것도 뭔 말인가 싶으면 좀 더 읽어보면 이해가 조금 갈 거야.

블록체인의 특징

이론상 블록체인은 기본적으로 7개의 특성이 있다고들 정의하는 편이야.
서비스나 비즈니스에 따라 조금씩 특징이 사라지는 경우도 종종 있더라고

그럼 하나하나 설명 바로 들어가 볼게.

1. 익명성 (Anonymous)

어떤 행위를 한 사람이 누구인지 드러나지 않는 것으로 현대의 대중사회를 구성하는 구성원인 대중이 누구인가를 모르는 현상.

블록체인을 사용해서 거래하게 된다면 블록체인상에 주소가 찍히게 돼,
근데 이론상 본인이 연관을 짓지 않는 한 그 주소가 누구인지 특정하기 어렵다는 특성을 가지고 있어.

간단한 예시를 들어보자면,
내가 짱구 아빠 신형만 씨한테 전화를 건다고 해보자, 신형만 씨가 만약에 내 전화번호를 저장해 두었다면 신형만 씨는 내가 전화를 했다는 것을 알 수 있을 거야, 그럼 반대로 신형만 씨가 저장을 안 했다고 가정을 하면 신형만 씨의 휴대폰에 내 전화번호가 찍히게 되잖아?
당장에 신형만씨가 전화 건 사람이 나라는 것을 알 방법은 없지만, 뭐 어찌 저 찌 소셜네트워크에 검색도 해보고 카톡에 추가해보거나 하면 "녹스" 라는 사람이라는 것을 특정할 수 있게 돼.
이게 익명성이 보장되지 않은 시스템인 거지.(통신사에서 조회한다든가 뭐 방법은 많아)

하지만 블록체인 상에서 거래하게 된다면, 위에 첨부한 사진처럼 상대방이 보게 되는 거래 내역에는 누구인지 특정할 수 없는 긴 문자 숫자열이 찍히게 돼. 고로 누군가가 거래를 했지만, 그게 누구인지 알 방법이 없는 거지.
여기에서 말한 긴 문자 숫자열이 해시(Hash)라고 해.
(from 부분을 보게 되면 어떤 건 해시, 어떤 건 이름이 적혀있는데, 특정체인에서 사용할 수 있는 네이밍 시스템을 제공해주는 회사도 있어)

뭐 해시 값을 얻는 방법은 머클트리로 묶어서 SHA256을 통하여 암호화를 한다든가 등의 방식이 존재하는데, 일단 특정하기가 거의 불가능하다라는게 포인트야.

해시값을 얻는 방법 같은 경우는 추후에 기회가 된다면 다뤄보도록 할게.

아, 네이밍 서비스도.

2. 추적성 (Traceability)

특정 대상이 갖고 있는 이력, 적용 현황 또는 적용 위치를 추적하기 위한 능력. 일반적으로 추적성은 소재 및 부품의 출처, 프로세스 이력, 인도 후 제품의 분포 및 위치와 관련된다.

어렵게 생각할 거 없이 추적할 수 있다는 말이야,

하지만 익명성이 보장됨과 동시에 추적할 수 있다? "이게 뭐여" 싶겠지만

맞아.

잘 생각해 보면 추적을 하는 대상이 특정된 개인이 아닌 누구인지 특정되지 않은 지갑 주소이기 때문에 둘 다 공존할 수 있는 거야.

누가 보낸 지는 모르지만, 어느 지갑에서 나왔는지는 알게 되는 거지.

뭐 벨로그에서 글을 읽는 여러분은 당연히 아시겠지만, 블록체인 상의 모든, 진짜 모든 거래들은 공개돼.

지금 당장에라도 원하는 블록체인 원장을 기록하는 사이트로 가면 볼 수 있지. (한번 들어가 봐)
이더스캔

그래서 뭐 어디 코인상승기원 단 톡 방에 가면, 뭐 "고래 이동 감지 xxeth 이동"이라는걸 본적이 있을 거야,

그러한 감지를 위에 올려둔 사이트 같은 곳에서 봇을 만들어 정보를 받아오는 거야.

고로 개인을 특정하긴 힘들지라도 어떠한 문제가 생겼을 시 "추적성"이라는 특성을 활용하여 계정(?)에대한 제재는 가할 수 있어, 가령 블랙리스트에 담아둔다든지, 연방에서 주의 깊게 관찰한다든지 등.

3. 무신뢰성 (Trust less)

TTP(제3 신뢰 기관, 第三信賴機關, Trusted Third Party)를 통할 필요 없이 개인 간의 익명성이 보장된 상태로 블록체인 상의 거래가 진행된다.

해석 그대로 "신뢰가 없다"가 아니라
"신뢰할 제3기관이 필요 없다"가 맞는 표현 같아.

예를 들어서 지금 당장 신형만 씨한테 송금을 한다고 하면

나 -> 타인

개인과 개인의 거래 (P2P) 가 아닌

나 -> 은행 -> 타인

이런 형식으로 이루어져 있어.

블록체인은 이러한 기관의 개입을 차단하면서 의존도를 없앴다고 볼 수 있어.


그러기에 이론상 어느 누구의 관리 감독 없이 개인과 개인 간의 거래가 가능하게 되지.

하지만 아이러니하게도 우리는 아직 Web2.5?쯤의 세상에 살고 있어서, 어느 정도 제3기관의 개입을 허용하기도 해(정부도 입장이 있잖어)

4. 분산화된 원장 (Distributed Ledger)

분산 네트워크 사용자 간의 공통으로 합의된 원장.


분산된 네트워크를 사용하는 사람들이란 블록체인과 같은 분산화된 네트워크를 사용하는 사용자들이며
이들끼리 합의가 된 원장을 공유한다는 뜻이야.

예를 들어서 말해볼게.
음..
저승명부랑 비슷한 느낌이야.

뭐 저승사자가 명부를 들고 다니잖아, 명부에는 본인이 저승으로 데려가야 하는 사람의 이름이 적혀있어.
근데 저승사자는 한 명이 아닐 거란 말이지, 그럼 만약에 저승사자 A가 녹스를 데려갔다고 하면, 다른 저승사자가 와서 데리고 갔나 안 갔나 확인 하는 게 아니라, 모든 저승사자 명부에
녹스
이런 식으로 바뀌어 있을 거란 말이지.
고로 이들이 공유하고 있는 저승명부 또한 분산화된 원장이라고 볼 수 있어.

근데 한 명의 저승사자가 아직 살아있는 녹스에다가 줄을 그었다고 가정해봐,
그럼 녹스는 살아있는데 죽은 신분이 되는 거잖아, 그럼 뭐 저승의 질서가 망가지니 뭐니 그럴 거 아니야, 그래서 분산화된 원장에도 "합의됨" 이 중요한 거야.

5. 탈중앙화된 (Decentralized)

중앙에서 벗어나게 됨. 또는 그렇게 만듦.
"부장님, 머리가 탈중앙화하셨네요"라고 사용한다면 블록체인 상에서 말하는 바와 조금 달라.

여기서 말하는 탈중앙화는 중앙통제를 벗어난다는 의미에 가깝기 때문이지.
어떤 의미에서는 비슷할 수도

이론상 중앙화는 극한의 효율성을 보여주지만, 중앙이 무너지면 통제할 수 없다는 단점을 가지고 있기에,

중앙화의 단점을 극복하자고 탈 중앙화의 방식을 선택한 이유 중 하나이지 싶어,

뭐 또한 위에서 언급했듯, 서비스나 비즈니스 측면에서 봤을 때, 기업과 단체에 집중된 권력을 개개인에게 분산시킬 수 있다는 장점 또한 가지고 있지.

뭐 장단점을 나열하자면 할 말이 많지만, 대표적인 단점으로는 개인적으로 "사공이 많으면 배가 산으로 간다"라는 말을 인용할 수도 있겠네.

6. 합의 알고리즘 (Consensus Algorithm)

분산 원장 시스템 내의 모든 노드(node)가 일관성 있는 분산 원장을 보유할 수 있도록 네트워크 연결을 통해 새로운 기록의 공유, 검증 및 추가에 대한 전체의 동의를 이끌어 내는 알고리즘.

음 생각해보니까 합의 알고리즘은 날잡고 한번 따로 다뤄봐야 할거 같아.
PoW(Proof of Work)나 PoS(Proof of Stake)나 블록을 생성하는 과정 그리고 블록을 구성하는 요소 등 다뤄야 할 주제가 넘치네.

간단하게 설명해보자면, 퍼블릭 블록체인에서 블록을 구성하는 요소 중 node는 경쟁이라는 방식으로 블록을 생성을 해, 그러한 과정 중에 대표적으로 PoW(Proof of Work)나 PoS(Proof of Stake) 또는 DPoS(Delegated Proof Of Stake) 라는 방식을 사용해서 "옳은 정보"가 무엇인지를 판별해.

  • PoW(Proof of Work)는 한국어로 작업증명이야.

    Node가 경쟁을 통하여 블록을 생성하는 데 있어, 해당 해시값을 특정 난이도에서 찾게 되는데, 찾았다는 것을 증명하는 과정이야. 뭐 대표적으로 비트코인이나 이더리움이 이러한 방식을 채택해서 사용하지.

  • PoS(Proof of Stake)는 한국어로 지분증명이야.

    PoW의 증명방식이 많은 전력과 컴퓨팅 파워가 소모되기 때문에 이를 해결하기 위해 2012년쯤에 나오게 된 방식이야, PoS는 지분을 많이 가지고 있는 채굴자가 더 많은 양의 블록을 생성할 수 있는 구조지. 하지만 보다시피 불공평할 수 있다는 치명적인 단점을 가지고 있는데, 뭐 이를 해결하려고 보유한 코인의 일수와 양 등을 종합하여 채굴권한을 주게 하는 형식이 있기도 해.
    이러한 이유로 이더리움이 기존 POW 방식에서 POS 방식으로 22년도에 머지를 통하여 변화를 주기도 했지.

그 외에도 DPoS(Delegated Proof Of Stake)라는 방식이 존재하기도 한데, 위임 지분증명이라고도 해.

더 자세한 내용은 미래의 나에게 맡기도록 하고,

간단하게 "합의알고리즘은 PoW, PoS, DPos라는 형식이 지금까지 나와 있다~" 정도로 알고 넘어가도 될 거 같아.

7. 불변성 (Immutability)

통계적 추론의 구성요소인 모수치, 측정치, 가정된 분포 등의 구조가 어떤 변환에 의하여 변하지 않는 성질이다.
이론상 변할 수 없다라는 것을 뜻해.

하지만 블록체인에서는 사실 변할 수는 있어.
그저 변했으면 위에 합의 알고리즘과 분산화된 원장을 통해서 바로 알아차릴 수 있을 뿐이지.

롱 스토리 숏

누가 꼼수 부려서 과거의 정보를 손보면 이때까지 그 뒤의 모든 정보에 변화가 일어나 무엇이 잘못되었는지 바로 눈치 차릴 수 있게 돼.
블록의 구조 또한 이러한 꼼수를 방지하기 위해 설계되어 있지.

그러기에 변경을 한들 의미가 없으므로 이론상 불변성이라는 특징을 가지고 있다고 할 수 있어.

내 생각

솔직히 지금 블록체인은 과거 1970년도 인터넷과도 같은 과정을 겪고 있다고 생각해.

1969년도에 인터넷이 세상에 처음 나왔을 때 라디오를 들을 수 있다는것을 알게 된 사람들은 그랬어
"아니 그 잘난 인터넷으로 라디오를 들을 수 있다고 하는데, 라디오가 있는데 인터넷이 무슨 소용이야?"

하지만 현재 우리 인간들이 인터넷으로 행하게 된 기적을 봐, 60년 전 사람들이 감히 상상이나 했겠어?

블록체인도 현재 일종의 과도기를 겪고 있다고 생각해, 그래도 사람들은 그러겠지,
"아니 블록체인이 왜 필요한데? 세상은 이미 충분한 기술로 살아가고 있잖아" 라고.

그럴때 한번 30년 뒤의 세상을 상상해봐, 어떤 꿈에 그리던 세상이 펼쳐질지 기대되지 않아?

결론

사업적 판단을 내리기 전에 해야 할 가장 큰일은, 지속해서 변화하는 기술 및 시장 등과 관련된 사실과 상황을 찾고 파악하는 것이다. 현대 기술적 변화는 매우 빨라서, 사실과 상황에 대한 탐색은 사업하는 사람들의 영원한 숙제일 수밖에 없다. -Alfred P. Sloan Jr.

profile
Hi I'm NOX

0개의 댓글