Home [BlockChain] Blockchain Transaction flow
Post
Cancel

[BlockChain] Blockchain Transaction flow

Blockchain Transaction flow

image

1. 작동 시작

만약 민지가 철수한테 비트코인을 보내고 싶어한다면, 민지는 비트코인이 저장되어있는 휴대폰이나 컴퓨터의 비트코인 지갑 어플을 열어볼것이다.
(지갑 어플은 보통 공짜로 받을 수 있음)
(비트코인이나 이더리움은 단순히 블록체인의 특정 기능을 이용한 암호화폐인데, 비트코인은 비트코인만 거래하고, 이더리움은 이더만 거래할 수 있음! 그러니깐 민지가 사용하는 지갑 어플은 비트코인 지갑일 것이다.)

2. Smart Contract가 발동됨

민지가 네트워크에 거래를 보내게 되면, 네트워크의 노드들이 smart contract를 발동한다. 근데 이제 그 smart contract가 어떤일을 하냐면, 민지가 사용할 수 있는 비트코인이 있는지 아니면 이미 다 써버렸는지를 확인한다.
확인이 되면 그 거래는 제안된 블록(proposed block)에다가 추가된다.

3. Operators가 Transaction을 뿌림

제안된 블록이 이제 peer-to-peer 프로토콜을 통해서 네트워크에 뿌려진다

4. 합의하기

이제 블록체인 시스템에서 가장 중요한 부분이라고 볼 수 있는 지점이다.
비트코인 네트워크에서 그 블록 (이전에 제안된 블록)을 검증하기 위해서, 노드들이나 채굴꾼들이 수학문제 (아주 어려운) 를 계산하면서 유효성 검사를 하게된다. 비트코인은 이러한 검증을 Proof of Work 라는 개념을 통해서 진행한다.
(요 부분은 추후에 다시 다룰 예정. 비잔티움 장애 허용이라는 문제를 해결하기 위해서 비트코인이 제안한 방법)
어쨌든 그 Proof of Work 의 수식을 가장먼저 해결한 노드는 새롭게 채굴된 비트코인을 보상받는다. 일단 그 문제(수식)의 솔루션이 나오면 다른 노드들은 쉽게 이 제안된 노드가 정확한지 알 수 있게되고 새로운 블럭은 블록체인 네트워크에 추가된다

5. 새로운 블록 뿌리기

이 블록은 처음에 제안된 거래를 위해서 우리가 사용하는 peer-to-peer 커뮤니케이션을 통해 네트워크에다가 뿌려지게 된다.
Block operator가 새로운 블록의 사본을 받게되면 분산 장부에다가 그 사본을 추가한다. 이건 현재 네트워크에 참여하고 있는 멤버들이 모두 현 상태에 대해서 동의한다는 것을 보장한다!

6. 거래 완료

사용자의 지갑은 사용자와 연관된 거래가 포함된 새로운 블록이 생성되는지를 계속 바라보고 있다.
사용자의 작동에 대한 코드가 포함된 블록이 있다는 것을 확인하게 되면, 그 사용자가 요청했던 동작이 수행되었다고 지갑이 알람을 보낸다.
민지가 철수에게 비트코인을 전송한다는 내용을 담은 블록이 블록체인 시스템에 추가되면, 그 거래가 영향을 끼친 지갑에 알람을 보내줄 것이다.

출처 : https://learning.edx.org/course/course-v1:LinuxFoundationX+LFS170x+2T2021/

This post is licensed under CC BY 4.0 by the author.