[블록체인] 12주차_블록체인의 한계점
이 내용은 K-MOOC 알기쉬운블록체인 강의를 듣고 정리한 내용입니다.
블록체인의 트릴레마(Trilemma)
7가지 기술적인 문제
순수 분산 P2P 시스템인 블록체인의 기술적 문제 7가지
- 개인정보 보호의 부재
- 보안 model
- 제한적 확장성
- 고비용
- 숨겨진 중앙통제
- 유연성 부재
- 임계 크기
문제 1. 개인정보 보호의 부재
- 각 계정의 거래 이력이 모두 기록되고 누구나 볼 수 있도록 개방
- 이러한 투명성이 블록체인의 기본 속성
- 계정 주소는 공개되어 있지만 그 계정의 주인에 대한 개인정보 전혀 없음
문제 2. 보안 모델 관련 문제
- 블록체인: 식별, 사용자 인증, 거래 승인 등을 위해 비대칭 암호화 기법 이용
- 각 계정마다
공개 키
,개인 키
가 쌍으로 존재 - 각 계정 번호는
공개 암호 키
/개인 키
는 계정 소유주만이 사용 가능 - 개인 키 사용 -> 인증과정 -> 자산에 접근: 즉 법적으로 사용자를 인증하는 유일한 보안 도구
- 만약 사용자가 개인 키를 분실하거나 타인의 손에 넘어갈 경우? 계정 주인 보호 할 추가적인 안전장치 부재 (ex. 카드 분실 시 카드사에 전화해서 카드 분실 신고 및 정지 등)
문제 3. 제한적인 확장성 (속도)
- 처리해야 할 트랜잭션 많아지더라도 그걸 충분히 처리할 수 있도록 속도에 대한 확장성 필요
- 블록체인의 두 가지 목적
- 누구나 새로운 거래 정보 추가할 수 있도록 보장
- 거래 내역이 조작되거나 위조되지 않도록 보장
- 딜레마같은 두 가지 목적 해결:
작업 증명(POW)
- 기본적으로 거래정보 추가 허용함
- 그러나 새로운 블록 추가할 때마다 많은 계산량이 필요한 hash puzzle풀도록 해서 조작 어렵게 함
- 해시퍼즐 -> 처리속도 떨어짐: ex. 비트코인의 경우 하나의 거래가 완전히 확정될 때까지 1시간 소요
문제 4. 고비용
- hash puzzle은 의도적으로 많은 계산량 소모되도록 설계됨
- 장점: 거래 정보의 조작 방지
- 단점: 처리 속도 저하시켜 확장성 제한
문제 5. 숨겨진 중앙 통제
- 새 블록 추가한 피어에게 보상 지급 -> 피어들 간 심한 경쟁 유발
- 경제적인 여유 있는 피어: 특화된 기기를 설치해 투자 비용보다 더 많은 보상 획득
- 경제적 여유 없는 피어: 경쟁력이 없어 시스템을 떠나게 됨
- 결국 다양한 peer들이 모여 무결성을 유지하도록 설계된 의도와 달리, 강력한 계산능력을 갖춘 소수의 피어들에게 권한이 집중됨 -> 과점 현상 -> 전체 시스템 장악한 소수가 시스템 통제 가능
실제로 암호화폐 채굴을 전문으로 하는 기업들도 많이 등장했다. 큰 공장 안에 수백, 수천 개의 채굴용 GPU들을 설치해서 밤낮없이 채굴을 돌리는 곳도 있다. 이렇게 기업 등 대형 자본에서 고성능 기계들을 대량으로 구매해 사용하면, 전체 시스템의 상당 비율을 차지할 수 있을 것이다.
문제 6. 유연성 부재
- 블록체인은 일단 가동을 시작하면 변경이나 upgrade에 관련된 체계적인 절차가 없다.
- 기반이 되는 암호체계는 블록체인이 운영되는 동안 계속 유효해야 되며, 그 기간이 수백년이 될 수도 있다.
- 블록의 크기를 수정하는 간단한 일도 모든 peer들의 동의를 얻어야 가능
- 불변성 은
블록체인-알고리즘
의 결함을 수정하기 어렵게 만듦
문제 7. 임계 크기
- 데이터 조작 방지 및 신뢰성 확보: 대다수의 시스템 자원이 정직한 노드들에 의해 통제된다는 가정에 기반함
- 소규모 블록체인 시스템에서는 전체 계산 능력 합 자체가 작아서 51% 공격을 쉽게 시도할 수 있다.
- ex. 시가총액 적고 사용사 수가 많지 않은 암호화폐 시스템
- 따라서 시스템의 51%를 하나의 집단, 개인이 차지할 수 없도록 하기 위해 최소한의 정직한 사용자 규모 및 계산 능력이 필요한데, 이를 임계 크기라고 한다.
블록체인의 상충되는 목표들
1. 투명성 vs 개인정보 보호의 충돌
- 투명성, 개방성 = 블록체인이 소유권을 검증하는 핵심 개념: 모든 사람이 서로 검사하여 이중사용 문제 해결
- 그러나 개인정보 보호와 정면 충돌: 계좌번호, 이체 금액 등 거래 정보 세부 사항 전부 공개 됨
블록체인-데이터-구조
에서 데이터 읽는 방식에서 비롯됨
2. 보안 vs 속도
- 거래 정보 위, 변조를 막기 위해 hash puzzle을 통해 감당하기 어려운 계산량 요구
- 새로운 정보가 추가되는 속도 느려짐
- 상업적 응용 시스템이 갖추어야 할 속도와 확장성 충족 불가
블록체인-데이터-구조
에 데이터 쓰는 방식에서 비롯됨
3. 블록체인 Trilemma
- 탈중앙화: 투명성과 개방성
- 보안성: 거래정보의 위, 변조 방지
- 확장성: 속도에 대한 확장성
- Trilemma: 블록체인 시스템은 세 가지 특성 중 많아야 두 가지 특성 만족 가능 (by Vitalik Buterin, 비탈릭 부테린, 이더리움 제작자)
- Trilemma: 블록체인 시스템은 세 가지 특성 중 많아야 두 가지 특성 만족 가능 (by Vitalik Buterin, 비탈릭 부테린, 이더리움 제작자)
4가지 종류의 블록체인
1. 탈중앙화(투명성, 개방성) vs 보안성(개인정보 보안)
블록체인-데이터-구조
에서 데이터 읽는 방식과 관련된 문제- 읽기 권한 조절 한 두 가지 블록체인 존재
- 퍼블릭 블록체인(Public Blockchain)
- 모든 사용자, 모든 노드에게 거래 정보 읽을 수 있는 권한 부여
- 프라이빗 블록체인(Privat Blockchain)
- 사전에 선택된 사용자와 노드에게만 거래 정보 읽을 수 있는 권한 부여
- 사전에 선택된 사용자와 노드에게만 거래 정보 읽을 수 있는 권한 부여
- 퍼블릭 블록체인(Public Blockchain)
2. 보안성 vs 확장성
블록체인-데이터-구조
에서 데이터 쓰는 방식과 관련된 문제- 쓰기 권한 조절
- 퍼미션레스 블록체인(permissionless blockchain)
- 모든 노드에게 쓰기 권한 부여
- 누구나 거래 정보 검증 및 새로운 블록 생성, 추가 가능
- 모두에게 개방할 때 보안을 위해 모든 노드들에게 엄청난 계산량 요구하는 작업증명 방식 쓸 수 밖에 없음
- 퍼미션드 블록체인(permissioned blockchain)
- 사전에 신뢰성이 확인 된 소수의 노드에게만 쓰기 권한 부여
- 제한된 소수만 거래 정보 검증, 새 블록 생성, 추가 가능
- 보안 유지하기 상대적으로 쉬워져서 속도 높일 여지 생김
- 퍼미션레스 블록체인(permissionless blockchain)
3. 이상과 현실의 차이
- P2P 아키텍처 측면
- 이상: 시스템에 참여하는 모든 노드는 동등한 권리, 역할 부여받음
- 현실: 일부 블록체인은 거래 정보 읽고 쓰는 권한을 노드에 따라 다르게 분류
- 분산 속성 측면
- 이상: 중앙 통제, 조정장치 없는 것이 P2P시스템의 중요한 특징
- 일부 블록체인은 노드의 거래정보 읽기/쓰기 권한 통제 -> “누군가가’ 권한 통제함
- 목적 측면
- 이상: 안정성, 신뢰성 알 수 없는 노드로 구성된 순수 분산 P2P 시스템의 무결성 확보&유지
- 현실: 거래 정보 쓰기 권한을 얻기 위해 노드가 신뢰성 평가받아야 하면? 더 이상 신뢰성을 알 수 없는 peer로 구성된 순수 분산 P2P 시스템 아님
4. 한계에도 불구하고 블록체인이 할 수 있는 일
- 시스템 불안정성, 네트워크 불안정성으로 인한 여러 문제에 대해 안정적 시스템 구축 가능
- 여러 보안 위협으로부터 상당히 강건한 시스템 구축 가능
에너지 낭비와 합의 알고리즘
채굴과 합의 Algorithm
1. 채굴
- 참여 node들이 블록체인의 무결성 유지를 위해 연산 능력을 제공하고 이에 대한 보상으로 암호화폐를 받는 것
- node들이 거래 정보를 검증하고 최종적으로 합의된 내용만 블록체인에 남겨서 시스템 무결성 유지
- 이 과정에서 채택된 합의안(블록)을 제출한 node에게만 보상
2. 합의 Algorithm
- 채굴 과정에서 node들 간 합의 도출 방법
- 합의에 결정적으로 영향을 미치는 요소에 따라 종류 달라짐
- PoW(Proof of Work, 작업증명), PoS(Proof of Stake, 지분증명), DPoS(Delegated proof of stake, 위임지분증명), PoA 등
- PoW(Proof of Work, 작업증명), PoS(Proof of Stake, 지분증명), DPoS(Delegated proof of stake, 위임지분증명), PoA 등
PoW
1. 정의
- Proof of Work(작업증명): 일한 것을 증명하면 그것에 대해서 암호화폐로 보상하는 방식
- 가장 대표적인 합의 방식이자 최초로 만들어진 합의 알고리즘
- 예시) 비트코인, 이더리움 현재 버전
2. 작업 내용은?
- ‘일을 열심히 하는 것’이란? 참여 노드들이 거래의 검증을 위해 개인의 연산력을 동원해 제시된 수학문제를 풀어 답을 얻는 것. 즉 해시값 구하는 문제와 관련됨
- hash 함수의 결과 값이 갖는 범위를 주고 이 함수의 입력값 중 하나를 찾는 문제
- hash 함수는 역함수가 없으므로 매우 많은 회수의 hash 함수 계산이 필요
- 해시 파워: 해시 퍼즐을 푸는데 사용하는 연산력
3. 작업증명 방식에서 보상 많이 얻는 방법
- 해시 파워를 확보하는 것이 관건
- hash 함수 계산을 위해 특별히 설계된 하드웨어 사용
- GPU(그래픽카드의 핵심 칩): 다양한 수치 계산에 특화된 설계
- ASIC minor: 해시 연산 전용 채굴기
4. 에너지 소모: 채산성 고려
- 이익이 비용보다 큰가? 특수장비 구입비용 + 전기료 < 채굴한 코인
- mining 장비들은 엄청난 양의 전기 소모
- 엄청난 에너지 소모로 사회 문제 발생
- 예시: 미국 뉴욕 주 플래츠버그 시
- 수력발전 댐->전기료 저렴
- 채굴자들이 몰려들어 전력 수요 급증
- 2018년 1, 2월: 하나의 채굴기업이 시 전체 전력 사용량의 10% 사용
- 2018년 3월 16일: 채굴 일시적 중단 조치
- 대안: PoS
- 예시: 미국 뉴욕 주 플래츠버그 시
PoS
1. 정의
- Proof of Stake(지분 증명): 지분을 많이 가졌다는 것을 증명해서 블록을 만들 수 있는 기회를 갖고, 기회가 왔을 때 블록을 생성해 보상을 받는 방식
- ‘지분이 많다’는 것은? 암호화폐를 많이 가진 사람. 즉 전체 시스템에서 자신이 보유한 암호화폐의 비율을 지분으로 따진다.
- 지분율이 높은 사람에게 기회 주는 이유? 암호화폐가 많다는 것은 그만큼 시스템을 신뢰하고 많은 투자를 했다는 것을 의미한다. 어차피 시스템을 조작해서 신뢰를 잃으면 사용자가 떠나가고, 화폐의 가치는 떨어지게 되어 지분율 높은 사람에게 불리해진다. 그래서 이들은 시스템 무결성을 확보하는 것이 자신의 이익이 된다.
2. 특징
- 지분을 많이 가질수록 채굴 더 많이 할 수 있는 권한 부여
- 금융 시스템 내 한 회사의 주주 같은 개념: 주식 많을수록 지분율 높고 회사에 더 큰 영향을 미침 + 회사가 이익 냈을 때 배당 이익
3. 거래 정보 처리를 위한 블록 생성 과정
- 블록 생성할 참여자는 추첨으로 선택
- 이 때 지분율이 더 높은 참여자가 선택될 확률이 더 높게 설계된 추첨 시스템
- 암호화폐 보유기간이 길수록 유효한 지분으로 인정되어 선택될 확률 높음
- 이로 인해 참여자들이 코인 오래 보유하게 유도하여 가격 유지
- 생성된 블록 검증 시 참여자들 간 검증한 내용이 다를 때 처리방법
- 의견이 같은 참여자들 모아 group 만들고 각 그룹 중 지분율이 50%를 넘는 그룹의 의견이 합의 결과로 인정됨
- 이렇게 결정된 해당 블록 생성자가 보상 받음
4. PoS의 장점
- 작업 증명 방식의 에너지 낭비 문제 해결: 비싼 하드웨어나 막대한 전력소모 필요 없음
- 거래 처리속도 빠름: 모든 참여자들의 연산력이 불필요한 퍼즐 부는데 쓰이기보다 블록 검증에 사용되어 빠르고 효율적인 거래 처리
- 참여자 이탈 방지: 블록 생성할 노드 추첨 기준에
지분 보유량
+보유 기간
도 포함됨
5. PoS의 단점
- 대량 지분 보유자에게 권한 집중됨: 작업증명 방식에서 해시 파워 많이 가진 사람에게 권한 집중되는 것과 같은 문제
- 현재의 블록생성 노드가 블록에 포함한 거래 선택 시 다음에도 자신이 블록생성자로 당첨될 확률을 높이기 위해 자신에게 유리한 거래만 골라서 처리할 수 있음
DPoS
1. 정의
- Delegated Proof of Stake(위임 지분 증명): 투표로 선출된 소수의 참여자들에게 선택 권한 위임하는 지분 증명 방식
- 참여자들 간 계층이 나뉘는 특수한 형태
- 간접민주주의
2. 계층
- 참여자 계층
- 암호화폐 지분 보유자 = 참여자 & 투표권자
- 투표를 통해 Delegate(증인) 선출
- 증인(Delegate)
- 선출 과정 거쳐 결정됨
- 과정
- 참여자들 중 증인 후보 등록
- 당선 기준: 해당 증인 후보를 지지한 투표권자들의 지분 합산-> 지분율 합계 상위자 선출
- 선출된 증인: 블록 생성 + 중대 사항 결정
- 떨어진 증인 후보자: 대기증인이 되어 현재 증인들이 사정이 생겨 역할 수행이 어려울 경우 대체됨
3. DPoS의 장점
- 블록 생성 속도 빠름: PoS에 비해 의견 취합에 걸리는 시간, 비용 절약
- 편의성 개선: 복잡한 합의 과정이나 update등은 증인들이 알아서 처리함
4. DPoS의 단점
- 중앙 권력 형성: 블록체인의 탈중앙화 정신에 어긋남
- 보안 약화
- 소수 증인이 중요 권한 소유-> 소수만 공격하면 시스템 붕괴
- 증인들은 대중에게 신분이 노출되어 공격 대상이 되기 쉽다.
- 대리 퉆표
- 거래소는 암호화폐를 사용자 대신 가지고 있어 투표권 대리행사하며, 부당하게 많은 힘을 가지게 됨
- 거래소는 암호화폐를 사용자 대신 가지고 있어 투표권 대리행사하며, 부당하게 많은 힘을 가지게 됨
거래소 보안 문제
암호화폐 거래소의 문제점
1. 암호화폐 거래소란?
- 정의: 가입자들끼리 암호화폐를 사고 팔 수 있도록 해 주는 중개소
- 가격, 개수가 맞아 떨어지는 매수 주문과 매도 주문을 매치시켜 거래 성사 도와줌
- 거래 매치 과정에서 블록체인 개입 전혀 없음: 개인이 외부지갑에서 암호화폐를 거래소로 이체하거나 암호화폐 출금할 때만 블록체인에 기록 남고, 거래소 내부에서 일어난 거래들은 그냥 거래소 내부 장부(DB)에만 저장됨
2. 암호화폐 거래소의 구조
- 모든 거래는 암호화폐 거래소 내부장부에서만 일어나며, 블록체인에 기록되지 않는다.
- 이유: 블록체인 자체의 거래 처리 속도가 너무 느림 -> (속도) 확장성 문제 해결해야 함
- 즉 일종의 중앙화 시스템 : 암호화폐 보관, 이체를 위해 블록체인과 연결함
- 거래소 내부 거래 구조
- 개인 고객이 거래소 회원으로 가입, 개인지갑의 암호화폐를 거래소 지갑으로 이체하면 블록체인에 기록되고 거래소 내부 DB에 해당 회원이 가진 암호화폐 잔고 기록
- 거래소 내부 거래는 DB에 기록된 회원 잔고 숫자만 바뀌고 그대로 거래소 지갑에 들어 있음
- 개인 고객이 암호화폐를 출금하려고 하면, 거래소 지갑에서 개인지갑으로 암호화폐를 이체하고 블록체인에 기록
3. 암호화폐 거래소의 한계
- 암호화폐 거래소 = 중앙화 시스템
- 공격이 쉬움: 해커가 거래소 시스템만 공격하면 됨
- 거래소 시스템의 취약점
- 거래소 시스템이 외부 internet에 연결되는 경우
- 거래소 직원들의 인간적인 실수: 직원들이 보안에 대한 지식 별로 없는 경우
- 비용 문제로 강력한 방화벽 및 외부 보안 업체 이용하지 않는 경우
- 거래소 직원과 공모하거나 직원이 직접 지갑 비밀 키를 사용해 외부 지갑으로 암호화폐 이체하는 경우(횡령)
- 취약점 발생 이유: 업무 절차가 너무 불편하고 비용이 많이 들어가는 것(=보안)을 회피하려고 해서
암호화폐 거래소의 대응
1. 기존 정보 시스템의 보안문제 대비는 어떻게 하고 있을까?
- 외부로부터 불순한 의도를 가진 접근 차단
- 사용자 아이디/패스워드 인증과정
- 정상적이지 않은 경로로 접근하는 것 미연에 방지
- 내부 직원의 보안상 실수 방지 위해 보안지침 이행
- 방화벽: 외부(인터넷), 내부 시스템이 직접 연결될 가능성 최대한 배제
2. 암호화폐 거래소의 노력
- 기본적인 사내 정보 보안 절차 강화
- server를 물리적으로 2곳 이상의 장소에 분리
- 직원들의 휴대용 저장장치 사용 금지: 정보 유출 및 외부 악성코드 유입 방지
- 출입 시 엄격한 보안 검사
- 새로 개설되는 암호화폐 거래소의 경우 처음부터 블록체인 방식의 거래 시스템 구축
DEX(탈중앙화 거래소)
1. 탈중앙화 거래소 DEX(Decentralized Exchange)
- 정의: 암호화폐를 거래소에 맡기지 않고 참여자 자신이 보관
- 중앙화 거래소 특징: 입출금 시에만 내 지갑과 거래소 지갑 간 거래가 블록체인에 기록되고 거래소 내부 거래는 내부 DB의 숫자만 변경됨
- 탈중앙화 거래소 특징: 거래소 지갑 없이 개인 지갑에서 암호화폐 관리 및 실제 거래 일어남
2. 탈중앙화 거래소 특징
- 중간자 없이 P2P로 거래함
- 거래 과정이 스마트 컨트랙트(smart contract) 로 진행됨
- 스마트 컨트랙트: 미리 어떤 행동이 일어날 조건을 설정해놓으면 해당 조건이 만족될 때마다 해당 행동 실행. 예를 들어 암호화폐가 특정 가격으로 떨어지면 자동매수
- 소스 레벨까지 코드 공개됨: 사기 치기 쉽지 않음
- Order book(오더북)vs Reserve(리저브)
- 오더북: 매수, 매도 주문 모아놓은 리스트/충분한 유동성 전제되어야 함(파려는 사람, 사려는 사람이 충분히 있어야 매칭이 잘 됨)
- 리저브: 매수 물량, 매도 물량을 미리 공급해 둠->이렇게 매수, 매도 물량 리저브해주는 사람들에게 거래 수수료로 보상함 / 거래를 위해 코인 가격 정할 때
- 리저브 + 자체 고정 환율 or 외부 시세 정보 등 사용하려면 대리자(Oracle)필요
- 오라클에 대한 신뢰문제 발생
- 오라클에 대한 신뢰문제 발생
3. DEX의 한계
- 낮은 유동성
- 거래량이 적으면 거래가 잘 성사되지 않음.
- kyber, air swap등 여러 프로젝트 등)
- 거래 지연
- 모든 거래가 블록체인에서 처리되기 때문에 오래 걸림
- 해결: Off-chain(블록체인 밖)에서 거래 확정 후->해당 거래 블록체인에 등록
- minor의 선행 매매
- minor(블록 생성해서 보상받는 사람)이 블록 생성 시 어떤 거래를 갖다 블록에 포함시킬지 결정함
- 거래 지연되는 동안 가격이 변하면 minor가 이를 보고 차익거래 하는 경우 발생
댓글남기기