코스 이미지

개발자를 위한 이더리움 드릴다운 실습(4주)

강의에 대해 문의사항이 있으신가요? 오른쪽 하단의 문의 기능을 활용하셔도 되며, 그 밖에는 learn@programmers.co.kr, 02-539-1885 로 말씀해주시면 자세히 답변해드리겠습니다.

지금, 이런 생각을 하고있는 개발자신가요?

  • 솔리디티 문법은 솔직히 개발자라면 익히기 어렵지 않다.
  • Raiden Network, Plasma, Sharding 등 이더리움의 확장성에 대해 더 잘 알고싶다.
  • 이더리움 내부 깊숙한 구성요소는 무엇이 있고, 어떻게 연계되어 플랫폼이 돌아가는지 깊게 알고싶다.
  • 스마트 컨트랙트 보안 이슈를 방지하기 위해서는, 실제 개발 시 어떤 처리를 해야할까?

당신의 그 고민을 풀어내줄 강의

개발자를 위한 이더리움 드릴다운 실습 코스

Drilldown the fundamentals of Ethereum, and Blockchain for Engineers

일정, 장소 및 기본정보

  • 기간: 2018-06-16(토) ~ 2018-07-07(토), 총 4주
  • 일정: 매주 토요일 13:00 ~ 18:00, 총 20시간
  • 장소: 강남역 1번출구 테헤란빌딩 8층 쎄임페이지 Page5
  • 수강료: 30% 할인된 840,000원(~5/31), 일반등록가는 1,200,000원 입니다. 할인 기간이 지나면 할인폭이 줄어듭니다.

튜토리얼 단계를 벗어나, 이더리움의 확장성을 고민하는 개발자를 위한 강의

지금, 많은 개발자들이 튜토리얼 수준을 벗어나 더 깊은 내용을 원하고 있습니다. 솔리디티는 이미 실무 개발자라면 문법을 익히기에 전혀 어렵지 않고, 이더리움 플랫폼 기반의 dApp 개발 예제들은 금세 구글링해서 찾아볼 수 있는 때입니다. 이런 때에 학습자들이 더 알고 싶은 것은 블록체인, 그리고 이더리움에 대한 더 깊은 지식입니다. 그리고 조금만 개발하다보면 고민하게 되는 확장성 이슈에 대한 내용도 반드시 필요하죠.

이더리움 드릴다운 코스는, 이름에 걸맞게 여러분의 더 깊은 내용을 알고 싶은 갈증을 해소해드리기 위해 준비한 강의입니다. 실습은 더 다채롭게, 이론은 같은 주제를 다루더라도 매우 깊게 파 내려갑니다.

# 8개의 실습 주제와 함께 진행되는 커리큘럼

대표 실습 주제: 온라인 쇼핑몰 dApp 개발

본 커리큘럼에는 총 8개의 실습 주제가 준비되어 있으며, 이 중 3주차에 진행할 7번 째 실습 주제인 'Online Shop dApp' 이 가장 중요합니다. 수강생들은 해당 실습을 통해 상용화 가능한 dApp 서비스의 프로토타입을 만들어볼 수 있으며, 이를 통해 파일 형태의 콘텐츠를 자신의 토큰을 이용해 거래하는 온라인 샵을 개발해보게 됩니다(음악 파일이던, 영상 파일이던). 아래 커리큘럼과 실습 주제들을 모두 꼼꼼히 확인해보세요.

## 도식화 버전

이 강의 커리큘럼은 각 내용간의 연계성이 매우 중요해 도식화 버전을 준비하였습니다. 반드시 오른쪽으로 스크롤하며 모든 커리큘럼 내용을 꼼꼼히 확인하세요. 도식화된 커리큘럼과 아래의 텍스트 버전을 함께 열람하시면, 어떤 흐름과 관계성으로 커리큘럼이 진행될지 더욱 명확하게 이해가 됩니다.

## 텍스트 버전

위의 도식화 버전과 연계해서 함께 보세요. 기업 제출용 커리큘럼 문서가 필요하신 경우, learn@programmers.co.kr 을 통해 따로 문의해주세요. 강의 기본 정보 및 커리큘럼을 적절히 요약하여 보내드리겠습니다.

강의 및 실습 주제

1주차. 드릴다운을 위해 반드시 알아야 할 것들

우리는 어떻게 블록체인으로 오게 되었는가?

  • 암호학 기초
  • Public Key ID
  • Linked Time Stamp
  • State Replication

블록체인은 무엇으로 만들어져 있는가?

  • 블록체인의 세부 구성요소
  • Private과 Public
  • PoW, PoS
  • Proof of X

비트코인에서 알고 넘어갈 것들

  • Transaction Model
  • Address
  • Dist. Consensus

드릴다운의 시작: 이더리움 인트로

  • State model
  • Smart Contract
  • Life Cycle
  • 실습 Smart Contract Life Cycle 실습(Truffle)
  • 실습 MetaMask를 통한 이더리움 체험

2주차. 스마트 컨트랙트 드릴다운

이더리움과 솔리디티

  • Data Abstractions(변수, 자료형)
  • Control Structure(제어 구조)
  • 솔리디티 자체 부가 기능

이더리움과 EVM

  • 자료구조 구현 방식
  • 솔리디티 ABI
  • 트랜잭션 구성

이더리움 네트워크

  • 네트워크 구조
  • 실습 프라이빗 이더리움 네트워크 구성 실습

솔리디티와 EVM, 그리고 Web3.js

  • 실습 ERC20 토큰 개발
  • 실습 정보 기록 dApp 개발 실습

3주차. dApp 드릴다운

컨트랙트 연결

  • Multi-contract(Library)

외부 연결

  • Storage(IPFS)
  • Data feed(Oraclize)
  • 실습 IPFS를 이용한 정보기록 실습
  • 실습 데이터 거래 플랫폼 개발

4주차. 제대로 된 dApp 서비스를 만들기 위한 고민들

Smart Contract Security

  • 스마트 컨트랙트의 취약점
  • 스마트 컨트랙트 점검 시스템
  • 실습 공격 및 방어 실습 Wargame

Secure Coding

  • Secure coding을 위한 Library 지원
  • Smart contract의 Update의 한계

고민해야 할 이슈들

  • Scalability(Plasma, Sharding)
  • Off-chain(Raiden)
  • Crypto-economy Applications(+ICO)

## 실습에 대한 자세한 정보

커리큘럼 내의 실습이 도대체 어떤 내용을 다루는지 자세히 설명드리겠습니다. 위 커리큘럼에 열거된 실습 제목과 연계하여 읽으시면 됩니다.

실습 제목 실습 내용
1) Smart contract life cycle 실습
  • 기본 Contract 객체 생성
  • Solidity 기본 자료형 선언
  • Function 정의( 생성자, External/internal )
  • Function 옵션 ( Modifier/ constant / view / pure )
  • Contract deploy
2) MetaMask를 통한 Ethereum 체험
  • Metamask를 이용한 Testnet 트랜잭션 생성
  • Metamask를 이용한 Private Ethereum 트랜잭션 생성
  • Testnet 내에 Contract Deploy
3) Private Ethereum Network 구성 실습
  • Genesis Json 형식을 통한 Genesis Block 생성
  • Geth rpc/ws 환경 세팅
  • Geth node추가 구성 세팅
  • Mining Set 환경 세팅 (POA/POW)
4) ERC20 Token 개발
  • solidity를 통한 ERC20 토큰 개발
  • solidity zepplin-solidity 모듈을 통한 ERC20 토큰 간단 개발
  • zepple-solidity safemath를 통한 시큐어 코딩 (Integer overflow, Integer underflow)
5) 정보 기록 dApp 실습
  • Contract 함수 정의
  • String Mapping을 통한 String 저장
  • Solc 모듈을 통한 Solidity 컴파일
  • web3를 통한 contract deploy
6) IPFS를 이용한 정보기록 실습
  • IPFS 구축 및 명령어 사용
  • Nodejs를 이용한 Infura IPFS 데이터 저장 및 조회
7) Online Shop dApp 개발
  • 앞선 실습 주제들을 총망라하는 내용을 담은 실습입니다. 파일 형태의 콘텐츠(음악, 동영상 등)를 자신의 토큰 기반으로 거래할 수 있는 온라인 샵 서비스를 만들어봅니다.
  • ERC20 토큰을 이용한 Private Ethereum에 저장된 hash 정보 거래
  • IPFS를 이용한 파일 및 데이터 저장
  • IPFS에 저장된 데이터에 대한 hash Private Ethereum 저장
  • 구체적인 토큰 가격, 데이터를 매칭하는 함수 설계
8) Contract공격/방어 실습 Wargame
  • 각 Bug를 담은 Contract 생성
  • 외부 contract call 실습
  • Metamask와 Remix를 이용한 deploy
  • 취약점 점검 툴(oyente, porosity) 실습

# 이런 분들을 위해 준비했습니다

실무 개발자이며, 솔리디티 문법을 알고, 다음 상황에 해당하는 분들
리버스 ICO를 염두에 두고 있거나, 운영 중인 서비스에 블록체인 기술을 접목할 계획이 있는 개발자분들에게 추천합니다. 이더리움을 통한 송금 과정, Gas(계약 수수료), Transaction(계약 기록) 등 튜토리얼에서 다룰 법한 기본적인 개념들에 대해서는 이미 익숙하실 것입니다. 하루라도 더 빨리 이더리움의 확장성까지 고민하고 이슈에 대응하며 개발하고 싶은 분들을 고려했습니다.
실무 개발자 수준은 아닌데, 강의가 듣고 싶다면
이 경우에는 프로그래머스의 이더리움 솔리디티 실습 튜토리얼 내용 정도는 모두 익히고 참여하셔야 유의미한 시간을 보내실 수 있을 것입니다. 본 강의는 아무리 기초적인 개념일지라도 아예 깊이 자체를 다르게 설정하고 접근할 것이기에, 실무 개발자가 아니고 컴퓨터 공학에 대한 이해도 낮으시다면 준비를 하고 오시는 것이 좋습니다.

# 이렇게 진행하겠습니다

이론은 드릴로 파내듯 깊게
더 본질적인 내용으로

실습은 미리 구축해둔 환경을 통해
인터랙티브한 방식으로

확실한 성취감으로 수료할
준비된 강의

실습 방식에 대해

우리 강의에서는 모든 수강생들이 하나의 서버 환경에 접속하여, 동일한 과제를 풀어나가되 그 풀이 로그가 교수자에게 실시간으로 전달되는 인터랙티브한 실습을 진행하도록 준비해두었습니다. 강사의 라이브 코딩이나 배포된 소스코드를 보고 따라해보고 ‘되는구나' 를 파악하는 것을 넘어 더욱 집중할 수 있는 환경을 조성해드리는 것이 목적입니다. 이로서 더욱 적극적인 실습 참여와 그 과정 자체에 대한 흥미를 느끼게 하려 합니다.

이 방식은 각 학습자들의 성취도를 교수자가 파악하기 좋기 때문에, 더 많은 도움이 필요한 수강생들을 놓치지 않고 도와드릴 수 있는 큰 장점이 있습니다. 커리큘럼 후반부에 스마트 컨트랙트 보안에 대해 실습할 때는 약간의 대전 게임 형식을 차용할 예정입니다.

## 가르치는 사람

PiLab CTO, 가천대학교 금융수학과 교수 이종협

"블록체인 기술 개발의 방법과 함께 왜 이렇게 되어왔는가 하는 원리에 집중합니다. 빠르게 변하는 분야이기에, 중심을 잡고 더 선명하고 색다른 관점을 드릴 수 있도록 노력하겠습니다. 물론, 그 과정에서의 많은 고민들을 나누는 시간이 되려고 합니다."

  • 블록체인과 소프트웨어 보안 전문가
  • 가천대학교 교수 및 블록체인 업체 (주)PiLab의 CTO로 재직 중
  • CMU 해킹팀 PPP 창단 멤버
  • 삼성전자 자문 수행 및 블록체인IoT 금융 연구소장으로 활동 중
  • IITP의 스마트 컨트랙트 취약점 분석 기술 R&dD 과제 수행 중
  • (학력) 연세대학교 전기전자컴퓨터 학사, 석사, 박사

## 수강료 안내

5/21(월)까지 진행되는 최저가 할인 기간이 끝나기 전에

풍부한 실습, 깊은 이론이 준비된 코스에 참여하세요

블록체인에 대해 무엇을 고민하시던, 해결하실 수 있는 교육과정으로 답해드리겠습니다.

840,000원

5월 31일(목)까지 적용되는 최저 할인가. 이후에는 할인폭이 줄어듭니다!

1,200,000원

일반등록가