유명한 담벼락

블록체인과 암호화폐

by 담담이담

암호화폐

블록체인에서 거래 수단으로 사용되는 디지털 화폐

 

암호화 기술을 기반으로 만들어져서

안전하게 거래할 수 있음

 

대표적인 암호화폐가 

'비트코인'

 

비트코인은 블록체인 기술을 활용해서 만든

최초의 암호화폐

 

비트코인은 

'사이퍼펑크'라는 사회운동에 뿌리를 두고 있음

 

사이퍼펑크

- 기업, 정부에서 수집한 개인정보가

감시나 검열에 악용되는 것에 대한 반발로 시작된 사회운동

 

- 개인정보를 보호하기 위한 암호화 기술을 주로 연구

 

- b-money, bitgold는 비트코인 등장에 많은 영향을 줌

비트코인

은행 같은 금융기관을 거칠 필요 없이

개인 간 자유로운 거래가 가능한 디지털 화폐

 

비트코인을 주고받은 거래내역은

금융기관의 중앙 서버 대신 

수많은 노드에 동일하게 기록됨

 

이 때 거래 내역을 서로 체인처럼 연결되어있는

블록 안에 저장한다고 해서

비트코인에 활용된 기술 전반을 블록체인이라고 부르게 됨

 

-> 즉, 블록체인은 비트코인과 함께 탄생한 기술

블록체인이라는 거래 시스템 위에

비트코인이라는 암호화폐 거래가 이뤄짐

나라마다 다른 화폐를 사용하는 것처럼

블록체인마다 사용하는 암호화폐도 다름

 

비트코인 블록체인 -> 비트코인 사용

이더리움 블록체인 -> 이더 사용

 

암호화폐는 블록체인을 구성하는 노드가

화폐 발행 과정에 참여함

 

비트코인은 채굴이라는 과정을 통해 발행됨

 

채굴(Mining)

노드가 새로운 블록을 만든 것에 대한 보상으로

새로 발행된 비트코인을 지급받는 것

시스템에 정해된 규칙대로만 발행됨

 

예)

 

비트코인이 처음으로 발행된 2009년에는 

블록 하나 당 비트코인이 50개씩 발행됐지만,

4년 주기로 발행량이 줄어듦

 

2140년 경에는 발행량이 모두 소진되어서 

이미 발행된 비트코인을 주고받는 것만 가능해질 것임

 


주소(address)

계좌번호와 비슷

A에게 암호화폐를 보내려면

A의 주소를 알아야하고,

 

개인키(private key)

계좌 비밀번호와 비슷

A의 주소에 있는 암호화폐를 사용하려면

A의 주소에 대응되는 개인키를 알아야함

 

주소와 개인키는 쌍을 이룸

개인키가 시스템에서 무작위로 만들어지고 

개인키 값으로 주소가 만들어짐

 

이 때, 개인키로 주소를 만드는 건 가능하지만

주소로 개인키를 알아내는 건 불가능

 

즉, 직접 알려주지 않는 이상

다른 사람은 나의 개인키를 알 수 없음

 

자기 개인키를 잃어버려도

다시 알아낼 방법이 없음

그러면 자신의 주소에 있는

암호화폐를 사용하지 못하게 되므로

잃어버리지 않도록 유의해야함

 

개인키, 주소값을 새로 만들거나

보관할 수 있는 곳을 

암호화폐 지갑이라고 함

 

핫 월렛(Hot Wallet)

 

항상 인터넷에 연결되어있는 지갑

pc, 스마트폰에서 사용할 수 있는

소프트웨어 형태의 지갑

 

은행 앱, 웹에서 새 계좌를 만들거나

보유 계좌를 조회할 수 있는 것처럼

핫 월렛을 이용해서

개인키와 주소값을 생성해서 보관할 수 있음

 

대표적인 핫 월렛 

METAMASK

Trust Wallet

EXODUS

 

콜드 월렛(Cold Wallet)

인터넷에 저장되어 있지 않은 지갑

 

개인키를 저장할 수 있는 저장 장치

평소에는 인터넷 연결이 끊겨있다가

거래를 할 때만 인터넷에 연결

 

항상 인터넷에 연결되어있는 핫 월렛에 비해 

해킹 위험이 적음

 

대표적인 콜드 월렛

LEDGER

TREZOR

 

 

 


암호화폐 거래 과정

 

코드 표시 

원화 - KRW

달러 - USD

비트코인 - BTC

 

소수점 단위로 거래 가능

비트코인의 최소 거래 단위는

0.00000001 BTC

= 1 사토시

 

 

1) 이런 내용으로 이뤄진 거래 데이터를 트랜잭션이라고 함

거래 수수료로 얼마낼 건지도 정해야함

 

디지털 서명도 첨부해야함

거래에 사용된 암호화폐가 '영훈'이의 것이라는 걸 증명

디지털 서명은 영훈이의 개인키가 있어야만 만들 수 있기 때문

 

2) 이렇게 만들어진 트랜잭션 데이터를

블록체인 네트워크에 전송하면

3) 각 노드는 전달받은 트랜잭션이 유효한 것이 맞는지 검증

 

영훈이 주소에 충분한 잔액이 있는지,

디지털 서명은 영훈이 것이 맞는지 확인

 

유효하지 않은 트랙잭션은 버려지고,

4) 유효한 트랜잭션은 멤풀(Mempool)이라는 

임시 저장소로 이동

 

5) -> 누군가 멤풀의 트랜잭션을 블록에 담아서

블록체인에 추가해줘야 

트랜잭션이 확정되었다고 할 수 있음

 

 이렇게 새로운 블록을 만든 노드에게는 

6) 보상으로 비트코인이 주어짐

이러한 과정을 채굴이라고 함

 

채굴에 성공한 노드는 

새로 발행되는 일정량의 비트코인과 함께 

블록에 담겨있는 트랜잭션 수수료를 받을 수 있음

 

대부분의 노드는 많은 이익을 얻기 위해

수수료가 높은 트랜잭션부터 블록에 담음

 

트랜잭션 수수료는 거래를 하는 사람이 정함

빨리 처리되길 바라면 수수료를 높게 측정


블록체인에서는

노드가 새로운 블록을 추가하고

새로운 암호화폐가 발행되는 과정이 계속 반복

 

새로운 블록을 만들 때마다 

수많은 노드 중 어떤 노드가 

대표로 블록을 만들지 정해야함

 

이 때, 블록체인에서 사용되는 합의 알고리즘에 따라

대표 노드를 선정하는 방식이 달라짐

 

대표적인 합의 알고리즘은

비트코인에서 사용하는 '작업 증명'

 

작업증명(Proof of Work, PoW)

노드가 풀어야하는 어려운 연산 문제가

시스템에서 자동으로 주어짐

 

타겟 값보다 작거나 같은 블록의 해시값을 찾는 것임

 

이 문제의 답을 가장 빨리 찾는 노드에게

블록을 만들고 암호화폐를 받을 수 있는 권한을 줌

 

이런 작업 증명 방식을 기반으로 새로운 노드가 추가되고

암호화폐가 발행되는 과정을 채굴이라고 함

 

채굴에 참여한 노드를 채굴자라고 함

채굴자는 비어있는 새 블록에 트랜잭션을 넣음

블록 하나에는 일반적으로 수 백 ~수천 개의 트랜잭션이 담김

채굴에 성공하려면 어떤 연산 문제의 정답을 찾아야함

 

 

 

 

둘 다 16진수로 표현되어있음

 

채굴자는 어떻게 조건에 맞는

블록 해시 값을 구할 수 있을까?

 

논스

블록에 존재

채굴자가 마음대로 정할 수 있는 숫자값

0부터 시작해서 숫자를 올림

 

논스값을 바꿀 때마다 해시값이 달라짐

채굴에 성공하려면 조건에 맞는 해시값이 나올 때까지

논스값을 바꿔야함

 

-> 따라서 반복작업을 빠르게 할 수 있는

사양 좋은 컴퓨터를 사용하면 채굴 성공 확률이 높아짐

 

조건에 맞는 해시값을 찾으면

그 값은 새로운 블록의 해시값이 되고

그 때 사용된 논스값은 그 블록의 논스값이 됨

 

이 때 채굴자는 새로 발행된 일정량의 비트코인과

거래 수수료의 합계에 해당하는 비트코인을

보상으로 받을 수 있음

 


채굴을 통해 새로 만들어진 블록은 

블록체인에 추가되기 전 

다른 노드들의 검증을 거쳐야함

 

이런 검증 과정을 통해 과반수의 노드가 

유효하다고 판단한 블록만

블록체인에 추가될 수 있음

 

 

이렇게 블록이 추가된 뒤 

새로운 블록을 추가하기 위한 

채굴경쟁이 다시 시작

 

유효하지 않은 블록은 블록체인에 추가될 수 없고

그 블록을 채굴한 노드도 보상을 받지 못함

 

그런데, 누군가 과반수 이상의 노드를 통제할 수 있다면

자기 마음대로 블록을 추가하는 것도 가능하지 않을까?

 

이게 가능하다면,

다른 사람의 암호화폐를 자신에게 보내는

가짜 트랜잭션을 만들어서 

암호화폐를 훔칠 수도 있을거임

 

이런 걸 51% 공격이라고 함

 

사실 전 세계에 분산되어 있는 노드를 

절반이나 통제하는 건 현실적으로 불가능함

물론 소규모의 블록체인이라면 가능할지도 모름

 

하지만 블록체인에는 이를 막을 수 있는 

근본적인 요인이 존재

 

누군가 과반수의 노드를 통제할 수 있을만큼

고성능의 컴퓨터장비를 독점하고 있을 때,

이 사람은 암호화폐를 훔치지 않더라도 

채굴을 통해 많은 이익을 얻을 수 있을 거임

 

그럼에도 51% 공격이 이뤄진다면

안전하지 않은 블록체인을 이용하고자 하는 사람은 없을 거임

신뢰가 무너지면 암호화폐의 가치도 폭락하니

훔친 암호화폐가 휴지조각이 됨

훔치는 것보다 정직하게 채굴하는 게 더 큰 이득임

 

즉, 블록체인에서는 암호화폐라는 보상수단을 통해

시스템의 보안과 안정성을 유지할 수 있음

 

 

 

'블록체인' 카테고리의 다른 글

블록체인의 미래  (0) 2023.08.20
블록체인과 스마트 컨트랙트  (0) 2023.08.16
블록체인이란?  (0) 2023.08.15

블로그의 정보

유명한 담벼락

담담이담

활동하기