O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Oracle Blockchain_JaeHo Park_CTO

<블록체인 구상, 설계, 구현, 서비스로 부터 얻은 교훈> 돕다

블록체인 서비스를 기획, 설계, 구현, 서비스와 ICO를 진행한 경험을 공유

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Oracle Blockchain_JaeHo Park_CTO

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

×