척척석사가 되어보자
Bitcoin: A Peer-to-Peer Electionic Cash System 본문
논문 용어 정리
비트코인 기본 원리 및 개념
: 일반적으로 돈 거래를 할 때, 우리는 은행같은 중앙관리자를 거쳐 돈이 오고간다. 하지만 비트코인은 중앙관리자를 거치지 않고 사용자대 사용자로 바로 거래를 하는 형식이다. 또한, 모든 사용자의 거래내역이 비트코인을 사용하는 모든 사람들에게 저장됨으로써 거래자의 신용 등급을 판단하여 거래할 수 있다. 만약 , 해커가 의도적으로 거래 내역을 조작하려면 전세계의 거래내역이 있는 컴퓨터를 모두 해킹해야 하고, 그 순간에도 거래가 진행되기 때문에 단 한대의 컴퓨터가 남아있으면 거래내역을 복구할 수 있어 사실상 거래내역 조작은 불가능하다. 이렇게 거래내역을 사람들과 공유하며 비트코인을 거래하는 것이다. 비트코인은 일정시간에 한번씩 생산이 되는데 이 코인을 가져가려면 숫자의 12자리를 맞추어야 한다. 따라서 비트코인만을 채굴하는 회사는 슈퍼컴퓨터를 몇대씩 돌린다. 이 논문은 '이중지불'(뒤에 설명함)을 방지하기 위해서 '작업증명'을 사용하는 'p2p' 네트워크를 소개한다.
작업증명 (PoW) 방식
- 비트코인을 채굴하기 위해 경쟁하는 방식. 더 많은 문제를 풀 수록 보상 금액이 커지고 자연스럽게 더 높은 보상을 얻기위해 빠른 연산력 을 원하게 된다. 해시함수는 랜덤으로 숫자를 방출하여서 어떤 nonce값을 대입해야 target보다 작은 값(정답)을 찾을수 있는지 모르기 때문에 nounce를 0부터 1씩 올리며 무한반복한다. 더 많은 연산을 했을 경우 확률적으로 문제를 해결할 확률이 높아서 더 많은 보상을 받게된다.
따라서 PoW는 많은 일을 한 사람에게 더 많은 보상이 주어지는 방식이다.
(참고: https://steemkr.com/kr/@yahweh87/21-pow)
P2P
- 중앙서버 없이 컴퓨터와 컴퓨터간을 연결해 주며, 프로그램 엔진만 만들면 되기 때문에 매우 간편하게 파일을 전송할 수 있는 장점이 있다.
이중 지불
- 온라인 상에서 발생하는 문제로, 돈을 지불할때 시간차를 이용해서 돈이 잔고에 없어지기 전에 다시 지불을 하는 상황.
예를들어, 잔고에 100만원이 있는데 100만원을 지불해서 잔고가 0이 되기 전에 또 지불을 할 경우, 현실에서는 불가능하다.
SHA256 해시
- 해시 함수의 일종이다. y = f(x)에서 일반적으로 y를 알면 x도 알수 있는데 y = hash(x)에서는 랜덤으로 생산해내기 때문에 알 수 없다. 이 알고리즘의 hash의 결과값은 32bit 8개를 병렬로 늘어놓은 값이다. 따라서 32x8 = 256bit이므로 SHA256이다.
Adam Back's Hashcash
- 해쉬함수에 의한 해시값을 찾는 것...
머클트리(Merkle Tree)
- 최소한의 정보로 블록체인을 인증하기 위해 블록의 정보를 나누어서 트리형태로 저장.
ex) 12345678(root) -> (1234, 5678) -> (12, 34) , (56, 78) -> (1,2), (3,4), (5,6), (7,8) 여기서 '8'이 실제 거래자료인지 확인하려면
'7'과 '56', '1234' 노드를 본다. 7과 8이만나 78이 되고, 56과 78이 만나 5678이 되고, 1234와 5678이 만나 12345678이 된다. 이 값을 root와 비교하여 일치하면 올바른 거래내역, 일치하지 않으면 거짓된 거래내역으로 판단한다. 따라서 유효성 검증시간은 log(n)만큼 된다.
포아송 분포
- 단위 시간 안에 어떤 사건이 몇 번 발생할 것인지를 표현하는 이산 확률 분포이다.
'논문 > 용어 & 개념' 카테고리의 다른 글
Auto-Encoding Variational Bayes (0) | 2018.09.26 |
---|---|
Distributed Representations of Words and Phrases and their Compositionality (0) | 2018.09.18 |