Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Oracle Blockchain_JaeHo Park_CTO

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

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

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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에서 블록체인 온라인 스터디 진행 중

×