[블록체인] 2주차_4차 산업혁명과 블록체인
이 내용은 K-MOOC 알기쉬운블록체인 강의를 듣고 정리한 내용입니다.
암호화폐 비트코인의 핵심기술, 블록체인
암호화폐 비트코인의 핵심기술, 블록체인(1)
1. 비트코인 소프트웨어 모듈 구성
- 지갑 (Wallet): 실제 암호화폐 사용과 관련된 기능
- 풀 블록체인(Full Blockchain): 모든 거래 기록, 즉 블록체인을 저장하는 기능
- Miner: 채굴 기능
- Network Routing Node: 통신을 위한 소프트웨어 모듈
2. 비트코인의 사용 = 인터넷뱅킹 계좌이체
- 비트코인 계좌 개설
- 이미지 (2)의 숫자, 문자 배열 = 비트코인 계좌번호
- 인터넷 뱅킹과 다르게 실명확인 안 함: 익명성 보장
- 상점에서 비트코인 사용
- 상점에도 비트코인 계좌번호 있음
- 보통 QR코드 형태로 있음
- QR 코드 스캔해서 해당 계좌로 암호화폐 송금
- 공인인증서?
- 비트코인 내에도 공인인증서 사용해서 전자서명하는 것과 비슷한 과정 있음
- 그러나 편하게 되어 있어 사용자는 느끼지 못함
3. 블록체인 기술 - ‘블록’
- 블록: 모든 사용자들이 10분 단위로 인터넷에서 일어난 모든 거래를 기록한 장부의 한 페이지
- 10분 동안 여러 계좌이체가 동시 다발적으로 발생함
- 비트코인은 실명 확인을 거치지 않아서 계좌번호만 나타날 뿐, 계좌의 소유주는 나타나지 않음
- 10분 마다 서로 거래 기록을 확인해 만장일치가 아니면 투표에 부친다.
- 과반수 이상의 표를 얻은 블록이 선정되어 이전 블록에다 연결된다.
- 블록을 앞에 있는 체인에 연결할 때 해시함수라는 특수한 기술 사용
- 한 번 연결된 블록은 삭제하거나 수정하는 것이 불가능하다.
4. 블록체인은 해킹이 불가능한 기술이다?
- 엄밀히 말해서 블록체인 = ‘해킹이 불가능한 기술’이라고 할 순 없다.
- 블록체인의 특징 4가지 다시 정리
- 탈 중앙화: 투표 기능이 내장되어 있음
- 불변성: 블록체인에 기록된 데이터는 삭제나 수정이 불가능하다.
- 투명성: 블록체인에 기록된 데이터는 누구나 볼 수 있다.
- 가용성: 모든 사람의 PC에 저장되기 때문에 24시간, 365일 중단하지 않는 무중단 시스템
블록체인의 투표 메커니즘(1): Safety 방식
블록체인 기술 - 합의(1): Safety 방식 개요
- A, B, C, D, E 5명의 사용자가 있다고 가정할 때
- 10분이 지나면 한 명씩 차례대로 블록을 제시한다.
- 만장일치가 나오면 해당 블록을 각자 PC에 저장한다.
- 이렇게 최초로 옳다고 인정받은 블록(블록체인의 첫 번째 블록)을 제네시스 블록이라고 한다.
- 만약 불일치 할 경우 불일치하는 블록을 가진 B가 자신의 블록도 제시한다.
- 모든 사용자가 A, B 블록 중 옳다고 생각하는 것에 투표한다.
- 과반수 이상의 지지를 얻은 블록이 선정되어 블록체인에 연결된다.
블록체인의 투표 메커니즘(2): Liveness 방식
블록체인 기술 - 합의(1): 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개 블록 이상 나면 그 블록체인은 안정화된 것으로 인정하자’
- A, B, D 세 블록은 분기점의 다른 블록과 비교해 6개 이상의 차이가 나서 안정화된 블록이다.
- 안정화되지 않은 블록들은 판정이 번복될 가능성을 가지고 있다.
블록체인 합의 방식 비교
1. Safety VS Liveness 비교
Safety (Consensus Finality) | Liveness(Termination) |
---|---|
선투표 후기록 | 선기록 후투표 |
무한대기 가능성 | 판정 번복의 가능성 |
Tendermint ,PBFT-style BlockChain |
Bitcoin |
2. 무한대기 가능성과 판정 번복 가능성을 둘 다 없앨 순 없을까?
- 1985 FLP 불가능성 이론 (Impossibility Result)
- 인터넷 상에서 판정이 번복되지 않으면서 무한대기 상태에 빠지지 않는 두 가지 특성을 모두 가지는 투표 시스템을 만드는 것이 불가능함을 이론적으로 밝혀냄
- 따라서 블록체인을 만들 때 무한대기 가능성과 판정 번복 가능성 둘 중 하나를 선택해야 함
- 모든 암호화폐는 둘 중 하나의 방식을 채택하며, 둘 다 기본 전제 조건이 있다.
3. 블록체인 합의 방식에 따른 전제조건
- Liveness 방식: 비트코인 등
- 6개 블록 이상 차이나면 판정은 번복되지 않는다.
- Safety 방식: 텐더민트 등
- 일정 시간을 기다리고 이 시간 안에 접수되지 않은 투표권은 기권으로 가정한다.
- 일정 시간을 기다리고 이 시간 안에 접수되지 않은 투표권은 기권으로 가정한다.
4. 사토시 나카모토의 정체
- 가설1: 세계 경제를 장악하려는 거대 글로벌 기업의 연합체다?
- 가설2: 영국 사람이다?
- 비트코인에서 사토시 나카모토가 최초로 생성한 장부(제네시스 블록)에 영국 신문 헤드라인이 적혀 있어서
- 비트코인에서 사토시 나카모토가 최초로 생성한 장부(제네시스 블록)에 영국 신문 헤드라인이 적혀 있어서
채굴 (Mining) 이란?
채굴 (1)
1. 채굴의 개념
- 비트코인을 현금과 바꿔 줄 은행이 없다.
- 비트코인을 얻을 수 있는 가장 기본적인 방법
- 사토시 나카모토의 독창적인 개념
2. 작업증명 (Proof of Work, PoW)
- 정의: 참가자가 어떤 일을 하고 그것에 대한 보상을 받는다.
- 마이닝이란 비트코인 사용자가 열심히 장부를 작성하고 회람하고 투표하는 것에 대한 보상으로 비트코인을 지급하는 것
3. Sybil Attack(시빌 어택)
- 정의: 인터넷 상에서 사용자가 다른 사람의 아이디를 가로채서 여러 사람인 척 행동하는 것
- 동명의 소설 주인공: 다중인격으로 인터넷처럼 얼굴이 보이지 않는 상태에서 여러 사람 흉내를 내는 것을 말한다.
- 인터넷 상의 투표 시스템
- 현실: 신분증, 얼굴 등 신원 대조 절차
- 인터넷: 얼굴이 보이지 않아 1인 1투표 확인하기 힘듦
- 즉 해커가 다른 사람의 아이디를 이용해 다른 사람인 척 권리 행사할 가능성 = Sybil Attack
4. 블록체인에서 Sybil Attack의 영향
- 블록체인 합의 방법 중 Liveness 방식
- 롱기스트 체인 룰: 가장 길게 연결된 블록을 옳은 데이터라고 인정
- 만약 해커가 여러 아이디를 사들여서 장부를 여러 개 만든 다음, 자신이 원하는 블록에 마치 많은 사람들이 투표한 것처럼 연결 (빨간색 블록)
- 롱기스트 체인 룰에 따라 옳은 블록이 바뀜 (판정 번복) = Sybil Attack 혹은 평판도 조작
5. Sybil Attack 방지: 암호퍼즐 CAPTCHA
- 평판도 조작 방지: 장부 만들 때 마다 암호퍼즐 풀게 하기 (CAPTCHA)
- 비트코인이 사용하는 블록체인의 암호퍼즐: 약 10분 정도 걸리는 어려운 암호퍼즐 제시
- 정상적인 사용자: 10분 동안 퍼즐 1개 풀기
- 해커: 10분 동안 퍼즐 200~300개 (아이디 개수만큼) 풀기
- 퍼즐에 시간이 오래 걸려서 해커의 블록보다 정상적인 블록이 증가하는 속도가 더 빠르다 = 평판도 조작 방지
- 대다수의 암호화폐에 이런 암호퍼즐 (Crypto puzzle)이 내장되어 있다.
6. 비트코인 블록(체인)의 구조
- 맨 위: 페이지(블록) 번호
- prev block: 직전 블록 요약 정보 (체인효과)
- hash of transaction: 어떤 계좌번호에서 어떤 계좌번호로 얼마의 비트코인이 이동했는지 10분 간의 거래기록의 해쉬코드와 전자서명값이 들어감
- 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): 모든 것을 투표로 결정
- 기존 사토시 나카모토의 예상
- 모든 비트코인 사용자들이 개인 PC로 장부 생성, 회람, 암호퍼즐 풀 것이라고 생각
- 그러나 채굴을 통한 인센티브의 가치가 너무 크고, 암호화폐 가치가 폭등하자 전문 장비를 갖춘 채굴꾼 등장
- CPU -> 그래픽카드(GPU) -> 암호퍼즐 풀이 전용 칩
- 전문 채굴꾼 등장
예시 1) 비트메인(Bitmain): 중국의 비트코인 전문 채굴회사 예시 2) 개인 PC 사용하지 않는 시간을 빌려 채굴한 뒤 인센티브 분배해주는 사이트 등장
- 전문 채굴꾼들이 대규모 설비를 통해 블록을 생성하고 뿌리기 때문에 일반 개인이 데스크탑 PC를 통해 장부를 먼저 뿌려서 인센티브를 받는 것은 거의 불가능해졌다.
- 비트코인 (시가총액 1위): 상위 4개 전문 채굴꾼의 영향 큼
- 이더리움 (시가총액 2위): 상위 3개 전문 채굴꾼 독과점
- 결론) 비트코인이나 이더리움 등은 이미 탈중앙화 되어있다고 하기 힘들다
- 채굴 독점을 방지하기 위한 연구
- ASIC 저항성을 갖는 마이닝 퍼즐
- 메모리 하드니스 펑션(Memory Hardness Function): 단순 CPU 성능뿐만 아니라 메모리도 많이 필요한 복잡한 기능 삽입
- 그러나 해킹과 비슷해서 우회하는 기술 또한 개발될 것
- ASIC 저항성을 갖는 마이닝 퍼즐
2. 확장성 (Scale)
- 블록체인 규모가 커지면 발생하는 문제
- 모든 구성원이 투표에 참여함
- 즉 사용자 수가 많아질수록 투표하는 사람 수도 많아져서 속도가 저하됨
- 딜레마) 규모의 경제를 달성하기 위해서는 사용자가 많아져야 하는데, 사용자가 많아지면 속도가 저하되서 사용할 수 없음
- 전통적인 중앙 집중형 방식: 중앙 서버 설비 추가 및 업그레이드 <->하지만 블록체인에선 쉽지 않다.
- 확장성 문제를 해결하기 위한 방법
- 프라이빗 블록체인 (Private BlockChains)
- 초기 비트코인의 블록체인: 퍼블릭 블록체인 (직접민주주의)
- 페드레이티드 블록체인 (Federated BlockChains): 대표 컴퓨터를 뽑아 대표끼리 투표함 (간접민주주의)
- 프라이빗 블록체인(Private BlockChains): 1~2개의 컴퓨터가 투표 없이 블록 생성 (독재)
- 문제점: 초기 제안한 직접민주주의, 탈중앙화 특성과는 동떨어져 있다
- 오프체인 스테이트 채널(Off-Chain State Channels)
- 커피를 마실 때마다 직접 신용카드를 쓰지 않고 커피 기프트카드 금액을 한 번 충전한 후 기프트카드를 사용하는 방식
- 기프트 카드를 최초 발행할 때만 비트코인의 블록체인을 사용하고, 그 다음에는 기프트카드를 사용한 후 최종 남은 잔액만 다시 블록체인에 기록
- 블록체인에 걸리는 오버헤드 감소
- 비트코인 (라이트닝 프로토콜) / 이더리움 (라이덴 Raiden 프로토콜)
- 문제점 1: 블록체인 장부 발행 횟수가 줄면 인센티브가 줄어들고, 사용자들이 흥미를 잃게 되어 비트코인 생태계를 약화시킬 수 있다.
- 문제점 2: 오프 체인 스테이트 채널을 이용해 거래 중개 서비스로 활용할 경우 나라에 따라 적법성 문제 발생 가능
- DB Sharding(샤딩): 중앙 데이터베이스를 쪼개어 병렬처리가 가능하게 하는 기술
- 1~10까지 데이터가 있고, 하나의 데이터를 처리하는데 1초가 걸린다고 가정: 그럼 총 10초
- 이걸 1~5, 6~10으로 나누어서 병렬처리하면 5초 만에 처리 가능 = 처리속도 증가
- 문제점: 아직 검증되지 않은 문제점 있음
- 프라이빗 블록체인 (Private BlockChains)
3. 막대한 에너지(전기)소모
- 전문 채굴꾼: 그래픽카드 대량으로 구비한 대규모 시설에서 장비 돌림
실제 연구결과에 따르면 블록체인에서 장부를 만드는 데 전 세계 전기량의 0.5%까지도 쓸 수 있다고 한다.
- 대규모 채굴시설: 중국 1위 > 아이슬란드 2위
- 전기사용 문제 해결을 위한 Proof of Stake(지분증명) 기술: 빈익빈 부익부 현상을 초래할 수 있다는 점 때문에 아직 검토 중인 기술
4. 보안 (Security) & 익명성 (Anonymity)
- 암호화폐의 존재 이유, 익명성
- 최초의 암호화폐 개발 이유: 사이버 공간에서 사용자의 신원을 드러내지 않고 결제하기 위함
- 딥웹(Deep Web), 다크웹(Dark Web): 정상적인 검색엔진으로 검색이 안 되는 사이트 / 특수 소프트웨어를 통해 검색할 수 있다
- 주로 음란물, 마약류, 총기류, 해킹 도구 등 범법에 해당하는 상품 거래가 많아 오래 전부터 암호화폐 사용
- 익명성으로 인한 문제
- 비트코인: 계좌번호 실명확인 없이 계좌 개설 가능
- 극대화된 익명성으로 인해 범법자의 거래를 추적하기 힘들다.
- 이러한 익명성을 깨뜨리는 기술 & 익명성을 보강하기 위한 기술 둘 다 개발 중
2017년 4월 연구결과에 따르면 40%의 비트코인 사용자들은 추적될 수 있다고 한다.
- 익명성을 보강하려는 시도
- 믹싱 서비스(Mixing Service): 돈세탁 기술
- 여러 사용자들의 비트코인을 받아 수수료를 받고 다른 비트코인들로 바꿔서 추적을 어렵게 한다.
- TTP(Trusted Thrid Party): 제 3의 신뢰기관
- 문제점 1: 서비스 관리자가 돈을 갖고 도망가면 찾을 수 없음
- 문제점 2: 서비스 관리자는 돈의 주인을 알 수 있기 때문에 해당 기관을 수사하게 되면 모든 사용자들의 익명성 침해
- 익명성 강화된 암호화폐
- 모네로, 제트코인 등
- 돈의 흐름 추적하기 힘듦
- 모네로: 해커들이 가장 좋아하는 화폐
- 믹싱 서비스(Mixing Service): 돈세탁 기술
- 암호화폐 거래소 해킹 문제
- 암호화폐 해킹? 거의 거래소 문제
- 그러나 사실 거래소 해킹이 심각하다기 보다 거래소가 투명하게 관리되지 않는 것이 더 심각한 문제
- 암호화폐 거래소는 일반 주식거래소와 다르게 정기적 감사 대상이 아님
- 즉 투명성이 떨어져서, 해킹을 당했다고 해도 실제 해킹인지 거래소 관리자가 돈을 들고 튄 건지 알 수 없음
- Abusable Openness, 프라이버시 보호 문제
- 블록체인 특징: 누구나 확인 가능(투명성), 언제나 확인 가능(가용성), 삭제 및 위, 변조 불가
2018년 초 연구 결과에 따르면 비트코인에서 사용되는 모든 블록을 조사해보니 1.4% 정도에는 비트코인 거래와 전혀 상관없는 정보들이 기록되어 있었다고 한다. 그 내용은 주로 아동 포르노, 회사 기밀 정보, 저작권 관련 정보 등이 있었다.
- 게시물을 삭제할 수 있는 일반 웹사이트와 달리 블록체인에 기록된 것은 삭제할 수 없으며 누구나 언제든 열람할 수 있다.
- 만약 불법촬영물 등이 블록체인에 기록된다면?
- 블록체인 특징: 누구나 확인 가능(투명성), 언제나 확인 가능(가용성), 삭제 및 위, 변조 불가
- 거버넌스 (Governance) 부족
- 거버넌스란? (위키)
- 거버넌스: 중앙 기관(정부, 은행) 등이 무언가를 결정하는 게 아니라 다양한 이해 관계자 (여기선 블록체인 사용자)들이 합의, 조정해서 무언가를 결정하는 과정을 말하는 듯
- 모든 것이 직접 투표로 결정되어 무언가를 표준화시키기 어려움: 거버넌스 체계 확립 필요
댓글남기기