[블록체인] 2주차_4차 산업혁명과 블록체인

9 분 소요

이 내용은 K-MOOC 알기쉬운블록체인 강의를 듣고 정리한 내용입니다.

암호화폐 비트코인의 핵심기술, 블록체인

암호화폐 비트코인의 핵심기술, 블록체인(1)

1. 비트코인 소프트웨어 모듈 구성

블록체인 프로그램 모듈

  • 지갑 (Wallet): 실제 암호화폐 사용과 관련된 기능
  • 풀 블록체인(Full Blockchain): 모든 거래 기록, 즉 블록체인을 저장하는 기능
  • Miner: 채굴 기능
  • Network Routing Node: 통신을 위한 소프트웨어 모듈

2. 비트코인의 사용 = 인터넷뱅킹 계좌이체

비트코인사용

  1. 비트코인 계좌 개설
    • 이미지 (2)의 숫자, 문자 배열 = 비트코인 계좌번호
    • 인터넷 뱅킹과 다르게 실명확인 안 함: 익명성 보장
  2. 상점에서 비트코인 사용
    • 상점에도 비트코인 계좌번호 있음
    • 보통 QR코드 형태로 있음
    • QR 코드 스캔해서 해당 계좌로 암호화폐 송금
  3. 공인인증서?
    • 비트코인 내에도 공인인증서 사용해서 전자서명하는 것과 비슷한 과정 있음
    • 그러나 편하게 되어 있어 사용자는 느끼지 못함

3. 블록체인 기술 - ‘블록’

  • 블록: 모든 사용자들이 10분 단위로 인터넷에서 일어난 모든 거래를 기록한 장부의 한 페이지
  • 10분 동안 여러 계좌이체가 동시 다발적으로 발생함
  • 비트코인은 실명 확인을 거치지 않아서 계좌번호만 나타날 뿐, 계좌의 소유주는 나타나지 않음
  • 10분 마다 서로 거래 기록을 확인해 만장일치가 아니면 투표에 부친다.
  • 과반수 이상의 표를 얻은 블록이 선정되어 이전 블록에다 연결된다.
  • 블록을 앞에 있는 체인에 연결할 때 해시함수라는 특수한 기술 사용
  • 한 번 연결된 블록은 삭제하거나 수정하는 것이 불가능하다.

4. 블록체인은 해킹이 불가능한 기술이다?

  • 엄밀히 말해서 블록체인 = ‘해킹이 불가능한 기술’이라고 할 순 없다.
  • 블록체인의 특징 4가지 다시 정리
    • 탈 중앙화: 투표 기능이 내장되어 있음
    • 불변성: 블록체인에 기록된 데이터는 삭제나 수정이 불가능하다.
    • 투명성: 블록체인에 기록된 데이터는 누구나 볼 수 있다.
    • 가용성: 모든 사람의 PC에 저장되기 때문에 24시간, 365일 중단하지 않는 무중단 시스템

블록체인의 투표 메커니즘(1): Safety 방식

블록체인 기술 - 합의(1): Safety 방식 개요

블록체인_safefy

  • A, B, C, D, E 5명의 사용자가 있다고 가정할 때
  • 10분이 지나면 한 명씩 차례대로 블록을 제시한다.
  • 만장일치가 나오면 해당 블록을 각자 PC에 저장한다.
  • 이렇게 최초로 옳다고 인정받은 블록(블록체인의 첫 번째 블록)을 제네시스 블록이라고 한다.
  • 만약 불일치 할 경우 불일치하는 블록을 가진 B가 자신의 블록도 제시한다.
  • 모든 사용자가 A, B 블록 중 옳다고 생각하는 것에 투표한다.
  • 과반수 이상의 지지를 얻은 블록이 선정되어 블록체인에 연결된다.

블록체인의 투표 메커니즘(2): Liveness 방식

블록체인 기술 - 합의(1): Liveness 방식 개요

블록체인_liveness

  • A, B, C, D, E 5명의 사용자가 있다고 가정할 때
  • 10분이 지나면 한 명씩 차례대로 블록을 제시한다.
  • 만장일치가 나오면 해당 블록을 각자 PC에 저장한다.

  • 이미 A-B 블록이 연결되어 있다고 가정할 때
  • C가 새로운 블록을 제시했는데, D가 이의제기를 하고 자신의 블록도 모든 사용자에게 제시한다.
  • Safety방식: 모든 사용자가 C, D 블록 중 옳다고 생각하는 것에 투표한다.
  • Liveness 방식: 일단 투표를 하지 않고 C, D 블록 모두 B에 연결한다.
  • 이렇게 연결되면 A, B, C, D 블록은 삭제 및 수정이 불가능하다..

  • 다시 10분 뒤, E가 블록 제시할 차례 돌아왔을 때, E는 C, D 중 자신이 옳다고 생각하는 블록 뒤에 자신의 블록을 연결한다.
  • 만약 ‘D가 옳다’라고 생각하면 자신의 블록을 D에 연결하여 한 표를 행사한다.
  • 이런 식으로 계속 10분이 지나면 대다수가 옳다고 생각해 줄을 선 블록도 있고, 줄을 서지 않은 블록도 생긴다.
  • 롱기스트 체인 룰: 줄이 가장 긴 블록체인의 시작 블록을 올은 블록이라고 인정하는 규칙

블록체인 기술 - 합의(1): Liveness 방식의 문제점

  • 롱기스트 체인 룰: 어느 줄이 가장 긴 지는 항상 바뀔 수 있음
  • 따라서 별도의 약속 필요
  • ‘줄 길이 차이가 6개 블록 이상 나면 그 블록체인은 안정화된 것으로 인정하자’
    블록체인_liveness_안정화
  • A, B, D 세 블록은 분기점의 다른 블록과 비교해 6개 이상의 차이가 나서 안정화된 블록이다.
  • 안정화되지 않은 블록들은 판정이 번복될 가능성을 가지고 있다.

블록체인 합의 방식 비교

1. Safety VS Liveness 비교

블록체인합의방식비교

Safety (Consensus Finality) Liveness(Termination)
선투표 후기록 선기록 후투표
무한대기 가능성 판정 번복의 가능성
Tendermint,PBFT-style BlockChain Bitcoin


2. 무한대기 가능성과 판정 번복 가능성을 둘 다 없앨 순 없을까?

  • 1985 FLP 불가능성 이론 (Impossibility Result)
    • 인터넷 상에서 판정이 번복되지 않으면서 무한대기 상태에 빠지지 않는 두 가지 특성을 모두 가지는 투표 시스템을 만드는 것이 불가능함을 이론적으로 밝혀냄
  • 따라서 블록체인을 만들 때 무한대기 가능성판정 번복 가능성 둘 중 하나를 선택해야 함
  • 모든 암호화폐는 둘 중 하나의 방식을 채택하며, 둘 다 기본 전제 조건이 있다.

3. 블록체인 합의 방식에 따른 전제조건

  1. Liveness 방식: 비트코인 등
    • 6개 블록 이상 차이나면 판정은 번복되지 않는다.
  2. Safety 방식: 텐더민트 등
    • 일정 시간을 기다리고 이 시간 안에 접수되지 않은 투표권은 기권으로 가정한다.

4. 사토시 나카모토의 정체

  • 가설1: 세계 경제를 장악하려는 거대 글로벌 기업의 연합체다?
  • 가설2: 영국 사람이다?
    • 비트코인에서 사토시 나카모토가 최초로 생성한 장부(제네시스 블록)에 영국 신문 헤드라인이 적혀 있어서

채굴 (Mining) 이란?

채굴 (1)

1. 채굴의 개념

  • 비트코인을 현금과 바꿔 줄 은행이 없다.
  • 비트코인을 얻을 수 있는 가장 기본적인 방법
  • 사토시 나카모토의 독창적인 개념

2. 작업증명 (Proof of Work, PoW)

  • 정의: 참가자가 어떤 일을 하고 그것에 대한 보상을 받는다.
  • 마이닝이란 비트코인 사용자가 열심히 장부를 작성하고 회람하고 투표하는 것에 대한 보상으로 비트코인을 지급하는 것

3. Sybil Attack(시빌 어택)

  • 정의: 인터넷 상에서 사용자가 다른 사람의 아이디를 가로채서 여러 사람인 척 행동하는 것
  • 동명의 소설 주인공: 다중인격으로 인터넷처럼 얼굴이 보이지 않는 상태에서 여러 사람 흉내를 내는 것을 말한다.
  • 인터넷 상의 투표 시스템
    • 현실: 신분증, 얼굴 등 신원 대조 절차
    • 인터넷: 얼굴이 보이지 않아 1인 1투표 확인하기 힘듦
    • 즉 해커가 다른 사람의 아이디를 이용해 다른 사람인 척 권리 행사할 가능성 = Sybil Attack

4. 블록체인에서 Sybil Attack의 영향

sybilAttack

  • 블록체인 합의 방법 중 Liveness 방식
  • 롱기스트 체인 룰: 가장 길게 연결된 블록을 옳은 데이터라고 인정
  • 만약 해커가 여러 아이디를 사들여서 장부를 여러 개 만든 다음, 자신이 원하는 블록에 마치 많은 사람들이 투표한 것처럼 연결 (빨간색 블록)
  • 롱기스트 체인 룰에 따라 옳은 블록이 바뀜 (판정 번복) = Sybil Attack 혹은 평판도 조작

5. Sybil Attack 방지: 암호퍼즐 CAPTCHA

  • 평판도 조작 방지: 장부 만들 때 마다 암호퍼즐 풀게 하기 (CAPTCHA)
  • 비트코인이 사용하는 블록체인의 암호퍼즐: 약 10분 정도 걸리는 어려운 암호퍼즐 제시
  • 정상적인 사용자: 10분 동안 퍼즐 1개 풀기
  • 해커: 10분 동안 퍼즐 200~300개 (아이디 개수만큼) 풀기
  • 퍼즐에 시간이 오래 걸려서 해커의 블록보다 정상적인 블록이 증가하는 속도가 더 빠르다 = 평판도 조작 방지
  • 대다수의 암호화폐에 이런 암호퍼즐 (Crypto puzzle)이 내장되어 있다.

6. 비트코인 블록(체인)의 구조

비트코인블록체인

  1. 맨 위: 페이지(블록) 번호
  2. prev block: 직전 블록 요약 정보 (체인효과)
  3. hash of transaction: 어떤 계좌번호에서 어떤 계좌번호로 얼마의 비트코인이 이동했는지 10분 간의 거래기록의 해쉬코드와 전자서명값이 들어감
  4. random nonce: 암호퍼즐 풀었다는 증명 = 작업증명

채굴 (2)

1. 비트코인에 작업증명이 필요한 이유

  • 비트코인을 사용하는 사용자가 할 일이 많다.
    • 24시간 365일 컴퓨터 돌려서 인터넷 감시하기
    • 10분 간격으로 거래 기록 전부 다 블록에 남기기
    • 블록 회람하고 투표하기
    • 10분 내내 풀어야 하는 어려운 문제 풀고 작업증명
  • 이런 귀찮고 어려운 일을 무보수, 자발적으로 할 리가 없다!
  • 보상체계: 블록체인 운영을 열심히 하는 사람에게 인센티브 지급 ~ 비트코인 발행, 지급

2. 비트코인 인센티브

  • 2009년 최초의 인센티브: 1블록 당 50 비트코인
  • 1비트코인 = 최대 2700만원 (까지 상승했었음)
  • 10분만에 50 * 2700만원?
  • 사용자들이 열심히 ‘채굴’함
  • 인플레이션을 막기 위해 4년마다 인센티브 금액이 절반으로 줄어듦
  • 예상: 2140년 경 2100만 개 비트코인 인센티브로 전부 소모됨
  • 그 이후부턴 비트코인을 거래할 때 마다 수수료를 떼서 다시 인센티브로 지급

3. 비트코인 인센티브가 다 떨어지면?

  • 2016 ACM CCS 컨퍼런스 논문:

    비트코인이 모두 채굴되고 나면 비트코인 사용 수수료만으로 인센티브를 지급해야 하는데, 그 보상이 크지 않을 것이므로 충분한 동기 유발이 되지 않을 것이다. 즉 사람들이 열심히 장부를 만들지 않이 비트코인 생태계가 무너질 수 있다.

블록체인이 당면한 기술적 한계들

1. 블록체인의 Trilemma

1. 탈중앙화 (Decentralized): 모든 것을 투표로 결정

  1. 기존 사토시 나카모토의 예상
    • 모든 비트코인 사용자들이 개인 PC로 장부 생성, 회람, 암호퍼즐 풀 것이라고 생각
    • 그러나 채굴을 통한 인센티브의 가치가 너무 크고, 암호화폐 가치가 폭등하자 전문 장비를 갖춘 채굴꾼 등장
    • CPU -> 그래픽카드(GPU) -> 암호퍼즐 풀이 전용 칩
  2. 전문 채굴꾼 등장

    예시 1) 비트메인(Bitmain): 중국의 비트코인 전문 채굴회사 예시 2) 개인 PC 사용하지 않는 시간을 빌려 채굴한 뒤 인센티브 분배해주는 사이트 등장

    • 전문 채굴꾼들이 대규모 설비를 통해 블록을 생성하고 뿌리기 때문에 일반 개인이 데스크탑 PC를 통해 장부를 먼저 뿌려서 인센티브를 받는 것은 거의 불가능해졌다.
    • 비트코인 (시가총액 1위): 상위 4개 전문 채굴꾼의 영향 큼
    • 이더리움 (시가총액 2위): 상위 3개 전문 채굴꾼 독과점
    • 결론) 비트코인이나 이더리움 등은 이미 탈중앙화 되어있다고 하기 힘들다
  3. 채굴 독점을 방지하기 위한 연구
    • ASIC 저항성을 갖는 마이닝 퍼즐
      • 메모리 하드니스 펑션(Memory Hardness Function): 단순 CPU 성능뿐만 아니라 메모리도 많이 필요한 복잡한 기능 삽입
    • 그러나 해킹과 비슷해서 우회하는 기술 또한 개발될 것

2. 확장성 (Scale)

  1. 블록체인 규모가 커지면 발생하는 문제
    • 모든 구성원이 투표에 참여함
    • 즉 사용자 수가 많아질수록 투표하는 사람 수도 많아져서 속도가 저하됨
    • 딜레마) 규모의 경제를 달성하기 위해서는 사용자가 많아져야 하는데, 사용자가 많아지면 속도가 저하되서 사용할 수 없음
    • 전통적인 중앙 집중형 방식: 중앙 서버 설비 추가 및 업그레이드 <->하지만 블록체인에선 쉽지 않다.
  2. 확장성 문제를 해결하기 위한 방법
    1. 프라이빗 블록체인 (Private BlockChains)
      • 초기 비트코인의 블록체인: 퍼블릭 블록체인 (직접민주주의)
      • 페드레이티드 블록체인 (Federated BlockChains): 대표 컴퓨터를 뽑아 대표끼리 투표함 (간접민주주의)
      • 프라이빗 블록체인(Private BlockChains): 1~2개의 컴퓨터가 투표 없이 블록 생성 (독재)
      • 문제점: 초기 제안한 직접민주주의, 탈중앙화 특성과는 동떨어져 있다
    2. 오프체인 스테이트 채널(Off-Chain State Channels)
      • 커피를 마실 때마다 직접 신용카드를 쓰지 않고 커피 기프트카드 금액을 한 번 충전한 후 기프트카드를 사용하는 방식
      • 기프트 카드를 최초 발행할 때만 비트코인의 블록체인을 사용하고, 그 다음에는 기프트카드를 사용한 후 최종 남은 잔액만 다시 블록체인에 기록
      • 블록체인에 걸리는 오버헤드 감소
      • 비트코인 (라이트닝 프로토콜) / 이더리움 (라이덴 Raiden 프로토콜)
      • 문제점 1: 블록체인 장부 발행 횟수가 줄면 인센티브가 줄어들고, 사용자들이 흥미를 잃게 되어 비트코인 생태계를 약화시킬 수 있다.
      • 문제점 2: 오프 체인 스테이트 채널을 이용해 거래 중개 서비스로 활용할 경우 나라에 따라 적법성 문제 발생 가능
    3. DB Sharding(샤딩): 중앙 데이터베이스를 쪼개어 병렬처리가 가능하게 하는 기술 sharding
      • 1~10까지 데이터가 있고, 하나의 데이터를 처리하는데 1초가 걸린다고 가정: 그럼 총 10초
      • 이걸 1~5, 6~10으로 나누어서 병렬처리하면 5초 만에 처리 가능 = 처리속도 증가
      • 문제점: 아직 검증되지 않은 문제점 있음

3. 막대한 에너지(전기)소모

  • 전문 채굴꾼: 그래픽카드 대량으로 구비한 대규모 시설에서 장비 돌림

    실제 연구결과에 따르면 블록체인에서 장부를 만드는 데 전 세계 전기량의 0.5%까지도 쓸 수 있다고 한다.

  • 대규모 채굴시설: 중국 1위 > 아이슬란드 2위
  • 전기사용 문제 해결을 위한 Proof of Stake(지분증명) 기술: 빈익빈 부익부 현상을 초래할 수 있다는 점 때문에 아직 검토 중인 기술

4. 보안 (Security) & 익명성 (Anonymity)

  1. 암호화폐의 존재 이유, 익명성
    • 최초의 암호화폐 개발 이유: 사이버 공간에서 사용자의 신원을 드러내지 않고 결제하기 위함
    • 딥웹(Deep Web), 다크웹(Dark Web): 정상적인 검색엔진으로 검색이 안 되는 사이트 / 특수 소프트웨어를 통해 검색할 수 있다
    • 주로 음란물, 마약류, 총기류, 해킹 도구 등 범법에 해당하는 상품 거래가 많아 오래 전부터 암호화폐 사용
  2. 익명성으로 인한 문제
    • 비트코인: 계좌번호 실명확인 없이 계좌 개설 가능
    • 극대화된 익명성으로 인해 범법자의 거래를 추적하기 힘들다.
    • 이러한 익명성을 깨뜨리는 기술 & 익명성을 보강하기 위한 기술 둘 다 개발 중

      2017년 4월 연구결과에 따르면 40%의 비트코인 사용자들은 추적될 수 있다고 한다.

  3. 익명성을 보강하려는 시도
    1. 믹싱 서비스(Mixing Service): 돈세탁 기술
      • 여러 사용자들의 비트코인을 받아 수수료를 받고 다른 비트코인들로 바꿔서 추적을 어렵게 한다.
      • TTP(Trusted Thrid Party): 제 3의 신뢰기관
      • 문제점 1: 서비스 관리자가 돈을 갖고 도망가면 찾을 수 없음
      • 문제점 2: 서비스 관리자는 돈의 주인을 알 수 있기 때문에 해당 기관을 수사하게 되면 모든 사용자들의 익명성 침해
    2. 익명성 강화된 암호화폐
      • 모네로, 제트코인 등
      • 돈의 흐름 추적하기 힘듦
      • 모네로: 해커들이 가장 좋아하는 화폐
  4. 암호화폐 거래소 해킹 문제
    • 암호화폐 해킹? 거의 거래소 문제
    • 그러나 사실 거래소 해킹이 심각하다기 보다 거래소가 투명하게 관리되지 않는 것이 더 심각한 문제
    • 암호화폐 거래소는 일반 주식거래소와 다르게 정기적 감사 대상이 아님
    • 즉 투명성이 떨어져서, 해킹을 당했다고 해도 실제 해킹인지 거래소 관리자가 돈을 들고 튄 건지 알 수 없음
  5. Abusable Openness, 프라이버시 보호 문제
    • 블록체인 특징: 누구나 확인 가능(투명성), 언제나 확인 가능(가용성), 삭제 및 위, 변조 불가

      2018년 초 연구 결과에 따르면 비트코인에서 사용되는 모든 블록을 조사해보니 1.4% 정도에는 비트코인 거래와 전혀 상관없는 정보들이 기록되어 있었다고 한다. 그 내용은 주로 아동 포르노, 회사 기밀 정보, 저작권 관련 정보 등이 있었다.

    • 게시물을 삭제할 수 있는 일반 웹사이트와 달리 블록체인에 기록된 것은 삭제할 수 없으며 누구나 언제든 열람할 수 있다.
    • 만약 불법촬영물 등이 블록체인에 기록된다면?
  6. 거버넌스 (Governance) 부족
    • 거버넌스란? (위키)
    • 거버넌스: 중앙 기관(정부, 은행) 등이 무언가를 결정하는 게 아니라 다양한 이해 관계자 (여기선 블록체인 사용자)들이 합의, 조정해서 무언가를 결정하는 과정을 말하는 듯
    • 모든 것이 직접 투표로 결정되어 무언가를 표준화시키기 어려움: 거버넌스 체계 확립 필요



2주차

댓글남기기