패키지
비트코인 개념과 거래원리 본문
비트코인 개념
- 2009년 사토시 나카모토가 만든 암호화된 가상화폐.
- 컴퓨터로 복잡하게 프로그래밍된 암호를 풀면 지급되는 암호통화다(최초발생).
- 소스공개 이후 등장 하는 암호화폐는 이더리움, 라이트코인, 대시, 리플 등(알트코인이라고 함?)
- 즉, 암호화화폐는 종류가 다양하고 가격도 천차만별.
비트코인(암호화폐)의 특징
- 발행주체(ex: 중앙은행)없이 컴퓨터만 있으면 비트코인을 일정량 만들어지도록 보장함.
- 컴퓨터를 이용해 비트코인 암호화를 푸는 프로그램을 작동시켜 동작함(채굴이라고함).
- 많은 컴퓨터가 문제를 풀수록 문제의 난이도가 높아져 전체 비트코인 시스템 보안성이 더 강화된다.
- 비트코인 채굴은 많은 양의 연산을 이뤄내야 하기 때문에, 고가의 그래픽카드가 다수 필요하고 발열을 대비하여 환기시스템이 필요, 전력량도 만만치 않다.
비트코인의 거래 특징
1. 비트코인으로 거래시 거래를 생성하는 사람과 거래 서명을 하는사람이 같을 필요가 없다.
2. 거래가 생성되면 누가 거래를 생성했든 자금원의 소유자가 해당거래에 서명을 해야 한다.
3. 서명이 완료되면 거래가 유효화 되고 돈의 송금에 필요한 모든 정보가 담긴다.
4. 거래정보는 비트코인 네트워크에 전송되어야 한다. 이때 정보를 전송하는 사람과 노드 상호간에는 '신뢰'라는 것이 필요가 없다.
(수 많은 비트코인 노드들 중 하나에 이 거래데이터가 도달되어야 한다.)
* 기존 신용카드 거래는 민감정보를 포함, 중앙화 기관이 관리하는 암호화된 네트워크에서만 거래 전송이 가능. 중앙기관에 대한 '절대적 신뢰'가 필요하다.
반면 비트코인 거래정보는 개인키나 인증서를 포함하지 않아, 어떤 방식으로든 (bluetooth, NFC, Wifi) 하나의 노드에만 전송되면 된다. 그렇기에 누구라도 기관에 가입과 신뢰가 필요없이 손쉽게 거래를 성사시킬 수 있다.
5. 거래정보가 하나의 노드에 도달하면 이 노드는 비트코인 네트워크 상에 있는 모든 노드에게 이 거래정보를 전파 해야 한다.
6. 비트코인 네트워크는 P2P를 기반으로 하기 때문에 모든 노드는 동등한 지위를 가지고 있고 정보 하나를 수천개의 노드에 전파하는데 불과 몇 초도 걸리지 않는다.
7. 각각의 노드들이 거래를 유효화하고 각자가 정보 전송의 시발점이 되는 역할을 하기 때문에 공격자는 어느 곳을 공격할지 알 수 없게 되어 보안이 더욱 강화된다.
8. 전파되는 과정에서 채굴을 하고 있는 노드에 의해 검증된 후 이 거래정보가 영구적으로 블록에 기록되고 있고 이때가 되야 비로서 BTC를 전송했다고 할 수 있다.
9. 거래내역은 과반수의 해시파워가 검증을 했기 때문에 이미 올라간 기록을 다시 바꾸기도 불가능 하다.
(중앙화된 서버는 합의 없이 분산화 장부보다 비교적 훨씬 쉽게 변조 가능.)
* 해시파워 :
- 해시(hash) : 암호화 되어있는 문제를 계산할 수 있는 알고리즘. 2진수 입력에 대한 디지털 지문.
해시율이 높을수록 난이도가 높은 가상화폐를 채굴 할 수 있다.
- 해시파워 : 문제를 풀 때의 속도. 해시파워의 단위는 H/s, MH/s, GH/s, TH/s 4가지.
해시파워가 높을수록 초당 계산할 수 있는 문제가 많아지므로 채굴을 더 빨리 할 수 있다.
- 해시레이트 : 초당 해시 값을 계산한 횟수의 총합
10. 결국, 비트코인의 거래과정은
입력값(전송될 내용과 금액)과 출력값(그 금액의 목적지인 비트코인 지갑)까지 가치의 전송을 인코딩하는 데이터 구조.
- 카카오페이를 이용해 스마트폰으로 금액을 이체할 경우, 스마트폰에 금액 입력, 계좌비밀번호 입력, 인증서 비밀번호 입력을 통해 쉽게 거래한다.
- 비트코인 거래도, 보낼금액에 몇 BTC를 보낼지 입력하는 입력값과, 해당 입력값에 대응하는 지갑주소에서 몇 BTC를 나타내는 출력값이 생긴다. 그리고 이 출력값은 블록에 기록된다.
- 이 출력값(output)은 지갑에 찍히는 '잔액 덩어리'이다.
- **비트코인 거래의 구성은 '소비되지 않은 거래의 출력값으로 구성된다.(Unspent Transaction Output : UTXO)
출처
- https://steemit.com/kr/@easyblockchain/2odxha-1
- http://midastv.tistory.com/99
- https://www.ventascorp.com/news/?mod=document&uid=40
'기타' 카테고리의 다른 글
pc성능과 코어/클럭과의 관계 - 지디넷코리아 기사 요약 (0) | 2018.10.03 |
---|---|
윈도우 환경변수, 시스템변수와 사용자변수의 차이 (5) | 2018.01.10 |
Github에 로컬파일 올리기(git push) (0) | 2017.12.15 |
깃허브, failed to push some refs to~,Updates were rejected because the remote contains work that you do not have locally 에러 (2) | 2017.12.15 |
Several ports (8080, 8009) required 톰캣 에러 (0) | 2017.12.05 |