블록체인 특징
익명성
- 50% 정도의 익명성을 보장함
- 은행 같은 경우 계좌 개설
- 은행방문 -> 신분증 제출 -> 신분 확인 -> 계좌 개설 : 등록 절차가 필요함
- 비트코인 블록체인
- 원래 존재했었던 계좌(룰에 의해 정의되어 있는) 중에 하나를 사용함
- 수 많은 계좌 중에 하나를 골라서 사용함
신뢰가 불필요한 신뢰 네트워크
- 기존 금융 - 인터넷 뱅킹
- 사람들은 진짜 은행이라고 믿고 거래를 함
- 아이디와 비밀번호를 입력하고 거래를 시작함
- 비트코인 블록체인
- 아무도 신뢰하지 않지만 신회를 만들어 낼 수 있는 네트워크(trustless trust)
불가역성
- 한 번 거래가 등록되거나 데이터가 등록되면 변조, 삭제가 불가함
- 기존의 데이터 베이스의 철학은 삽입,수정,삭제가 가능함
- 하지만 블록체인은 이런 철학과 반대임
- 바꾸고 싶어도 노드가 많으면 많을수록 불가능에 가까움
분산 환경에서의 신뢰성
- 분산 환경에서의 신회성을 얻기란 힘든 일
- 신뢰할 수 없는 사이에서도 데이터를 복제나 검증을 해야 한다면, 실시간성과 동기화를 맞추어야 함(굉장히 어려운일)
- 이러한 부분이 블록체인에서 주목을 받고 있음
모두에게 공개된 환경
- 비트코인 거래내역을 모두에게 공개되어 있음
- 모든 사람들이 거래 내역을 볼 수 있으며 저장,확인, 사용할 수 있음
- 하나의 대화 규격이고 룰임
- Active처럼 자신만의 프로토콜을 사용해서 다른 사람들 접근하기 어렵게 하다가 사용할 수 있도록 하는 것처럼 블록체인도 하나의 독립적인 프로토콜이자 룰임
- 누구나 이러한 프로토콜이나 룰에 지키기만 한다면 누구나 참여가 가능함
분산화된 거래 검증 시스템(거래 스크립트)
- 거래 만들고 거래 후 확실한 거래인지를 확인이 가능해야 함
- 기존에는 은행이 당당함
- 중앙 집중화된 방식으로 검증을 함
- 블록체인은 중앙 집중화된 방식이 아님
- 누구에게도 안물어봐도 자기 스스로가 이 거래가 올바른 거래인지를 검증하는 스크립트가 있음
- EX) 1비트코인을 a주소에서 b주소로 보낸다고 하면
- a주소에 1비트코인이 있는지 확인해야함
- a주소 주인이 a 주소에 대한 비밀번호 권한이 있는지 확인해야함
- 기존 은행은 이체를 하기 위해서 a주소에 대한 정보가 있는지 은행이 보장하고 있음
- 블록체인은 거래 스크립트를 통해 스스로 체크가 가능함
작업증명
- 분산화된 디지털 통화
- 탈중앙화된 화폐는 공개키 암호방식을 통한 소유권 관리를 위해 사용되던 기존의 알고리즘을 작업증명 이라고 알려진 합의 알고리즘과 결합함으로써 가능하게됨
- 작업증명은 두가지의 문제들을 동시에 해결 가능
- 네트워크 상에 있는 모든 노드들이 비트코인의 장부상태(state of the Bitcoin ledger)에 일어난 표준 업데이트의 집합(a set of canonical updates)에 공통으로 동의할 수 있도록 해주었음
- 누구나 합의 프로세스에 참여할 수 있도록 허용해줌으로써 합의결정권에 대한 정치적 문제를 해결할 수 있을 뿐만 아니라 동시에 sybill attacks(어떤하 한 공격자가 여러 개의 식별자를 가지고 시스템이나 네트워크를 공격하는 방법의 총칭)도 방어해 줄 수 있는 메커니즘을 제공함