TIL05 Blockchain Transaction

shnae·2023년 10월 25일
1
post-thumbnail

💡 Today I Learned

블록체인의 블록 생성 과정에 대해 알아보았다.
  • 새로 배움: 거래를 일으킨 주체와 블록을 생성하는 채굴자는 동일인물이 아닐 수 있다
  • 오늘의 하이라이트: 블록 생성이 성공하기 위한 규칙이 정해져있고, 그 규칙을 만족하는 블록이 생성된다. 논스값을 변경하며 규칙을 충족하기 위한 연산을 한다.
  • 궁금한 내용: 루나코인은 왜 망했는가?

  1. 블록체인 트랜잭션에 사용되는 키를 구분할 수 있다.
  2. Nonce의 역할을 이해한다.
  3. 블록체인 수수료와 보상의 역할을 이해한다.

리서치 방법론

  1. 뭐가 문제인가
    • 통계 참고: 데이터를 통해 문제라고 인식되지 않아도 문제로 볼 수 있는 것들이 있다
      - 통계청, 서울연구원, 경기연구원 등
    • 신문 참고
  2. 이걸 해결하기 위한 어떤 방식이 있었다
  3. 나는 이렇게 해결할 것이다
  4. 결과는 이러했다

블록체인 구조

블록체인 헤더

블록 자체에 대한 메타데이터
블록 해시와 연결되어 있다
실제로 중요한 것은 거래 정보다 -> 누군가에게 영향을 미쳐야한다

  • 그러려면 해시가 바껴야 한다.
  • 바디 데이터를 가지고 머클 해시를 만든다 -> 머클해시가 트리를 만든다
  • 거래 정보가 변경되면 머클해시가 변경되고, 머클해시가 변경되면 블록해시가 변경된다

블록체인 바디

거래 정보가 담겨있다 -> 머클해시의 재료

✦ 블록체인의 해시값은 블록 자체에는 포함되어 있지 않다


블록체인 트랜잭션

Public & Private Key & Address

개인키로 디지털 서명을 만든다
공개키로 비트코인 주소를 만든다

  • 왼쪽에서 오른쪽으로는 가능하지만, 오른쪽에서 왼쪽으로는 불가하다

거래소는 블록체인이 아니라 중앙화된 DB다

공개키

개인키


블록체인 마이닝

채굴이란?

  • 이자를 캔다고 해서 파밍이라고 한다.
  • 증명과 함께 블록을 뿌리는 행위다.
  • Hash, Nonce는 변하는 값이다

프로세스

  • target 값 보다 작으면 채굴에 성공, 크면 논스값을 변경한다
  • 블록을 생성하게 해주는 권한에 대한 규칙 필요 -> 어려워야겠지?
    • 타깃값은 지난 블록이 생성된 시간과... 시간과 상관관계가 있는 수식이 있다
      • 10분에 1개씩 만들어져야 한다
        • difficulty에 따라서 타깃이 정해진다
    • 난이도와 연관되어 있다
    • 시스템에 의해 정해진다 (bits, difficulty도)
      • 코어 개발자가 만들어놓은 코드에 의해서 정해지고 규칙이 정해지면 채굴하는 사람이 그걸 알 수 있다 (깃헙 리포지토리)
  • 블록해시 생성 -> 타깃값과 비교 -> 작으면 채굴 성공 -> 크면 논스 변경 -> 반복
    • 🙋🏻‍♀️ 왜 작아야 하는가?
      • 난이도가 더 높으려면 값이 더 작고, 난이도가 더 낮으려면 값이 더 높아야한다! -> 발생할 확률이 적으면 난이도가 적어지는것 (앞에 나와야하는 000의 개수가 많아지는 것과 같은 것. 000이 많아질수록 수가 작다는 얘기니까)
        16진수의 최대값은 FFF...FFF인데, 더 큰 값으로 설정해주는 경우 그 이상으로 올라갈 수 없다 (한계성 때문에) -> 최대치에서 낮추려는 의도
  • 생성된 블록은 체인의 가장 끝에 붙는다
  • 채굴은 컴퓨터를 가진 누구나 할 수는 있다

블록보상 및 수수료

  • 블록을 생성한 사람에게 거래보상과 수수료의 합을 준다
  • 수수료가 높을 수록 거래가 처리되는 속도가 빨라진다 (순위가 높아진다)
  • 🙋🏻‍♀️ 거래를 하는 당사자들이 블록을 생성하나요?
    - 거래를 하는 사람들은 따로 있고, 보통 채굴자는 블록 생성 후 나르는 작업을 한다고 보면 된다. 제3자가 채굴하게 된다. 수수료가 높은 거래를 위주로 블록을 생성하고 나르게 된다. 거래를 일으킨 주체와 채굴자가 다른 사람인 경우가 많다.

실질적인 영향

  • 채굴이 성공해야 체인 시스템이 유지된다
  • 채굴자들은 이득을 얻을 수 있다 (거래 수수료와 블록 보상 -> 전기가 사용되기 때문)
  • 실질적으로 블록체인 시스템이 지속가능하게 발전될 수 있는 이유
  • 사용자가 일으킨 거래가 완료되는데 기여한다. (finalized)

🙋🏻‍♀️도대체 왜 이런 걸 하나요?

네트워크 해시레이트 57%

  • 과반수 이상을 가지고 있는 상황

루나코인은 왜 망했나?

0개의 댓글