* Bitcoin Transaction (비트코인 거래)
1. 트랜잭션 생성 및 서명
비트코인 트랜잭션 내용을 개인키(비밀키)로 서명한다. 전자 서명의 동작 원리는 아래와 같다.
1) 해시 생성
평문 원본 문서가 해시함수를 통과하여 해시 값을 생성한다.
2) 암호화 및 전송(전자서명 생성 및 전송)
발신자는 비밀키(개인키)를 통해 위에서 생성된 해시를 암호화한다. 암호화된 해시값은 전자서명이 된다. 암호화된 서명이 포함된 메시지가 수신자에게 전송된다.
3) 해시값 복호화(전자서명 검증)
수신자는 발신자의 공개키를 사용하여 발신자의 개인키로 암호화된 원본 해시 값을 복호화한다. 복호화된 해시값과 수신자 자신이 새로 생성한 해시값을 비교하여 두 값이 일치하면 중간에 변조되지 않았다는 메시지의 무결성이 확인된다.
2. 트랜잭션 브로드캐스팅
서명된 트랜잭션은 비트코인 네트워크에 있는 모든 노드들에게 브로드캐스트 된다.
3. 서명 검증
각 노드는 송신자가 제공한 공개키를 사용하여 트랜잭션이 송신자에 의해 서명된 것이 맞는지 확인한다.
* Wallet and Tx
비트코인 지갑은 비트코인을 사용할 수 있는 키를 저장하는 프로그램이다. 이 키를 사용하여 트랜잭션을 생성하고, 비트코인 네트워크에서 비트코인을 주고받을 수 있다.
- 개인키(비밀키) : 트랜잭션을 서명, 다른 사람과 키 공유 x
- 공개키 : 개인키로부터 생성되는 공개키는 비트코인 주소를 만드는 데 사용된다.
* Genesis Block and Blockchain
Genesis Block은 블록체인 네트워크의 첫 번째 블록을 말한다. 최초 생성된 블록이므로 다른 블록과 달리, 이전 블록의 해시값이 존재하지 않는다.
블록은 블록 헤더와 블록 바디로 구성되어 있다. 헤더에는 이전 블록의 해시를 포함한 세부사항이 들어있고, 바디에는 실제 트랜잭션 데이터를 담고 있다.
* Block Structure
블록 헤더 구성요소
- 버전(Version) : 블록이 생성된 소프트웨어 버전
- 이전 블록 해시 : 이 값이 블록체인의 연속성 보장
- Timestamp : 블록이 생성된 시간
- Bits : 네트워크에서 설정한 채굴 난이도
- Nonce : 마이너가 올바른 해시값을 찾기 위해 조정하는 변수
- Merkle Root : 블록 내 트랜잭션들의 해시 값을 결합한 최종 해시 값
'전공수업 > 블록체인' 카테고리의 다른 글
[블록체인] 암호화 (1) | 2024.10.04 |
---|---|
블록체인 작동 원리 (1) | 2024.09.11 |
댓글