트랜잭션, 세그윗, 머클트리

워뇽쿤·2022년 8월 25일
1

블록체인(BlockChain)

목록 보기
2/13
post-thumbnail

1. 트랜잭션(Transaction)

  • 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위

  • 블록은 헤더 + 바디로 이루어져 있음

    • 헤더 : 메타데이터
    • 바디 : 트랜잭션의 리스트
  • 메타데이터 정보??

    • 이 블록은 체인 중 몇 번째 블록인지?
    • 이 블록에 몇 개의 트랜잭션이 있는지?
    • 이 블록 생성은 누가 했는지?
    • 이 블록의 크기, 총 전송량 등은 얼마인지??
  • 논스(Nonce)

    • 거래 전송(Transaction)시 논스는 1씩 증가한다.
    • 논스는 계정에서 유일하며, 동일한 논스가 존재하지 않는다.
    • 같은 논스에 여러 트랜잭션 전송이 발생하였다면 해당 논스 중 제일 높은 가스비를 지불한 트랜잭션이 처리된다.
    • 비트코인과 이더리움 논스(Nonce)의 유무는 이중지불의 방지를 위해서이다.

2. 세그윗(SegWit)

  • 비트코인의 블록에서 디지털 서명 부분을 분리함으로써 블록당 저장 용량을 늘리는 소프트웨어 업그레이드
  • 특징
    • 거래 속도의 확장성 해결
    • 거래 가변성 문제 해결
    • 버전 호환

3. 머클트리

  • 블록체인에 있는 데이터의 위변조를 방지하고 데이터가 변하지 않았음을 보장
  • 여러 데이터에 대해 단계적으로 해시함수를 적용하여 하나의 해시 값으로 나타내는 데이터 구조
  • 해킹시 데이터 변조? 가 일어나면 머클루트의 해시값이 변경되고, 그러면 블록의 해더 값도 변경되게 된다. 블록체인에서는 이전 블록의 해시값을 가지고 있는데 이것또한 변경해야한다,, 그러면,, 결국 해킹을 위해서는 모든 블록의 값을 변경해야만 해킹에 성공하는데,, 해킹 성공시 얻는 보상? 보다 해킹할때 들어가는 비용이 더 막대해서 굳이? 해야하나 싶기도하고 하는 방법도 너무 어렵고,, 성공률도 매우 낮다.
    이게 블록체인이 해킹에? 안전하다는 이유이다.
profile
취미로 개발하기 @wonyongkoon

0개의 댓글