8 week: Technology of Platformless Media BlockchainDaemin Park
- The architecture of platformless media blockchain
- Wallet
- Micropayment
- Decentralized storage with big data system
- Decentralized identification
(국민대학교 소프트웨어융합대학원 블록체인 전공 <블록체인과 미디어> 2019년 여름학기 수업)
8 week: Technology of Platformless Media BlockchainDaemin Park
- The architecture of platformless media blockchain
- Wallet
- Micropayment
- Decentralized storage with big data system
- Decentralized identification
(국민대학교 소프트웨어융합대학원 블록체인 전공 <블록체인과 미디어> 2019년 여름학기 수업)
시중에 돌아 다니는 블록체인에 대한 다양한 정보들이 내용의 깊이가 다르고, 의미가 지나치게 추상적이고 단편적인 것들이 많아 오해가 생기는 경우도 있는 것 같습니다. 블록체인에 대해 학습을 시작하면서 어려운 점이 많았고, 심지어 블록체인 = 비트코인, 또는 블록체인 = 인증시스템... 이런 식의 잘 못된 정의들이 있어서 학습하는 데 어려움이 많았습니다. 이 문서는 당초 함께 공부하는 스터디 그룹 멤버들과 공유하고자 약 3주간의 자료조사와 학습을 한 후에 정리하는 차원에서 작성된 것입니다. 블록체인의 정의, 구성요소, 작동원리 등에 관한 내용이며, 블록체인에 관심이 있는 분들에게 미약하나마 도움이 될까 하여 공유합니다.
제가 도움을 받은 자료들에 대한 출처는 맨 마지막 페이지에 넣었습니다.
블록체인을 어떻게 공부해야 할까, 블록체인을 공부하면서 만나게 될 개념들은 뭘까 미리 맛보기로 보고 간다고 생각하시면 됩니다!
(아쉽게도 여기서는 블록체인을 왜 공부해야 하는지에 대한 이유나 '탈중앙화 데이터베이스'라는 블록체인의 근본적인 백그라운드는 건너뛰고 시작합니다.)
비트코인과 이더리움을 중점으로 요즘 핫한 블록체인 응용 예시들을 가지고 설명하다보니 다소 어려운 점들이 있을 수도 있습니다. 이 내용이 이해가 안 가신다고 좌절하지 마시고, 앞으로 공부하면서 이런 것들을 보겠구나 하고 넘어가시면 됩니다.
정말 0에서 시작하는 분들에게는 다소 어려울 수도 있는 점 양해 부탁드립니다. 다음에는 더 쉽게~ 풀어서 찾아뵐게요.
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)Colin Chae
대상
- 이더리움이 어떻게 돌아가는지 알고 싶은 분들
- 이더리움 입출금 개발을 시작하시려는 분들
- Go-ethereum 소스코드 공부하시는 분들
개발스택
- 이더리움 노드 : 설치/운영 수고가 없는 infura.io 사용
- 개발 언어 + 라이브러리 : Go + Geth (as a RPC library)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)경록 박
한국거래소 시장감시시스템팀 박경록 사원이 제작한 블록체인 기술에 대한 정리 자료. 사토시 나카모토의 비트코인 논문에 기반하여 블록체인 기술의 원리에 대해 설명. 주요 코인의 특징과 기술, 세계 코인 시장의 상황, 블록체인의 미래를 논함. 한국거래소 KRX에서의 블록체인 활용법을 탐색.
Summary of 'blockchain technology' by Kyung-rok Park, assistant manager of KRX(Korea Exchange) market surveillance team.
Explains the principle of blockchain technology based on Satoshinamoto's Bitcoin thesis.
Discuss the characteristics and technology of major coins, the situation of the world coin market, and the future of the blockchain.
Explore the usage of the block chain in the KRX.
Written in Korean.
Email : jarvis@krx.co.kr
Brief introduction about the ideas of the Blockchain technology.
Written in Korean.
Starts with Hash function, Hashcash, proof-of-work, and how Blockchain adopted and extended the idea.
THis ppt explains what the blockchain internet economy is. How bitcoin was borne and how it can help make the world a better place to live. 블록체인이란 무엇인가? 금융위기는 왜 오는가? 블록체인인터넷 이란 블록체인인터넷 경제란 무엇인가?
W3C HTML5 컨퍼런스 2020 - 웹 환경에서 블록체인 노드와 통신 및 신원인증 (DID)Benjamin Oh
W3C HTML5 컨퍼런스 2020에 대한 정보는 다음에서 확인 가능합니다.
- https://www.openbooth.space/exhibition/html5
SSI Meetup Korea에서 번역 활동 참여 경험 및 DID 관련 프로젝트 진행에 대한 경험을 살려 W3C HTML5 컨퍼런스에서 블록체인 상의 DID 구현에 대한 발표를 하였습니다.
시중에 돌아 다니는 블록체인에 대한 다양한 정보들이 내용의 깊이가 다르고, 의미가 지나치게 추상적이고 단편적인 것들이 많아 오해가 생기는 경우도 있는 것 같습니다. 블록체인에 대해 학습을 시작하면서 어려운 점이 많았고, 심지어 블록체인 = 비트코인, 또는 블록체인 = 인증시스템... 이런 식의 잘 못된 정의들이 있어서 학습하는 데 어려움이 많았습니다. 이 문서는 당초 함께 공부하는 스터디 그룹 멤버들과 공유하고자 약 3주간의 자료조사와 학습을 한 후에 정리하는 차원에서 작성된 것입니다. 블록체인의 정의, 구성요소, 작동원리 등에 관한 내용이며, 블록체인에 관심이 있는 분들에게 미약하나마 도움이 될까 하여 공유합니다.
제가 도움을 받은 자료들에 대한 출처는 맨 마지막 페이지에 넣었습니다.
블록체인을 어떻게 공부해야 할까, 블록체인을 공부하면서 만나게 될 개념들은 뭘까 미리 맛보기로 보고 간다고 생각하시면 됩니다!
(아쉽게도 여기서는 블록체인을 왜 공부해야 하는지에 대한 이유나 '탈중앙화 데이터베이스'라는 블록체인의 근본적인 백그라운드는 건너뛰고 시작합니다.)
비트코인과 이더리움을 중점으로 요즘 핫한 블록체인 응용 예시들을 가지고 설명하다보니 다소 어려운 점들이 있을 수도 있습니다. 이 내용이 이해가 안 가신다고 좌절하지 마시고, 앞으로 공부하면서 이런 것들을 보겠구나 하고 넘어가시면 됩니다.
정말 0에서 시작하는 분들에게는 다소 어려울 수도 있는 점 양해 부탁드립니다. 다음에는 더 쉽게~ 풀어서 찾아뵐게요.
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)Colin Chae
대상
- 이더리움이 어떻게 돌아가는지 알고 싶은 분들
- 이더리움 입출금 개발을 시작하시려는 분들
- Go-ethereum 소스코드 공부하시는 분들
개발스택
- 이더리움 노드 : 설치/운영 수고가 없는 infura.io 사용
- 개발 언어 + 라이브러리 : Go + Geth (as a RPC library)
가상화폐와 블록체인 기술 Cryptocurrency & Blockchain Technology (KOR ver.)경록 박
한국거래소 시장감시시스템팀 박경록 사원이 제작한 블록체인 기술에 대한 정리 자료. 사토시 나카모토의 비트코인 논문에 기반하여 블록체인 기술의 원리에 대해 설명. 주요 코인의 특징과 기술, 세계 코인 시장의 상황, 블록체인의 미래를 논함. 한국거래소 KRX에서의 블록체인 활용법을 탐색.
Summary of 'blockchain technology' by Kyung-rok Park, assistant manager of KRX(Korea Exchange) market surveillance team.
Explains the principle of blockchain technology based on Satoshinamoto's Bitcoin thesis.
Discuss the characteristics and technology of major coins, the situation of the world coin market, and the future of the blockchain.
Explore the usage of the block chain in the KRX.
Written in Korean.
Email : jarvis@krx.co.kr
Brief introduction about the ideas of the Blockchain technology.
Written in Korean.
Starts with Hash function, Hashcash, proof-of-work, and how Blockchain adopted and extended the idea.
THis ppt explains what the blockchain internet economy is. How bitcoin was borne and how it can help make the world a better place to live. 블록체인이란 무엇인가? 금융위기는 왜 오는가? 블록체인인터넷 이란 블록체인인터넷 경제란 무엇인가?
W3C HTML5 컨퍼런스 2020 - 웹 환경에서 블록체인 노드와 통신 및 신원인증 (DID)Benjamin Oh
W3C HTML5 컨퍼런스 2020에 대한 정보는 다음에서 확인 가능합니다.
- https://www.openbooth.space/exhibition/html5
SSI Meetup Korea에서 번역 활동 참여 경험 및 DID 관련 프로젝트 진행에 대한 경험을 살려 W3C HTML5 컨퍼런스에서 블록체인 상의 DID 구현에 대한 발표를 하였습니다.
Block chain architecture and hyperledger fabric overview병준 김
블록체인에 대한 기본 개념과 블록 체인 기술 구성에 대해서 알아본다. 기술 구성에는 P2P네트워크, Smart Contract, 전자서명과 해시, 합의 알고리즘이 있다. 각 구성 요소들이 하는 역할과 목적, 어떻게 작동하는 지에 대해서 알아본다. 그리고 Hyperledger Fabric의 개요에 대해서 살펴본다.
레드햇의 Etsuji Nakai 씨의 "OpenStack: Inside Out" 한글 번역본입니다.
다시 한번 좋은 문서를 공유해주신 Etsuji Nakai 씨에게 감사를 드립니다.
http://www.slideshare.net/enakai/open-stack-insideoutv10
황지수(mario.h) / kakao corp.
---
카카오 봇 플랫폼을 소개합니다. 카카오톡 플러스 친구에서 새롭게 등장하고 있는 챗봇, 그리고 카카오의 음성비서인 카카오미니. 이들의 공통점은 봇 플랫폼 기반으로 동작하고 있다는 것입니다. 이런 봇 플랫폼이 어떤 구조로 만들어져 있고, 어떤 과정으로 문제를 해결하면서 개발을 진행했는지 공유합니다. 또한, 카카오의 AI기술을 이용하여 쉽게 봇을 만들 수 있는 Kakao I Open Builder의 기능과 특징을 이야기합니다.
1. Building the new
web with
self-sovereign
identity
Hyungsuk Kang
Mail: hskang9@gmail.com Twitter: @hskang0525
2. 자기소개
Research Assistant in SKKU IoT Lab(‘15)
Keras Korea Admin(‘16)
Ethereum DevconIV scholar(‘18)
Open-source projects: spectrum, peer-eth
Current Ambassador in W3F, contributer in SpeckleOS(‘19)
Publication: Secure DNS name autoconfiguration for IPv6 internet-of-things(SDNSNA)
Interests: open source, p2p, crypto, wasm, DID
4. 웹3
웹 1.0: 정보를 읽는 게 전부(read-only) -> Search engines들이
생겨남(e.g. Google, Yahoo, Netscape, etc)
웹 2.0: 정보를 읽고 쓰는 상호작용이 가능해짐(read-write) ->
SNS, 플랫폼이 생성됨(e.g. Facebook, Uber, Reddit, Yelp, etc)
웹 3.0: 정보에 읽고 쓰고 신뢰를 가지게 됨 -> Payment
ledger(e.g. Bitcoin, Ripple, Dai), Smart Contract(e.g.
Ethereum), ID(uport, iden3)
6. Substrate
기능에 집중하여 만들 수 있는 블록체인 SDK
이미 만들어진 기반들(elliptic curve/hash, stateDB, rlp, p2p
프로토콜 걱정 끝!)
매우 높은 자유도(state model, transaction, 모두 마음대로
설정 가능 ex) UTXO, Zexe)
다양한 개발 언어(wasm을 사용해서 Rust, C/C++, C#, Go, 등
사용가능)
PoW가 아닌 PoS 🚀
7. Consensus
Parachain: Nominated Proof of Stake(NPoS) + GRANPA
NPoS는 DPoS 와 달리 validator끼리 차등을 두지 않고
GRANPA로 finality 결정
more details
Relay Chain: upcoming
8. Polkadot Network
Shared Security Platform
블록체인들을 이어주는 relay chain
마이닝 파워 공유 -> 공유되는 보안 및 scalability
Interoperability, governance 지향
이더리움 bridge:
11. 들어가기 전에: 사전지식
러스트 개발 경험이 있어야 합니다.
UNIX 기반 운영체제에서 개발하는 것을 추천합니다.
만약 해당 운영체제가 아닐 경우 AWS나 Docker를 사용하는
것을 추천합니다.
AWS:
계정 만들고 인스턴스에 접속할 ssh key 만들기
IAM access key 만들기
13. Module 1: Substrate quickstart
목표: 런타임 모듈을 이용하여 래플 기능에 필요한 블록체인을
만들어보자.
목차:
- 설치 및 실행
- 인터랙션
- Substrate UI
14. Module 2: Deep dive on runtime
module
목표: 런타임 모듈에 대해 좀 더 자세히 알아본 뒤 나만의
블록체인 Immutable State Machine을 만들어보자.
목차:
- 런타임 모듈이란?
- 데이터모델 만들기
- 더 알아보기
15. 런타임 모듈이란?
런타임 모듈은 블록체인 메인넷을 개발할 때 하나하나
컴포넌트 마다 일일이 개발할 필요없이 미리 만들어 놓은
모듈들을 말한다.
이러한 모듈들을 이용해서 나만의 state model이나 tx logic을
만들어서 맞춤형 블록체인이 제작가능하다.
State model을 예를 들자면 비트코인의 utxo, 이더리움의
account model 등이 있다.
25. Module3: Parity ink!
목표: 웹어셈블리 스마트 컨트랙트 언어인 Parity ink를
이용해서 ERC20토큰 만들기
Agenda:
- Parity Ink
- 스마트 컨트랙트 제작
- 인터랙션
26. 그래서 디앱만 만들고 싶다고요?
빠른 개발기간
Good old ethereum 어카운트 모델에서 블록체인을 운영하고
싶어요
27. Parity Ink!
Rust로 된 Wasm 스마트 컨트랙트 언어 by Paritytech
다른 언어로는 Commonwealth labs가 진행하는 edgware에서
제공하는 언어들, opennetsys에서 지원하는 언어들(Go,
python, C/C++, etc), Soramitsu의 kagome에서 지원하는 언어
등이 있음.
28. 설치 및 실행
Github: www.github.com/speckleos/Ethcon-korea/module1
30. 우리가 만들 것
Flipper blockchain by Gavin Wood(“Creating a custom
substrate chain”)
- Pot이라는 storage를 만들고
- 동전 던지기를 구현해본 다음
- 이기면 돈을 얻거나
지면 돈을 가져가는 블록체인을 만듭니다.
31. Substrate 설치
로컬환경이나 AWS에서 서브스트레이트를 설치해주세요.
로컬:
https://github.com/SpeckleOS/Ethcon-korea/edit/master/module1/1.md
클라우드(AWS):
EC2 생성 ssh 가져오기
terraform file
46. set_payment()
토큰을 저장할 pot과 한번 시도하는데 넣을 토큰양을
초기화시키는 함수
1. 보낸 트랜젝션 validity 체크
2. 한번 넣을 양이 설정되지 않은 경우
2-1. 한번 넣을 토큰 양을 value에 맞춰 조정
Optional: address check(누가 보냈는지 확인 가능)
2-2. Storage 양을 0으로 설정
48. play()
우선 동전던지기 로직을 만들기 전에 거치는 과정은:
1. 트랜젝션이 보내는 사람에게 signed 됐는지 확인
2. Payment 스토리지가 state에 있는지 확인
3. 유저가 pot에 넣는 양만큼 유저의 계정에서 토큰을 없앰
4. pot에 유저에서 빼낸 토큰의 양만큼 balance를 더함
5. 0애서부터 255까지 난수를 제작하고 128만큼 큰지
아닌지 결정
6. 난수가 128보다 작으면 pot에 있는 모든 밸런스를
유저한테 보내고 그렇지 않은 경우 pot에 저장함 💰💰💰
52. 5. 업그레이드 가능한 모듈
이더리움에서 한번 스마트 계약이 배포되면 그 state를 변형
시킬 수 없는데 반해서 substrate는 바로 업그레이드가
가능합니다.
substrate-node-template 디렉토리로 이동한뒤 폴더 안에
있는 build.sh 셸코드를 실행시켜주면
./runtime/wasm/target/wasm32-unknown-unknown/release/
node_template_runtime_wasm.compact.wasm 이 빌드되는데
이를 업그레이드 섹션에 넣어주면 됩니다.