디사이퍼 <솔리디티 문해력> 강의에 초대 드립니다.
블록체인/Web3 생태계에서 가장 중요한 역량인 스마트 컨트랙트 문해력을 키울 수 있는 "솔리디티 문해력(Solidity Literacy)" 강의를 개설합니다.
안녕하세요, 서울대학교 블록체인 학회 디사이퍼(Decipher)의 학회장을 맡고 있는 안수찬입니다. 작년도 디사이퍼 활동 학회원들을 대상으로 했던 <Solidity를 이용한 Smart Contract 개발 강의>를 처음이자 마지막으로 디사이퍼의 학회원 외에도, Web3 생태계에 함께하시는 분들을 대상으로 오픈해서 강의를 진행하고자 합니다.
강의를 하게 된 배경
Web3 생태계에 입문하면서 제게 스스로 필요하다고 생각했던 역량은 "문해력(Literacy)" 이였습니다. 우리가 DApp을 사용하거나 리서치를 하기 위해서는 백서를 읽고 학습하는 것은 물론이고 스마트 컨트랙트의 동작 방식과 구현에 대해서도 코드를 스스로 읽고, 이해하고, 쓸 수 있어야 합니다.
즉, 제가 위에서 말씀드린 문해력을 구체적으로 표현하자면 "Web3에서 살아남기 위한 Smart Contract를 읽고, 이해하고, 사용하고, 작성하는 문해력" 을 뜻합니다. 그래서, 이 강의명을 "솔리디티 문해력(Solidity Literacy)" 로 정하고 준비하게 되었습니다.
이 강의의 대상은 개발자 뿐만 아니라, Web3 생태계에 함께 하는 다양한 구성원(BD, Researcher, Investor 등)들에게 모두 도움될 수 있도록 준비 하였습니다. 물론, 개발을 처음 접해보시는 분들도 충분히 따라오실 수 있도록 처음부터 진행할 예정입니다.
작년도에는 한정된 디사이퍼 학회원만을 대상으로 비공개 강의를 6주, 18시간에 걸쳐서 진행 했습니다. 이때 얻은 피드백을 바탕으로 개선된 커리큘럼으로 본 강의를 개선하였습니다.
올해 초에 <디퍼런스 2023> 행사를 준비하고 성공적으로 진행하며, 블록체인 업계에 계신 다양한 분들로 부터 조건 없는 큰 도움을 받았습니다. 이에 보답하고 저 또한 블록체인 생태계에 작게나마 기여하고자 본 강의를 공개로 진행하게 되었습니다. 이와 동일한 관점에서 강의는 무료로 진행됩니다.
강의의 특장점과 하이라이트(*)
문해력을 단기간에 가장 효과적인 방식으로 달성하기 위해서 제가 직접 학습하고, 오랜 시간 고민한 방법을 바탕으로 커리큘럼을 구성 하였습니다. 단순한 Solidity 문법을 배우고 프로젝트를 개발하는 구성이 아니라, "Web3 생태계에서 스스로 문제를 정의하고, 해결하는 능력" 을 갖추기 위한 목표를 갖고 있습니다. 이를 달성하기 위해서 다음과 같은 예시들이 커리큘럼에 포함되어 있습니다:
- (1) Ethereum 프로토콜의 구현을 살펴보면서, "The DAO 해킹 사건에서 어떻게 복구 되었는지", "이더리움 2.0/The Merge는 어떻게 달라졌는지"를 코드와 함께 살펴보기
- (2) 우리가 지금은 편하게 사용하는 ERC-20 토큰을 EIP-20(Token Standard) 문서를 읽고, 내부 동작을 어려운 방법으로 직접 구현하기
- (3) Uniswap V1 Whitepaper를 같이 읽고, 아주 작은 단위에서 부터 Uniswap V1을 처음부터 끝까지 완성하기
왜 우리는 쉬운 방법을 택하지 않고 위와 같은 어려운 방식으로 학습을 해야할까요? 새로운 문제가 생겼을 때 이를 해결할 수 있는 문제해결력과 문해력을 동시에 키우기 위해서 입니다. 위의 예시들은 각각 다음과 같은 역량을 키우기 위해서 커리큘럼에 반영 하였습니다:
- (1) Ethereum 문해력: Ethereum에 대해서 더 궁금하다면, 내가 궁금한 부분을 내가 직접 코드로 확인해보면서 더 깊이 있는 이해를 하는 것은 물론 아래의 질문들에 대해서 스스로 답을 찾을 수 있습니다.
- (예시) Ethereum 트랜잭션/블록은 어떻게 내부적으로 구현되어 있을까?, Ethereum의 수수료는 어떻게 계산될까? EOA/CA의 차이는 무엇이고, 구현상에서는 어떻게 되어 있을까?
- (2) EIP(Ethereum Improvement Proposals) 문해력: 새롭게 등장하는 표준과 아이디어 대해서 바로 읽고 더 깊게 이해할 수 있습니다.
- (예시) EIP-4337를 읽고 계정 추상화(Account Abstraction)에 대해서 공부할 수 있습니다.
- (3) DApp 문해력: 백서와 코드를 같이 읽고 스스로 완전하게 이해한 상태에서 DApp을 사용할 수 있습니다.
- (예시) Uniswap V1을 개발하면서 얻은 경험과 교훈을 바탕으로, Uniswap V2/V3는 각각 어떤 문제를, 어떤 방식으로 해결하고자 했는지를 학습
위 내용을 포함한 강의의 모든 과정은 100% 라이브 코딩으로 진행됩니다. 저 또한 미리 실습 코드를 작성해오는 것이 아니라, 여러분들이랑 동일한 환경에서 고민하고, 백서를 읽고, 코드를 아주 작은 단위인 0에서 부터 1까지 완성하는 과정들을 함께하고자 합니다. 즉, 완성된 코드만 보고 따라하는 것이 아니라, 사고하는 방식과 스스로 학습할 수 있는 방법을 공유드리는 것이 본 강의의 목적이자 특장점입니다.
커리큘럼
# | 주제 | 날짜 |
---|---|---|
1 | Solidity (1): 첫번째 컨트랙트 만들고 배포하기 | 2023-05-06(토) |
2 | Solidity (2): ENS/Opensea를 통해서 살펴보는 다양한 활용 | 2023-05-13(토) |
3 | 실습 프로젝트(1): EIP-20을 읽고, 직접 구현해보는 Token Contract | 2023-05-20(토) |
4 | 실습 프로젝트(2): Hardhat 개발 환경을 설정하고, 코드로 NFT 발행하기 | 2023-06-03(토) |
5 | 실습 프로젝트(3): 컨트랙트를 배포하는 메타-컨트랙트(Token Factory) 만들기 | 2023-06-17(토) |
6 | Uniswap V1 (1): 백서를 읽고, 원리를 이해하고, CPMM 구현 | 2023-06-24(토) |
7 | Uniswap V1 (2): V1 Exchange, V1 Factory 구현과 배포 | 2023-07-01(토) |
7주차, 총 21시간에 걸쳐서 이더리움의 구조와 Solidity 기초로 시작해서, 토큰과 NFT의 내부 구현과 라이브러리를 이용한 구현, 그리고 마지막으로는 Uniswap V1을 직접 구현하는 과정으로 구성되어 있습니다. 이 과정을 통해서 강의의 목표인 솔리디티 문해력(Solidity Literacy)를 이루는 것을 목표로 하고 있습니다.
수강 대상자
- (1) 디사이퍼 활동 학회원(9기, 10기) 및 Alumni
- (2) 타 대학교 블록체인 학회 소속, 활동 학회원
- (해당 학회; 가나다순) BAY(연세대학교), CURG, 블록체인밸리(고려대학교), 이화체인(이화여자대학교)
- (3) 디사이퍼 활동 학회원이 개별적으로 추천한 분
강의 일정 및 장소
- (일정) 2023년 05월 06일(토) ~ 2023년 07월 01일(토)
- 매주 토요일 19시~22시 대면으로 3시간씩 총 7회차 진행(21시간)
- 석가탄신일(5/27), 대학교 기말고사 주차(6/10)는 강의가 없습니다.
- (장소) 2호선 강남역 인근이나 구체적인 장소는 미정(* 추후 공지 예정)
수강 신청
- (수강 마감) 이번 기수 수강 신청은 마감 되었습니다. 수강 확정되신 분들에 한해서는 개별적으로 이메일/문자로 안내 드렸습니다.
- 이번 기수는 "대면"으로만 진행되며, 각 대학교 블록체인 학회 구성원들과의 네트워킹/자체 스터디가 포함되어 있습니다.
- 위의 수강 대상자에 해당하지 않더라도, 수강을 희망하시는 분은 제 이메일로 개별 연락 부탁드립니다. (안수찬/dobestan@gmail.com)
도움 주신 분들
각 대학교 블록체인 학회에서 자발적으로 실습 조교로 스터디와 네트워킹을 도맡아 도움주시기로 하셨습니다. 감사합니다.