학회_공부해요/디지털포렌식

[암호화폐 수사] 04. 트랜잭션

yenas0 2024. 5. 7. 21:25
반응형

모든 자금 트랜잭션의 공통점
= 일방의 소유자로부터 타방의 소유자로 통화가 이동한다.

challenge..
수수료와 환율이 존재?
: 이러한 트랜잭션에서는 항상 돈의 손실이 생기므로 트랜잭션 비용이 많이 든다 (유럽이 유로화 한것도 이거 해결하려고)

암호화폐를 사용하면 트랜잭션을 처리할 중앙기관 필요없으니까 이런 문제 안생긴다..!


트랜잭션의 메커니즘
비트코인 주소는 base58 check 값으로 포맷됨
비트코인, 이더리움, 라이트 코인 주소가 지갑이 아님
주소는 블록체인 위에 값을 기록하거나 값이 아닌 것을 기록

1. 임의의 256비트 숫자를 선택 후 안전한 곳에 기록. 어떤 숫자도 가능하며 다른 사람도 같은 숫자를 가질까봐 걱정할 필요 없음
2. 256비트 개인키와 함께 비트코인이 사용하는 타원 곡선, 즉 ECDSA 곡선을 사용해 숫자 생성
3. 생성된 값을 SHA256으로 해시 계산
4. 위위 값을 또 다른 해시 알고리즘 RIPEMD 160으로 해시 계산
5. 위의 값을 Base58로 변환
6. 체크섬 추가
7. 접두부 추가

하나의 개인키에서 약 20억 개의 공개키 생성

트랜잭션 유형
1. P2PKH: 비트코인의 표준 트랜잭션. 공개키 주소에서 다른 주소로 값을 트랜잭션.
2. Multisignature: 다중 서명은 주소가 가진 값을 트랜잭션하는 경우 하나 이상의 개인키를 요구. 주소는 숫자 3으로 시작
3. P2SH: 다중 서명은 P2SH 트랜잭션의 예. 다중 서명 주소는 3으로 시작하지만 주소가 가진 값이 다시 트랜잭션되기 전에 우선적으로 수행해야하는 요구 사항 설정할 수 있음.

트랜잭션 상태
1. 소비된 상태: 트랜잭션의 주소값이 다른 주소로 이동
2. 소비되지 않은 상태: 트랜잭션의 주소값이 아직 소비되지 않았다는 의미.

멤풀
트랜잭션의 보관 장소
아직 완전한 블록에 포함되지 못한 트랜잭션들은 멤풀 안에 보관.




ScriptSig, ScriptPubKey
scriptsig: A가 트랜잭션의 소유자임을 증명. 잠금 해제할 수 있도록..
scriptpubkey: 소유를 이전하기 위해 A의 트랜잭션 스크립트를 B의 공개키로 잠구는 것

스택
: 한번에 하나씩 수행. LIFO


- json에서 데이터 추출하는 방법 실습해보았다
- 잠금 해제 스크립트와 잠금 스크립트가 하나의 주소에서 또 다른 주소에서 소유권을 이전시킬 수 있다.
- 트랜잭션은 멤풀에 보관된다.


반응형