needmoreeasy EN 한국어
배우기

17 — 암호화폐 장부 — 상태와 거래

★★★☆☆ (3/5)암호화폐 장부와 거래
선수 지식
03 — 저장, 06 — 조건, 07 — 동안
결과물
잔액·거래번호·수수료·발행량을 검증하는 작은 암호화폐 상태 장부

전체 니드모어코인 가이드

이제 블록체인 학습 예제는 단순한 해시 목록 대신 NeedMoreCoin이라는 하나의 암호화폐 예제 세트를 사용합니다. 여섯 버전은 문장형/초급/고급 × 한국어/영어로 같은 핵심 규칙을 보여 줍니다.

가장 쉬운 시작은 다음 파일입니다.

nme 검사 examples/needmorecoin-sentence.ko
nme 실행 examples/needmorecoin-sentence.ko

한국어 문장형 파일은 한글·숫자·공백만 사용하며, 모든 비어 있지 않은 줄이 실제 NME 문장으로 컴파일되는지 자동 테스트합니다.

장부가 기억해야 하는 것

니드모어코인의 상태는 주소별 잔액과 마지막 거래번호, 총 발행량입니다. 거래가 도착하면 바로 잔액을 바꾸지 않고 다음 순서로 검증합니다.

  1. 거래 증명이 보내는 주소와 정확한 거래 내용에 맞는지 확인합니다.
  2. 금액이 0보다 큰지 확인합니다.
  3. 잔액이 금액 + 수수료 이상인지 확인합니다.
  4. 거래번호가 직전 번호보다 정확히 1 큰지 확인합니다.
  5. 모두 통과한 뒤에만 보내는 잔액을 줄이고 받는 잔액을 늘립니다.

거래번호는 같은 서명된 거래를 다시 제출하는 재전송 공격을 막는 상태입니다.

통화량 규칙

예제는 100코인에서 시작하고 거래 블록을 채굴할 때마다 10코인을 새로 발행합니다. 수수료는 새 발행이 아니라 보내는 사람에서 채굴자로 이동합니다. 따라서 검증이 끝난 뒤에는 항상 다음 성질이 성립해야 합니다.

모든 지갑 잔액의 합 = 초기 발행량 + 채굴 보상들의 합

이 등식이 깨지면 상태 전이 또는 보상 처리가 잘못된 것입니다.

여섯 버전 비교

  • 문장형 한국어: needmorecoin-sentence.ko.nme
  • 문장형 영어: needmorecoin-sentence.en.nme
  • 초급 한국어: needmorecoin-beginner.ko.nme
  • 초급 영어: needmorecoin-beginner.en.nme
  • 고급 한국어: needmorecoin-advanced.ko.nme
  • 고급 영어: needmorecoin-advanced.en.nme

다음 18 — 작업증명에서는 이 거래 상태를 이전 블록 해시와 함께 묶고 실제 SHA-256 작업을 반복해 블록을 채굴합니다.

GitHub에서 이 문서 보기