SlideShare a Scribd company logo
블록체인 아키텍처 구상부터,
설계, 구현, 서비스 과정까지
경험에서 얻은 교훈
돕다/피치파이브
박재호(jaypark@dobda.kr/jaypark@pitch5.team)
ICON 소개
• ICON(https://icon.foundation/?lang=ko)
• 2017년부터 본격적으로 개발이 시작된 허가형(permissioned) 블록체인
인 루프체인(loopchain)을 토대로 만들어진 스마트컨트랙트까지 지원
하는 퍼블릭 블록체인
• 은행/증권사/보험사를 비롯한 금융사, 병원, 대학들을 상호 연결하는
블록체인의 블록체인을 표방
• 인터넷이 여러 지역 네트워크(LAN)가 결합된 광역 네트워크(WAN)로
연결되어 전세계로 뻗어나가는 형태로 발전했듯이 블록체인도 상호 연
결되어 가치를 높이는 형태로 발전되리라 예상하고 있기에 이런 움직
임은 사람들의 많은 호응을 이끌어냄
아이콘 개념도
ICON 특징
• 플랫폼 특성
• 블록체인의 허브 역할
• 자체적인 암호화폐(ICX)와 이에 기반한 각종 토큰을 기반으로 다양한
DApp을 돌릴 수 있는 플랫폼
• 주요 특징
• 독자적인 거버넌스 체계를 기반으로 통화 발행, 보상, 벌칙, 수수료에
대한 정책을 정의
• 합의 알고리즘으로 작업 증명 (PoW, Proof of Work) 방식 대신에 위임
지분 증명(DPoS, Distributed Proof of Stake) 방식을 사용
• 상호 합의를 이끌어내는 과정에서 컴퓨팅 파워와 전력 낭비 없이 빠르게 거래를
처리해 결정적인 방식으로 확정
ICON 스마트컨트랙트 지원
• SCORE(Smart Contract On Reliable Environmen)
• 이더리움이나 EOS와 마찬가지로 SCORE라는 파이썬 기반의 독자적인
스마트컨트랙트를 지원
• 이를 활용해 크라우드 세일부터 토큰 정의와 교환, 분산형 애플리케이션 개발이
가능
• 개발자 지원
• ICON 테스트넷과 메인넷에 연동 가능한 SDK(현재 자바와 파이썬 버전이 공개되
어 있으며, 향후 자바스크립트 버전도 공개될 것이다)
• 크롬 확장을 기반으로 하는 지갑(ICONex)과 안드로이드/iOS용 지갑
• 거래를 추적하기 위한 블록 탐색기(ICONTracker)
• 생산성을 높이기 위한 통합 개발 환경(T-Bears)까지 제공
• ➔ 블록체인 전반에 걸친 인프라스트럭처를 충실하게 구축
ICON 인터체인 기능
• BTP(Blockchain Transmission Protocol)
• 공증(Notary) 채널을 통해 송신 블록체인의 거래가 수신 블록체인으로
전달되는 방식으로 구현
• 거래 유형
• 암호화폐나 토큰 등의 재화(asset)의 소유권 이전과 관련이 있음
• 궁극적으로는 원격 함수 호출(RPC, Remote Procedure Call)와 유사하게 원격 블
록체인의 스마트컨트랙트를 호출하고 결과를 돌려 받는 원격 스마트컨트랙트 호
출(RSC, Remote Smartcontract Call)까지 포함
• 참고: 결정성 문제로 인해 초기에는 DPoS 방식의 블록체인과 연계
블록체인 기술 정의와 소유권의 관계
기술적인 정의 소유권
블록과 거래 데이터 소유권 관련 데이터
데이터 변경에 대한 내재적인 저항력, 즉 무결성 소유권에 대한 진실을 판단하고 유지하는 능력
검증과 합의 알고리즘 개별 노드들이 일관된 소유권 상태에 도달하는 기초
암호화 기법 식별, 인증, 승인
블록체인 아키텍처 핵심 고려사항
• Public vs Consortium vs Private
• 무엇을 선택하느냐에 따라 합의 알고리즘이 결정된다
• PoW vs PoS
• 기술적으로 중요한 사항
• 블록 생성 과정에서 사용되는 합의 알고리즘
• 스마트컨트랙트 엔진(그리고 결과를 합의하는 알고리즘)
블록체인 설계 과정에서 어려운 난제
• 크립토이코노미: 가상 통화 유통과 가치
• 인플레이션과 디플레이션
• 수수료
• 블록체인 이해 당사자들의 관점을 고려
• 블록 생성자: 최대한 많은 수익
• DApp 운영자: 운영비용 절감
• 사용자: 최대한 적은 비용
• 거버넌스
• 누가 통제권을 발휘하며, 어떤 절차에 의거해 운영 방식을 변경하나?
블록체인 구현이 어려운 이유(1)
• 원장 데이터베이스 관련 고려 사항
• 단순 분산 데이터베이스일까?
• Replication 가능한 RDBMS → 복제 과정에서 생기는 문제에 대응하지 못함
• 결함 포용이 가능한 블록체인 원장 → 다수결에 의한 무결성 보장
• 스마트컨트랙트 관련 고려 사항
• 거래가 일어날 때 자동으로 계약이 체결된다면?
• 전통적인 환경에서는 비즈니스 논리를 SQL로 해결 → 애플리케이션이나 저장 프
로시저 사용
• 블록체인 환경에서는 비즈니스 논리를 스마트컨트랙트로 해결 → 온체인에서 구
동되므로 합의가 필요
블록체인 구현이 어려운 이유(2)
• 기술적인 비유
• 블록체인 = 원장을 보관하는 NoSQL 형태의 불변 분산 데이터베이스
• 스마트 컨트랙트 = 원장 거래 내용에 따라 동작하는 서버리스 애플리
케이션
• 구현 난이도가 높은 이유
• 네트워크로 연결된 분산 컴퓨팅: 대기시간(latency)
• 상태를 저장하고 비교하고 검증: 무상태형(stateless)에 비해 복잡한 처
리 과정이 필요
블록체인 메인넷 서비스 고려 사항(1)
• 거래소 상장(listing)과 토큰 스왑
• 상장
• ICO → 서비스 개통 → 상장
• 스왑
• ERC-20와 메인넷 토큰은 어떻게 서로 교환되나?
• 누가 어떻게?
• 참고) 원자적인 스왑
블록체인 메인넷 서비스 고려 사항(2)
• Soft fork vs Hard fork
• Soft fork: 규칙을 강하게 만들어 노드에 적용(규칙 제한 강화)
• 이전 버전과 호환: 예) 블록 크기 축소
• 점진적인 업그레이드
• Hard fork: 규칙을 약하게 만들어 노드에 적용(규칙 제한 약화)
• 이전 버전과 비호환: 예) 블록 크기 확장
• 급진적인 업그레이드: 계획적인 하드 포크인 경우에는 시점을 미리 공표
• 사례
• Segwit(Segregated Witness)
블록체인 도입을 위한 프레임워크(1)
• 인터넷 역사로부터 배운 교훈
• TCP/IP 규약을 토대로
• 킬러 앱인 이메일 등장  블록체인의 현재 수준
• 이후 웹 브라우저 등장
• 검색 엔진과 상업적인 목적의 사이트 등장
• 전자상거래 플랫폼으로 확장
• 소셜 서비스로 확장
• 모바일까지 확장
• 하드웨어, 소프트웨어, 서비스가 모두 단일 플랫폼에서 구동
블록체인 도입을 위한 프레임워크(2)
• 단일 목적으로 활용
• 적용도 쉽고 효과도 빠르게 거둘 수 있지만 한계가 많음
• 예: 비트코인
• 지역화
• 제한된 사용자가 즉각적인 가치를 높이기 위해 복잡하게 활용 → 채택 가능성이 높음
• 예: permissioned blockchain(FX, 관세, 재정 거래, 주식 매매)
• 대체
• 많은 이해 관계자가 단일 목적으로 활용 → 채택 가능성은 떨어지지만 파급력이 막강
• 예: 기존 통화 시스템 대체
• 변환
• 기존 경제/사회/정치 시스템 자체의 속성을 변경 → 기존에 없던 새로운 뭔가를 창출
• 예: 스마트 컨트랙트
블록체인 도입을 위한 프레임워크(3)
단일 목적
으로 활용
대체
지역화 변환
창의성
이해 관계자 다양성
낮음
높음
낮음 높음
https://hbr.org/2017/01/the-truth-about-blockchain
블록체인 도입에 앞서 고려할 사항(1)
• 분산 시스템으로서 블록체인
• 중앙통제 시스템으로 하지 못하는 작업이 있는가?
• 이해 관계자 사이의 관계가 복잡해서 단순한 파이프라인으로 구축하기
어려운가?
• 데이터 저장소로서 블록체인
• 어떤 데이터를 저장할 것인가?
• 어떤 트랜잭션과 연산을 사용할 것인가?
• 상호 감시 시스템으로서 블록체인
• 참여자들의 신뢰 수준이 어느 정도인가?
• 원장과 비즈니스 논리의 무결성과 투명성을 어느 정도 요구하는가?
블록체인 도입에 앞서 고려할 사항(2)
• Legacy 시스템과 블록체인 사이의 관계 정립
• 어떤 자료를 어디에 저장할 것인가? 관계형 DBMS, 분산 원장, 상태 DB
• 어떤 업무를 어디서 수행할 것인가? WAS, DBMS, 스마트 컨트랙트
• 양쪽을 어떻게 연결할 것인가?
블록체인 DApp 개발에서 가장 중요한 것은?
1. 무엇을 만들 것인가?
• 블록체인에 적합한가?
• 기존과 비교해 사용성/편의성/비용절감 효과가 확실한가?
2. 암호화폐 경제학
• 토큰 소유자들에게 어떤 이익을 제공하는가?
• 지속 가능한 모델인가?
3. 아키텍처
• 구체적이며 구현 가능한가?
• 메인넷 선정 기준이 무엇인가?
• 온/오프체인 연계 방안은 무엇인가?
DApp 구현시 자주 저지르는 실수
• 보안 문제
• 토큰 관련해 제 3자가 임의로 조작할 수 있다면?
• ERC-20 구현 관련 다양한 실수
• 결정성 문제
• 스마트컨트랙트 결과를 모든 노드가 합의할 수 없다면?
• 예) 게임 등을 위해 난수 사용, 오프체인 상태 사용, 운영체제 의존, 외부 입력
• 성능 문제
• 스마트컨트랙트는 클라우드 서버리스에 비해 엄청나게 비싼 연산
• CPU와 메모리 관련
• 생각해볼 사항
• 처리가 너무 느릴 경우 어떤 영향을 미치나?
• 연산량이 많을 경우 어떤 영향을 미치나?
블록체인의 플랫폼화/서비스화 동향
• 블록체인 플랫폼화
• 클라우드 업체 중심: IBM(블루믹스/하이퍼레저), 마이크로소프트(코코
프레임워크), AWS(Managed Blockchain(하이퍼레저, 이더리
움)/Quantum Ledger Database), 오라클(블록체인 클라우드 서비스/하
이퍼레저)
• 대부분 허가형 블록체인에 초점을 맞춤
• 거버넌스 문제: 플랫폼/서비스에서 제공하는 노드를 모두 클라우드 업
체에서 관리하기 때문에 퍼블릭의 의미가 없음
• 성능 문제: TPS를 높이기 위한 목적
절찬리에 판매 중(역서) 절찬리에 판매 중(저서)
salaryup.io에서
블록체인 온라인 스터디 진행 중

More Related Content

What's hot (19)

PDF
[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...
OpenStack Korea Community
 
PDF
TXGX 2019_Jesse_Klaytn API Service
Klaytn
 
PDF
kubernetes : From beginner to Advanced
Inho Kang
 
PDF
OpenStack summit austin 2016
Yongyoon Shin
 
PDF
[OpenStack Days Korea 2016] 아이디어 이코노미에서의 하이브리드 클라우드 전략
OpenStack Korea Community
 
PDF
On premise db & cloud database
Oracle Korea
 
PDF
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
OpenStack Korea Community
 
PDF
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
OpenStack Korea Community
 
PDF
150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN
Ian Choi
 
PDF
Open stack summit_barcelona_보고서
Yongyoon Shin
 
PDF
Service mesh(istio) monitoring
Jeong-Ho Na
 
PDF
Nexclipper_1905_summary_kor
Jinyong Kim
 
PDF
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
 
PDF
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
OpenStack Korea Community
 
PDF
if kakao dev 2019_Ground X_Session 01
Klaytn
 
PDF
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
NAVER D2
 
PDF
if kakao dev 2019_Ground X_Session 04
Klaytn
 
PPTX
Mastering devops with oracle 강인호
Inho Kang
 
PDF
[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...
OpenStack Korea Community
 
[OpenInfra Days Korea 2018] (Track 1) Kubernetes 환경에서의 Volume 배포와 데이터 관리의 유연성...
OpenStack Korea Community
 
TXGX 2019_Jesse_Klaytn API Service
Klaytn
 
kubernetes : From beginner to Advanced
Inho Kang
 
OpenStack summit austin 2016
Yongyoon Shin
 
[OpenStack Days Korea 2016] 아이디어 이코노미에서의 하이브리드 클라우드 전략
OpenStack Korea Community
 
On premise db & cloud database
Oracle Korea
 
[OpenInfra Days Korea 2018] (Track 4) Provisioning Dedicated Game Server on K...
OpenStack Korea Community
 
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
OpenStack Korea Community
 
150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN
Ian Choi
 
Open stack summit_barcelona_보고서
Yongyoon Shin
 
Service mesh(istio) monitoring
Jeong-Ho Na
 
Nexclipper_1905_summary_kor
Jinyong Kim
 
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
OpenStack Korea Community
 
if kakao dev 2019_Ground X_Session 01
Klaytn
 
Microsoft Azure 클라우드 에서 Elasticsearch 서비스 사용 - 이건복 님
NAVER D2
 
if kakao dev 2019_Ground X_Session 04
Klaytn
 
Mastering devops with oracle 강인호
Inho Kang
 
[OpenInfra Days Korea 2018] (Track 2) - OpenStack 기반의 IaaS, PaaS 통합 Orchestra...
OpenStack Korea Community
 

Similar to Oracle Blockchain_JaeHo Park_CTO (20)

PPTX
Blockchain techonologies and smart city 블록체인기술과 스마트시티
Byounghee Kim
 
PPTX
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
doo rip choi
 
DOCX
Blockchain 개념과 현주소
Hosung Lee
 
PDF
[블록체인 기업으로 가는 길] 3일차 블록체인 사업
Jay Park
 
PDF
Understanding BlockChain
SungHyuk Park
 
PDF
V SYSTEMS Whitepaper_KR
V SYSTEMS
 
PDF
[Partner TechForum] 금융 서비스를 위한 블록체인 구축사례 소개
Amazon Web Services Korea
 
PDF
Block chain bidding_System
환석 주
 
PDF
블록체인 개요
Jongseok Choi
 
PDF
블록체인과 개발자
YUSOO KIM
 
PDF
[ETHCon Korea 2019] Kim Taekgyun 김택균
ethconkr
 
PDF
[블록체인 기업으로 가는 길] 2일차 블록체인 기술
Jay Park
 
PDF
Blockchain phenonmenon why young people love it?
Heung-No Lee
 
PPTX
블록체인 이슈와 전망 New db
HongSuk Seo
 
PPTX
2024 인천 블록체인 칼리지 전문가과정 강의자료 - EVM 이론, 솔리디티 기본 문법
Bora Lee
 
PDF
김치코인, 단순한 비웃음이 아니라 구조를 분석해야 할 대상이다 김치코인은 왜 문제인가? 구조적 해석으로 접근하라
yyhak12345
 
PDF
Blockchain internet economy
Heung-No Lee
 
PDF
2018/08 GDG 판교 발표 자료
정주 이
 
PDF
Welcome to the next internet “currency & platform”.pdf
Jiyun Kim
 
PPTX
Cloud block chain과 distributed social network 활용한 insurtech
Ho Gyu Lee
 
Blockchain techonologies and smart city 블록체인기술과 스마트시티
Byounghee Kim
 
3.고객을 연결하는 블록체인 (4차산업혁명: 고객과의 소통 신기술의 진화)
doo rip choi
 
Blockchain 개념과 현주소
Hosung Lee
 
[블록체인 기업으로 가는 길] 3일차 블록체인 사업
Jay Park
 
Understanding BlockChain
SungHyuk Park
 
V SYSTEMS Whitepaper_KR
V SYSTEMS
 
[Partner TechForum] 금융 서비스를 위한 블록체인 구축사례 소개
Amazon Web Services Korea
 
Block chain bidding_System
환석 주
 
블록체인 개요
Jongseok Choi
 
블록체인과 개발자
YUSOO KIM
 
[ETHCon Korea 2019] Kim Taekgyun 김택균
ethconkr
 
[블록체인 기업으로 가는 길] 2일차 블록체인 기술
Jay Park
 
Blockchain phenonmenon why young people love it?
Heung-No Lee
 
블록체인 이슈와 전망 New db
HongSuk Seo
 
2024 인천 블록체인 칼리지 전문가과정 강의자료 - EVM 이론, 솔리디티 기본 문법
Bora Lee
 
김치코인, 단순한 비웃음이 아니라 구조를 분석해야 할 대상이다 김치코인은 왜 문제인가? 구조적 해석으로 접근하라
yyhak12345
 
Blockchain internet economy
Heung-No Lee
 
2018/08 GDG 판교 발표 자료
정주 이
 
Welcome to the next internet “currency & platform”.pdf
Jiyun Kim
 
Cloud block chain과 distributed social network 활용한 insurtech
Ho Gyu Lee
 
Ad

More from Oracle Korea (20)

PDF
Oracle Blockchain Platform_Wonjo Yoo
Oracle Korea
 
PDF
Oracle cloud data interface
Oracle Korea
 
PDF
Spring boot microservice metrics monitoring
Oracle Korea
 
PDF
Opentracing jaeger
Oracle Korea
 
PDF
Which Questions We Should Have
Oracle Korea
 
PDF
Oracle NoSQL
Oracle Korea
 
PDF
Enterprise Postgres
Oracle Korea
 
PDF
API Design Principles Essential 
Oracle Korea
 
PDF
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
PDF
CI/CD 기반의 Microservice 개발
Oracle Korea
 
PDF
kubernetes from beginner to advanced
Oracle Korea
 
PDF
OpenJDK & Graalvm
Oracle Korea
 
PDF
Cloud Native 자바 플랫폼: Graalvm Overview
Oracle Korea
 
PDF
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Oracle Korea
 
PDF
times ten in-memory database for extreme performance
Oracle Korea
 
PDF
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
Oracle Korea
 
PDF
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
Oracle Korea
 
PDF
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
Oracle Korea
 
PDF
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
Oracle Korea
 
PDF
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
Oracle Korea
 
Oracle Blockchain Platform_Wonjo Yoo
Oracle Korea
 
Oracle cloud data interface
Oracle Korea
 
Spring boot microservice metrics monitoring
Oracle Korea
 
Opentracing jaeger
Oracle Korea
 
Which Questions We Should Have
Oracle Korea
 
Oracle NoSQL
Oracle Korea
 
Enterprise Postgres
Oracle Korea
 
API Design Principles Essential 
Oracle Korea
 
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
CI/CD 기반의 Microservice 개발
Oracle Korea
 
kubernetes from beginner to advanced
Oracle Korea
 
OpenJDK & Graalvm
Oracle Korea
 
Cloud Native 자바 플랫폼: Graalvm Overview
Oracle Korea
 
Eclipse MicroProfile 과 Microservice Java framework – Helidon
Oracle Korea
 
times ten in-memory database for extreme performance
Oracle Korea
 
[Demo session] 관리형 Kafka 서비스 - Oracle Event Hub Service
Oracle Korea
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
Oracle Korea
 
[Main Session] 보안을 고려한 애플리케이션 개발 공정 및 실무적 수행 방법 소개
Oracle Korea
 
[Main Session] 미래의 Java 미리보기 - 앰버와 발할라 프로젝트를 중심으로
Oracle Korea
 
[Hands-on 필수 준비 사항] 쇼핑몰 예제를 통한 Microservice 개발/배포 실습 - 황주필 부장 / 강인호 부장, 한국오라클
Oracle Korea
 
Ad

Oracle Blockchain_JaeHo Park_CTO

  • 1. 블록체인 아키텍처 구상부터, 설계, 구현, 서비스 과정까지 경험에서 얻은 교훈 돕다/피치파이브 박재호([email protected]/[email protected])
  • 2. ICON 소개 • ICON(https://icon.foundation/?lang=ko) • 2017년부터 본격적으로 개발이 시작된 허가형(permissioned) 블록체인 인 루프체인(loopchain)을 토대로 만들어진 스마트컨트랙트까지 지원 하는 퍼블릭 블록체인 • 은행/증권사/보험사를 비롯한 금융사, 병원, 대학들을 상호 연결하는 블록체인의 블록체인을 표방 • 인터넷이 여러 지역 네트워크(LAN)가 결합된 광역 네트워크(WAN)로 연결되어 전세계로 뻗어나가는 형태로 발전했듯이 블록체인도 상호 연 결되어 가치를 높이는 형태로 발전되리라 예상하고 있기에 이런 움직 임은 사람들의 많은 호응을 이끌어냄
  • 4. ICON 특징 • 플랫폼 특성 • 블록체인의 허브 역할 • 자체적인 암호화폐(ICX)와 이에 기반한 각종 토큰을 기반으로 다양한 DApp을 돌릴 수 있는 플랫폼 • 주요 특징 • 독자적인 거버넌스 체계를 기반으로 통화 발행, 보상, 벌칙, 수수료에 대한 정책을 정의 • 합의 알고리즘으로 작업 증명 (PoW, Proof of Work) 방식 대신에 위임 지분 증명(DPoS, Distributed Proof of Stake) 방식을 사용 • 상호 합의를 이끌어내는 과정에서 컴퓨팅 파워와 전력 낭비 없이 빠르게 거래를 처리해 결정적인 방식으로 확정
  • 5. ICON 스마트컨트랙트 지원 • SCORE(Smart Contract On Reliable Environmen) • 이더리움이나 EOS와 마찬가지로 SCORE라는 파이썬 기반의 독자적인 스마트컨트랙트를 지원 • 이를 활용해 크라우드 세일부터 토큰 정의와 교환, 분산형 애플리케이션 개발이 가능 • 개발자 지원 • ICON 테스트넷과 메인넷에 연동 가능한 SDK(현재 자바와 파이썬 버전이 공개되 어 있으며, 향후 자바스크립트 버전도 공개될 것이다) • 크롬 확장을 기반으로 하는 지갑(ICONex)과 안드로이드/iOS용 지갑 • 거래를 추적하기 위한 블록 탐색기(ICONTracker) • 생산성을 높이기 위한 통합 개발 환경(T-Bears)까지 제공 • ➔ 블록체인 전반에 걸친 인프라스트럭처를 충실하게 구축
  • 6. ICON 인터체인 기능 • BTP(Blockchain Transmission Protocol) • 공증(Notary) 채널을 통해 송신 블록체인의 거래가 수신 블록체인으로 전달되는 방식으로 구현 • 거래 유형 • 암호화폐나 토큰 등의 재화(asset)의 소유권 이전과 관련이 있음 • 궁극적으로는 원격 함수 호출(RPC, Remote Procedure Call)와 유사하게 원격 블 록체인의 스마트컨트랙트를 호출하고 결과를 돌려 받는 원격 스마트컨트랙트 호 출(RSC, Remote Smartcontract Call)까지 포함 • 참고: 결정성 문제로 인해 초기에는 DPoS 방식의 블록체인과 연계
  • 7. 블록체인 기술 정의와 소유권의 관계 기술적인 정의 소유권 블록과 거래 데이터 소유권 관련 데이터 데이터 변경에 대한 내재적인 저항력, 즉 무결성 소유권에 대한 진실을 판단하고 유지하는 능력 검증과 합의 알고리즘 개별 노드들이 일관된 소유권 상태에 도달하는 기초 암호화 기법 식별, 인증, 승인
  • 8. 블록체인 아키텍처 핵심 고려사항 • Public vs Consortium vs Private • 무엇을 선택하느냐에 따라 합의 알고리즘이 결정된다 • PoW vs PoS • 기술적으로 중요한 사항 • 블록 생성 과정에서 사용되는 합의 알고리즘 • 스마트컨트랙트 엔진(그리고 결과를 합의하는 알고리즘)
  • 9. 블록체인 설계 과정에서 어려운 난제 • 크립토이코노미: 가상 통화 유통과 가치 • 인플레이션과 디플레이션 • 수수료 • 블록체인 이해 당사자들의 관점을 고려 • 블록 생성자: 최대한 많은 수익 • DApp 운영자: 운영비용 절감 • 사용자: 최대한 적은 비용 • 거버넌스 • 누가 통제권을 발휘하며, 어떤 절차에 의거해 운영 방식을 변경하나?
  • 10. 블록체인 구현이 어려운 이유(1) • 원장 데이터베이스 관련 고려 사항 • 단순 분산 데이터베이스일까? • Replication 가능한 RDBMS → 복제 과정에서 생기는 문제에 대응하지 못함 • 결함 포용이 가능한 블록체인 원장 → 다수결에 의한 무결성 보장 • 스마트컨트랙트 관련 고려 사항 • 거래가 일어날 때 자동으로 계약이 체결된다면? • 전통적인 환경에서는 비즈니스 논리를 SQL로 해결 → 애플리케이션이나 저장 프 로시저 사용 • 블록체인 환경에서는 비즈니스 논리를 스마트컨트랙트로 해결 → 온체인에서 구 동되므로 합의가 필요
  • 11. 블록체인 구현이 어려운 이유(2) • 기술적인 비유 • 블록체인 = 원장을 보관하는 NoSQL 형태의 불변 분산 데이터베이스 • 스마트 컨트랙트 = 원장 거래 내용에 따라 동작하는 서버리스 애플리 케이션 • 구현 난이도가 높은 이유 • 네트워크로 연결된 분산 컴퓨팅: 대기시간(latency) • 상태를 저장하고 비교하고 검증: 무상태형(stateless)에 비해 복잡한 처 리 과정이 필요
  • 12. 블록체인 메인넷 서비스 고려 사항(1) • 거래소 상장(listing)과 토큰 스왑 • 상장 • ICO → 서비스 개통 → 상장 • 스왑 • ERC-20와 메인넷 토큰은 어떻게 서로 교환되나? • 누가 어떻게? • 참고) 원자적인 스왑
  • 13. 블록체인 메인넷 서비스 고려 사항(2) • Soft fork vs Hard fork • Soft fork: 규칙을 강하게 만들어 노드에 적용(규칙 제한 강화) • 이전 버전과 호환: 예) 블록 크기 축소 • 점진적인 업그레이드 • Hard fork: 규칙을 약하게 만들어 노드에 적용(규칙 제한 약화) • 이전 버전과 비호환: 예) 블록 크기 확장 • 급진적인 업그레이드: 계획적인 하드 포크인 경우에는 시점을 미리 공표 • 사례 • Segwit(Segregated Witness)
  • 14. 블록체인 도입을 위한 프레임워크(1) • 인터넷 역사로부터 배운 교훈 • TCP/IP 규약을 토대로 • 킬러 앱인 이메일 등장  블록체인의 현재 수준 • 이후 웹 브라우저 등장 • 검색 엔진과 상업적인 목적의 사이트 등장 • 전자상거래 플랫폼으로 확장 • 소셜 서비스로 확장 • 모바일까지 확장 • 하드웨어, 소프트웨어, 서비스가 모두 단일 플랫폼에서 구동
  • 15. 블록체인 도입을 위한 프레임워크(2) • 단일 목적으로 활용 • 적용도 쉽고 효과도 빠르게 거둘 수 있지만 한계가 많음 • 예: 비트코인 • 지역화 • 제한된 사용자가 즉각적인 가치를 높이기 위해 복잡하게 활용 → 채택 가능성이 높음 • 예: permissioned blockchain(FX, 관세, 재정 거래, 주식 매매) • 대체 • 많은 이해 관계자가 단일 목적으로 활용 → 채택 가능성은 떨어지지만 파급력이 막강 • 예: 기존 통화 시스템 대체 • 변환 • 기존 경제/사회/정치 시스템 자체의 속성을 변경 → 기존에 없던 새로운 뭔가를 창출 • 예: 스마트 컨트랙트
  • 16. 블록체인 도입을 위한 프레임워크(3) 단일 목적 으로 활용 대체 지역화 변환 창의성 이해 관계자 다양성 낮음 높음 낮음 높음 https://hbr.org/2017/01/the-truth-about-blockchain
  • 17. 블록체인 도입에 앞서 고려할 사항(1) • 분산 시스템으로서 블록체인 • 중앙통제 시스템으로 하지 못하는 작업이 있는가? • 이해 관계자 사이의 관계가 복잡해서 단순한 파이프라인으로 구축하기 어려운가? • 데이터 저장소로서 블록체인 • 어떤 데이터를 저장할 것인가? • 어떤 트랜잭션과 연산을 사용할 것인가? • 상호 감시 시스템으로서 블록체인 • 참여자들의 신뢰 수준이 어느 정도인가? • 원장과 비즈니스 논리의 무결성과 투명성을 어느 정도 요구하는가?
  • 18. 블록체인 도입에 앞서 고려할 사항(2) • Legacy 시스템과 블록체인 사이의 관계 정립 • 어떤 자료를 어디에 저장할 것인가? 관계형 DBMS, 분산 원장, 상태 DB • 어떤 업무를 어디서 수행할 것인가? WAS, DBMS, 스마트 컨트랙트 • 양쪽을 어떻게 연결할 것인가?
  • 19. 블록체인 DApp 개발에서 가장 중요한 것은? 1. 무엇을 만들 것인가? • 블록체인에 적합한가? • 기존과 비교해 사용성/편의성/비용절감 효과가 확실한가? 2. 암호화폐 경제학 • 토큰 소유자들에게 어떤 이익을 제공하는가? • 지속 가능한 모델인가? 3. 아키텍처 • 구체적이며 구현 가능한가? • 메인넷 선정 기준이 무엇인가? • 온/오프체인 연계 방안은 무엇인가?
  • 20. DApp 구현시 자주 저지르는 실수 • 보안 문제 • 토큰 관련해 제 3자가 임의로 조작할 수 있다면? • ERC-20 구현 관련 다양한 실수 • 결정성 문제 • 스마트컨트랙트 결과를 모든 노드가 합의할 수 없다면? • 예) 게임 등을 위해 난수 사용, 오프체인 상태 사용, 운영체제 의존, 외부 입력 • 성능 문제 • 스마트컨트랙트는 클라우드 서버리스에 비해 엄청나게 비싼 연산 • CPU와 메모리 관련 • 생각해볼 사항 • 처리가 너무 느릴 경우 어떤 영향을 미치나? • 연산량이 많을 경우 어떤 영향을 미치나?
  • 21. 블록체인의 플랫폼화/서비스화 동향 • 블록체인 플랫폼화 • 클라우드 업체 중심: IBM(블루믹스/하이퍼레저), 마이크로소프트(코코 프레임워크), AWS(Managed Blockchain(하이퍼레저, 이더리 움)/Quantum Ledger Database), 오라클(블록체인 클라우드 서비스/하 이퍼레저) • 대부분 허가형 블록체인에 초점을 맞춤 • 거버넌스 문제: 플랫폼/서비스에서 제공하는 노드를 모두 클라우드 업 체에서 관리하기 때문에 퍼블릭의 의미가 없음 • 성능 문제: TPS를 높이기 위한 목적
  • 22. 절찬리에 판매 중(역서) 절찬리에 판매 중(저서) salaryup.io에서 블록체인 온라인 스터디 진행 중