블록 체인 계좌 주소
- 계좌 주소 - 비트코인
- 한 명을 하나의 노드라고 함
- 각 노드는 모두가 동일한 데이터를 가짐
- 네트워크에 참여한 비트코인을 사용하는 사람(프로그램)
- 하나의 노드로써 참여하게 되면 모든 데이터를 동일하게 유지하면서 동기화하고 검증하는 것이 핵심임
비트코인 노드 유형
- FUll node
- 비트코인 거래 정보를 전부(모든 사용자가 현재까지 진행한 거래내역 전부)를 저장하고 비트코인 사용자들의 지갑을 관리하며 비트코인 네트워크상으로 직접 거래를 만들 수 있음
- 독립형 이메일 서버와 유사함(직접 서버를 구축하여 메일을 보낼 수 있음)
- Lightweight node
- 이미 동기화가 끝나있는 서버로 연결해서 사용함
- 사용자의 지갑을 저장하긴 하지만 비트코인 거래나 네트워크에 접근하기 위해서는 제 3자가 소유한 서버에 의존함
- 거래 내역 전부에 대한 복제본을 저장하지 않음
- Web node
- 웹 브라우저를 통해 접속하며 제 3자가 소유한 서버상에 사용자의 지갑을 저장함
- 웹 메일과 유사함
채굴
- 화폐 발행
- 비트코인 생성
- 난이도
- 초기에는 50코인, 반감기가 두 번 발생, 현재는 12.5 비트코인
Elliptic Curve Digital Signature Algorithm(ECDSA)
- 이산대수 문제기반 암호 알고리즘
- 어떤 수 A를 B의 C승으로 나타낼 때 A=b^C, C의 값을 찾는 것을 이산대수 문제라고 함
- 2^C = 8 일때, C = 3
- 3^12 = 12 (mod 17)
- 타원곡선 암호에 기반한 공개키 암호방식
- RSA보다 매우 짧은 길이의 키를 사용하면서도 비슷한 수준의 안정성을 제공함
- RSA암호 시스템의 1024bit 정도의 안전도를 제공하는 ECC의 키 길이는 160bit됨
- 주로 암호화에는 사용되지 않으며,전자 서명(ECDSA)과 키 교환(ECDH)부분에서 주로 응용됨
- 타원곡선 디지털 서명 알고지름(ECDSA)
- ECDSA는 미국 연방 표준 서명 알고리즘 DSA(FIPS 186)를 타원곡선 알고리즘으로 변환한 것으로 사용저 안중애 활용됨
- 비공개 키
- 비트코인 비공개키 생성은 매우 많은 비공개 키 중에 하나를 최대한 랜덤하게 선택하는 과정
- Bitcoin private key database: http://directory.io/
- 256bit ECDSA private key(약52문자)
- 비트코인 주소 단방향 생성에 사용
- 비트코인 주소에 있는 잔고를 사용(서명)하는데 사용