Blockchain
Database 기반의 장부라고 보면 된다. 트랜잭션을 해쉬값과 함께 블록(비트코인은 대략 1MB정도의 데이터를 1블록에 담음)에 저장하고, 그 다음 블록은 이전 해쉬값과 해당 해쉬값을 같이 담아서 연결시킨다. 이것이 블록체인이다.
참고1 blockchain demo
참고2 blockchain .com
Mining
- 보통 Nounce값과 데이터값을 함께 조합하여 해쉬값을 만들어낸다.
- 이때
0
으로 시작되는 해쉬값의 nounce값을 찾는 일종의 퀴즈가 바로 ‘채굴’이다.
ex) 000000000000000...(중략)
- 난이도는 그때그때 달라진다. 많은 사람이 모여 range를 정하고 채굴하면 더 효과적일 수 있어, 마이닝풀을 통해 채굴한다.
- 참고로 이더리움은 SHA256 복호뿐 아니라, RAM끼리 그 값을 복사해야 해서 코어 계산만으로 빠르게 독점할 수 없다.
- 그래서 비트코인은 해당 해쉬값만 찾으면 되어서
ASIC
이라는 SHA256 암호값을 풀기 위해 만들어진 변형 CPU가 독점해 판매되는 반면, 이더리움에는 그런 것이 없다. - 참고로 Nounce, Prev hash 이외에도 해쉬값이 하나 더 존재한다.
- 따라서 블록은 정해진 생성시간마다 반드시 하나씩 생성되므로 블록의 주인(마이너)이 아무것도 담지 않았어도 이전 해쉬값은 기록된다.
Why Blockchain became so hot?
- Security
- 블록 하나를 조작하면 그 이후의 모든 데이터, 해쉬값 등을 함께 조작해야 하기 때문에 해커가 이 보안을 뚫을 수 없다.
- 만약 한 장부를 조작해도, 같은 장부를 모두가 공유하는 방식이기 때문에 장부들의 51%를 조작해야 한다. (51% 공격)
- 다수가 사용할 수록 그 블록체인의 P2P 세계가 견고해져, 해킹이 불가능하여 투명하다.
- 실제로 비트코인 캐시, 젠캐시 등의 알트코인들은
51%공격
이 일어나 폭락한 적이 있다.
- Token economy
- 장부를 분산시켜 투명한 거래 내역을 유지하는 블록체인 기술은 2009년 이전에도 이미 있었다.
- 하지만 비트코인 창시자라고 불리는 사토시가
공개키
와Reward정책
을 추가시키며 이 기술을 변형시켰다. - 2008년 리먼 브라더스 사태로 인한 달러의 양적 팽창 이후에 은행이 통화를 중앙집권화하는 방식을 바꾸기 위해 변형시킨 것으로 추측된다.
- 블록체인 기술을 통하면 쉽게 말하면 달러의 가치를 중앙이 아니라 다수가 직접 할 수 있다.
- 즉, 통화의 가치를 P2P로 정할 수 있다.
Uncle Block
네트워크 신호 때문에 블록체인 라인이 여러 개 생기면, 그 다음 블록을 먼저 찾는 체인라인이 살아남게 된다. 따라서 다른 체인들은 끊기게 된다. 체인이 길어야 보상이 많아져서 시장의 원리에 따라 자연스럽게 긴 체인으로 네트워크가 형성된다.
이 때문에 현실적인 트랜잭션에서 큰 문제가 발생한다.
- 운이 나쁘면 결제를 하고 블록 생성시간을 기다려야 한다.
- 결제에 성공했다고 해도 uncle block이 될지도 모른다.
- 따라서
6 confirm
(블록 뒤로 6개 블록이 붙으면 안전하다는 수학적 계산)을 기다려야 한다. - 즉, 블록체인을 통한 실제 트랜잭션은 느리다.
- 불공정한 게임이 발생한다.
- 참고: 비잔티움 장군문제