처음 시작하기: 무엇부터 공부할지 정하기
도입
이 과정의 목표는 스테이블코인 용어를 많이 외우는 것이 아니다. 최종 목표는 stablecoin checkout 시스템을 설계하고 설명할 수 있는 상태가 되는 것이다. 사용자가 서명으로 결제하고, 컨트랙트는 권한과 한도를 지키며, 운영자는 이벤트와 정산 상태를 대조하고, 리스크가 커지면 route를 제한할 수 있어야 한다. 이후 강의의 개념과 실습은 모두 이 시스템을 완성하기 위한 부품으로 읽는다.
처음 시작할 때 가장 흔한 실패는 모든 강의를 같은 깊이로 읽으려는 것이다. checkout 기능을 만들 사람, 보안 리뷰를 맡은 사람, 운영 대시보드를 설계하는 사람, 새 표준과 체인을 평가하는 사람은 출발점이 다르다. 이 강의에서는 먼저 자신의 목표를 고르고, 첫 5개 강의를 정하고, 강의와 실습과 시험을 어떤 순서로 반복할지 정한다.
오리엔테이션에서 필요한 판단은 세 가지다. 무엇을 만들기 위해 배우는가, 무엇부터 읽어야 하는가, 언제 다음 단계로 넘어갈 수 있는가.
학습 목표
- 최종 목표인 stablecoin checkout 시스템을 한 문단으로 설명한다.
- 자신의 역할과 관심사에 맞는 첫 학습 경로를 고른다.
- 강의, 실습, 시험을 어떤 순서로 반복할지 정한다.
- 레슨 완료를 열람이 아니라 산출물 기준으로 판단한다.
개념 설명
목표 선택
- checkout 구현
- 보안 리뷰
- 운영 대시보드
- 신기술 평가
공통 기초
- 발행과 상환
- 서명 결제
- 결제 상태머신
- 권한과 중지 조건
첫 산출물
- 상태 흐름도
- 테스트 체크리스트
- 정산 대조표
- 시험 오답 노트
1. 최종 산출물을 먼저 그린다
이 과정의 최종 산출물은 단일 코드 파일이 아니다. 좋은 캡스톤은 제품 요구, 컨트랙트 경계, 결제 상태, 테스트 전략, 운영 대시보드, 리스크 판단을 한 문서 안에서 연결한다. 그래서 첫날에는 "무슨 기술부터 외울까"가 아니라 "내가 마지막에 어떤 설계를 설명해야 하는가"를 먼저 정해야 한다.
| 최종 산출물 조각 | 강의에서 배울 내용 | 완료 판단 |
|---|---|---|
| 결제 흐름 | permit, ERC-3009, invoice, settlement의 차이 | 사용자가 서명한 뒤 어떤 actor가 어떤 상태를 바꾸는지 설명 |
| 권한 경계 | minter, burner, pauser, freezer, admin의 역할 | 권한 오남용과 긴급 중지 조건을 체크리스트로 정리 |
| 상태머신 | created, authorized, paid, settled, failed 같은 상태 | 중복 결제, 만료, 환불, 정산 지연을 상태 전이로 표현 |
| 테스트 전략 | unit, fuzz, invariant, static analysis | 깨지면 안 되는 조건을 테스트 목록으로 전환 |
| 운영 대시보드 | event indexing, reconciliation, risk signal | onchain 이벤트와 내부 장부가 어긋날 때 탐지 기준 정의 |
2. 목표에 따라 첫 5개 강의를 다르게 고른다
모든 학습자가 같은 순서로 출발할 필요는 없다. 다만 어떤 경로를 선택하더라도 Stablecoin Systems의 기초와 Security Testing의 검증 관점은 반드시 한 번은 지나야 한다.
| 지금 목표 | 권장 첫 경로 | 첫 산출물 |
|---|---|---|
| checkout 기능 구현 | system map → signed payments → payment state machine → permit checkout lab → ERC-3009 escrow lab | checkout 흐름도와 API 요청 예시 |
| 보안 리뷰 | system map → access control → EIP-712/nonce review → fuzz/invariant → security checklist | 위험 항목과 테스트 케이스 목록 |
| 운영 대시보드 | issuance/redemption → indexing/reconciliation → risk dashboard → monitoring runbook → incident response | 이벤트 대조표와 알림 기준 |
| 신기술 평가 | system map → CCTP → L2 finality → account abstraction → technology radar | 채택, 실험, 관찰, 보류 사유 |
첫 5개 강의는 고정된 규칙이 아니라 현재 역할에 맞춘 시작점이다. 단, 중간에 다른 트랙으로 이동하면 이동 이유를 남긴다. 예를 들어 checkout 구현자가 CCTP를 먼저 보고 싶다면 "한 체인 결제 흐름을 이해한 뒤 cross-chain settlement가 필요한 요구가 생겼다"처럼 이유가 있어야 한다.
3. 강의, 실습, 시험을 한 번의 루프로 묶는다
한 강의를 읽고 바로 다음 강의로 넘어가면 지식은 빠르게 흩어진다. 이 과정에서는 다음 루프를 기본 단위로 둔다.
개념 읽기
왜 필요한지, 어떤 actor와 상태가 나오는지 표시한다.
산출물 작성
표, 흐름도, 테스트 목록, 코드 스케치 중 하나를 남긴다.
시험 또는 확인 질문
객관식은 개념 구분을, 코드형은 적용 능력을 확인한다.
오답 재학습
틀린 문제의 근거가 되는 강의로 돌아가 다시 읽는다.
시험은 학습을 끝낸 뒤 붙는 부록이 아니다. 어떤 강의를 다시 읽어야 하는지 알려주는 진단 장치다. 객관식 문제에서 permit과 ERC-3009를 혼동했다면 signed payment 강의로 돌아간다. 코드형 문제에서 nonce 검증을 빠뜨렸다면 EIP-712와 보안 테스트 강의를 다시 본다.
강의 포인트
| 관점 | 강의 중 확인할 질문 | 학습 후 남길 증거 |
|---|---|---|
| 최종 목표 | 내가 마지막에 설명해야 할 시스템은 무엇인가? | stablecoin checkout 시스템을 한 문단으로 설명 |
| 첫 경로 | 지금 목표에 가장 가까운 첫 5개 강의는 무엇인가? | 강의명, 선택 이유, 산출물 형식을 한 줄씩 기록 |
| 완료 기준 | 읽었다는 사실 말고 무엇이 남아야 하는가? | 표, 흐름도, 테스트 목록, 코드 스케치, 오답 노트 중 하나 |
| 재학습 기준 | 시험에서 틀리면 어디로 돌아가야 하는가? | 문제 유형과 연결된 강의 표시 |
실무 예시
새 팀원이 결제 API 구현을 맡았다고 가정한다. 이 팀원에게 처음부터 RWA, MEV, 프라이버시, 비EVM까지 모두 읽히면 많은 용어는 보겠지만 구현 판단은 남지 않는다. 첫 주에는 다음 정도의 산출물이 더 중요하다.
| 시간대 | 읽을 강의 | 팀원이 남겨야 할 산출물 |
|---|---|---|
| 첫날 | system map, signed payments | checkout에서 사용자, relayer, contract, merchant가 맡는 역할 |
| 둘째 날 | payment state machine | created, authorized, paid, settled, failed 상태 전이 |
| 셋째 날 | access control, nonce review | 재사용 서명, 만료 서명, 권한 오남용 체크리스트 |
| 넷째 날 | permit checkout lab | allowance 승인과 실제 결제 실행의 분리 |
| 다섯째 날 | 첫 객관식 시험과 코드형 문제 | 틀린 개념과 다시 볼 강의 목록 |
반대로 보안 리뷰어라면 첫 주의 산출물이 다르다. checkout UI보다 권한, nonce, freeze, pause, invariant가 먼저다. 운영 담당자라면 이벤트, 정산, 알림 기준부터 잡아야 한다. 시작 경로는 달라도 모두 캡스톤에서는 하나의 checkout 설계로 합쳐진다.
흔한 오해와 실패 시나리오
| 오해 | 실패 시나리오 | 바로잡는 방법 |
|---|---|---|
| 첫 강의는 시스템 설명이 아니라 사용법 안내라고 생각한다 | 버튼과 메뉴는 알지만 무엇을 배우는지 설명하지 못한다 | 최종 checkout 시스템을 먼저 한 문단으로 쓴다 |
| 모든 강의를 순서대로 끝내야 한다고 생각한다 | 현재 업무와 무관한 트랙에 오래 머물러 동력이 떨어진다 | 목표별 첫 5개 강의를 먼저 고르고 보류 트랙의 복귀 조건을 적는다 |
| 레슨 완료 버튼을 누르면 학습이 끝난다고 생각한다 | 코드 리뷰나 설계 회의에서 개념을 적용하지 못한다 | 강의마다 산출물 하나를 남기고 시험 결과로 재학습을 결정한다 |
| 시험은 나중에 몰아서 보면 된다고 생각한다 | 초반 오해가 누적되어 고급 트랙에서 계속 막힌다 | 한 묶음의 강의가 끝날 때마다 짧은 시험으로 개념 구분을 확인한다 |
실습 과제
- 학습 목표 선택하기: checkout 구현, 보안 리뷰, 운영 대시보드, 신기술 평가 중 지금 가장 가까운 목표 하나를 고르고 이유를 세 문장으로 적는다.
- 첫 5개 강의 경로 작성하기: 선택한 목표에 맞춰 첫 5개 강의를 고른다. 각 강의마다 왜 지금 필요한지, 끝나면 어떤 산출물을 남길지 한 줄씩 적는다.
- 첫 시험 응시 기준 정하기: 어떤 조건이 되면 첫 객관식 또는 코드형 시험을 볼지 정한다. 틀렸을 때 돌아갈 강의도 함께 표시한다.
완료 기준
- 학습 목표를 checkout, 보안 리뷰, 운영 대시보드, 신기술 평가 중 하나로 정했다.
- 첫 5개 강의의 순서와 선택 이유를 적었다.
- 각 강의에서 남길 산출물 형식을 정했다.
- 첫 시험을 언제 볼지, 재학습 기준을 어떻게 둘지 정했다.
근거 자료
이 강의는 시작 안내, 전체 학습 목적, 첫 진입 방향을 정리한 내부 참고 문서를 바탕으로 학습자용 오리엔테이션으로 재구성했다. 화면에서 중요한 것은 파일 구조가 아니라 학습자가 오늘 정해야 할 목표, 첫 경로, 산출물, 시험 기준이다.