탈중앙화된 분산원장
1. 익명성
2. 추적가능성
3. 신뢰할 필요가 없음 : 신뢰 할 필요가 없다 제 3의 기관이 없다
데이터 공유를 통해 다같이 결정
4. 분산원장 : 똑같은 데이터를 가지고 있음
5. 탈중앙화 : 효율성 낮아짐, 안정성 높아짐
6. 합의 알고리즘 : 옳은 정보가 무엇인지 -> 컴퓨터 연산량이 많으면 -> 채굴하는 과정
7. 변경 불가능 : 데이터를 변조하면 코드가 변형되고 코드가 변형되면 사슬이 끊어지기 때문에
데이터 변조가 불가능 함
PoW(Proof-of-Work) : 작업 증명 방식
마이닝(채굴)이란 일종의 수학문제를 푸는것과 같다고 하였습니다. 임이의 nonce 값을 대입하여 블록 해시 결과 값을 생성하고, 생성된 결과 값이 target 보다 작을 경우 새로운 블록으로 인정받을 수 있습니다. 새로운 블록을 생성한 채굴자는 블록을 생성한 댓가로 신규로 발행되는 비트코인의 수량 및 거래 수수로를 '보상'으로 받게됩니다.
해시함수의 특징때문에 어떤 nonce 값을 대입해야 target보다 작은 블록해시 정보를 찾을 수 있을지는 알 수 없습니다. 즉 올바른 결과 값을 찾기 위해서는 nonce의 값을 0부터 1식 증가 시키면서 target 보다 작은 결과 값이 나올때까지 무한 반복 작업을 수행해야합니다.
즉 더 많은 연산을 수행한 채굴자는 더 많은 일을 했다는 의미이며, 확률적으로 많은 문제를 풀었을 경우 블록을 찾을 확률이 높아지며, 더 많은 '보상'을 받게되는거죠!
첫번째 블록을 제네시스 블록(Block #0)이라고 한다
Block Hash : 특정 블록을 구별 할 수 있는 요소 블록 헤더를 해시한 값
Version : 비트 코인 버전
Previous Hash : 이전 블록 해시 (체인이 연결 되어 있다)
Mekle Hash : 블록 바디를 해시한 값
Time : 체인에 연결된 시간
Bits : 채굴 난이도
Nonce : 채굴을 시도하면서 나오는 값
거래 정보 : 블록 체인 거래 정보
마이닝 과정(PoW 기반 시스템에서)은 막대한 양의 전력과 컴퓨터 자원을 수반하기 때문에, 마이너들의 성과는 자신이 보유한 컴퓨터 파워에 기초하며, 이를 보통 해시 파워(hash power) 혹은 해시 레이트(hash rate)라 합니다. 다양한 장소에 많은 마이닝 노드가 존재하며, 이들은 유효한 블록 해시를 찾고 새롭게 생성되는 비트코인을 보상으로 받기 위해 경쟁합니다.
그런데 만약, 해시 레이트가 충분히 분산화되어 있지 않으면 어떻게 될까요? 예를 들어, 단일 주체나 조직이 50%가 넘는 해시 파워를 갖게 된다면 어떻게 될까요? 이를 통해 벌어질 수 있는 한 가지 결과를 51%의 공격이라 부르며, 이는 다수의 공격(majority attack)으로도 알려져 있습니다.
예시)
만약 A라는 마이너가 비트코인 네트워크의 전체 해시 파워 중 51% 이상의 힘을 가지고 있다고 가정해보겠습니다. 이런 힘있는 마이너인 A가 악의적인 마음을 가지고 B에게 BTC를 판매하려고합니다.
A는 B에게 50 BTC를 송금하고, 송금한 거래 기록의 트랜잭션이 실제 블록에 담기어, 메인 체인에 무사히 연결이 되었습니다. B는 자신의 거래 내역이 메인체인에 연결되었기 때문에 안심하고 A에게 Krw를 송금하였습니다.
A는 Krw를 받은뒤 자신이 송금한 2381번째 블록에서 B에게 보낸 송금기록을 삭제하고 새로운 블록을 생성합니다. 그리고 해시 파워가 높기 때문에 남들보다 빠르게 뒤에 이어질 블록까지 생성해 나가기 시작합니다.
남들보다 훨씬 높은 연산력을 토대로 금세 자신이 만드는 블록이 메인 체인으로 인정받으며, 진짜 B에게 송금한 기록의 블록은 결국 고아 블록, 혹은 스테일 블록으로 남게되는겁니다. 그러면 A는 BTC를 송금한 기록이 없으며, B에게서 Krw만 받은셈이되죠..
51% 이상의 해시 파워를 보유 했다는 의미는, 개인이든 그룹이든 엄청난 금액의 채굴기와 전기료를 감당하면서 네트워크에 기여하고 있다는 의미가됩니다. 이렇게 많은 비용을 투자한 마이너들은 '채굴'을 통해 얻은 보상이 유지 비용보다 더 높기를 원할겁니다. (아마 유지비용도 안나오면 하지 않겠죠?)
비트코인 네트워크에는 수 많은 노드들이 있고 스테일 블록이 발생하는 과정을 통해서 어떤 거래가 조작되 있다는 사실을 파악할 수 있습니다. 이 전 과정을 지켜본 사용자들이 조작되었다는 사실을 인지하는 순간 전 세계에 있는 비트코인 보유자는 더 이상 비트코인 거래를 신뢰할 수 없다고 생각하게 되며 패닉셀이 이루어질 수 밖에 없습니다.
즉 비트코인의 신뢰도가 없어질 경우 비트코인의 가격은 저 깊은 심해로 추락하게 되겠죠. 그렇다면 누가 가장 큰 손해를 볼까요? 맞습니다. 해시 파워가 높은 사용자가 가장 큰 손해를 보게되는거죠!
즉 51% 공격은 이론적으로는 가능하나, 경제적으로는 불가능한 상황을 연출하게되는것이죠!
블록 보상 : 채굴을 한 뒤 그에 따른 보상
거래 수수료 : 가장 많은 수수료를 지불하는 사람들을 먼저 블록에 포함시킨다
블록은 평균 10분 당 1개
2016개의 블록마다 난이도 조절
= 평균 14일 마다 난이도 조절