19
1

유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

1

Page 2: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

유원조Cloud Platform Solution Engineer GroupJanuary 29, 2019

Enterprise-Ready Blockchain 오라클블록체인플랫폼소개

Page 3: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

3Confidential – Oracle Internal/Restricted/Highly Restricted 3

Agenda

1. 기업용블록체인개요

2. Oracle Blockchain Platform 소개

3. Demo

Page 4: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

비허가 (개방형)허가형

• 허가된멤버만이네트워크에참여

• 예: 제조업체및공급업체,화물운송업체및브로커네트워크등

• 보다안전하고향상된관리 – 사전에알려진참가자

• 기업형으로적합함

• 인터넷에있는누구나가입하여원장정보에액세스할수있음

• 예: Bitcoin, Ethereum, 등

• 덜안전하고빈약한관리 -사전에알려지지않은참가자

오라클은 Permissioned 엔터프라이즈블록체인플랫폼제공

블록체인의두가지유형

Page 5: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

보안강화

비용감소

블록체인네트워크의확인된데이터를기반으로더많은거래수행, 보안강화,비용절감등을통해컨소시엄구성원간의투명성을제공한다

더많은트랜잭션

“ “

5

기업용블록체인이란?

Page 6: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

Applications(Client SDK)

Validating Nodes/ Peers

Distributed Ledger (Single Version of Truth)

Smart Contract (aka Chaincode)

Membership Service

Ordering Service

Identity Management (for member enrollment)

Fault Tolerant Event Hub (for ordering event mgmt.)

Container Lifecycle Management (for system and chaincode containers)

Configuration & Monitoring Tools

Autonomous Recovery(when components fail)

Managed Patching & Upgrades

Elastic scaling on demand

Multi-datacenter DR(with backup of ledger and config info)

추가로필요한사항들

기업용블록체인에필요한사항

Page 7: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

7Confidential – Oracle Internal/Restricted/Highly Restricted 7

1. 기업용블록체인개요

2. Oracle Blockchain Platform 소개

3. Demo

Page 8: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

8

Infrastructure and PaaS ServicesManaged HA VMs, Isolated Containers, Kafka Service,

Identity CS (identity and key mgmt), Management Service

Hyperledger Fabric Blockchain Nodes & ContainersPeer Nodes, Smart Contract Containers, Membership Services, Ordering Service

REST Proxy Synchronous & Asynchronous

Integration APIs

Data ServicesObject Store CS

AdministrationDynamic Configuration,Monitoring and Troubleshooting

Pre-assembled Managed service Production-ready Public or private cloud

On PremisesPaaS

SaaS

Oracle Cloud Infrastructure (OCI)

REST

gRPCREST

gRPC

*

*coming soon

Oracle Blockchain Platform

Page 9: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

• OS 설치

• cURL install

• Docker / Docker Compose 설치

• Go, Node.JS설치

• Python설치

• Curl로 Hyperledger 설치

• Crypto-config.yml을참조해서 Key file 생성

• cryptogen generate --config=./crypto-config.yaml

• Genesis block 생성

• Crypto-config.yml을참조해서 Key file 생성

• configtxgen -profile OneOrgOrdererGenesis -outputBlock ./config/genesis.block

• Create a Channel Configuration Transaction

• ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP

• Start the network• docker-compose -f docker-compose-cli.yaml up -d

1 Step

직접 Hyperledger Fabric 설치 Oracle Blockchain Platform

Easy Provisioning

Page 10: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

• docker-compose-neworg.yaml 생성• Generate the New Org Crypto Material

• ../../bin/cryptogen generate --config=./org3-crypto.yaml • cd ../ && cp -r crypto-config/ordererOrganizations org3-artifacts/crypto-config/

• Prepare the CLI Environment• Fetch the Configuration

• peer channel fetch config config_block.pb -o orderer.example.com:7050 -c $CHANNEL_NAME --tls --cafile $ORDERER_CA

• Convert the Configuration to JSON and Trim It Down• configtxlator proto_decode --input config_block.pb --type common.Block |

jq .data.data[0].payload.data.config > config.json• Add the Org3 Crypto Material

• jq -s '.[0] * {"channel_group":{"groups":{"Application":{"groups": {"Org3MSP":.[1]}}}}}' config.json ./channel-artifacts/org3.json >modified_config.json

• configtxlator proto_encode --input config.json --type common.Config --output config.pb

• 5 more steps …• Sign and Submit the Config Update

• peer channel signconfigtx -f org3_update_in_envelope.pb • peer channel update -f org3_update_in_envelope.pb -c $CHANNEL_NAME -o

orderer.example.com:7050 --tls --cafile $ORDERER_CA • Configuring Leader Election• Join Org3 to the Channel

• docker-compose -f docker-compose-org3.yaml up -d • peer channel fetch 0 mychannel.block -o orderer.example.com:7050 -c

$CHANNEL_NAME --tls --cafile $ORDERER_CA • peer channel join -b mychannel.block

Hyperledger Fabric 에서구성

• 네트워크, 파트너및트랜잭션관리를위한직관적인관리콘솔

Oracle Blockchain Platform

Org 추가및 Join

Page 11: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

• Smart Contract 개발자는블록체인에서비즈니스로직을만들고테스트• 콘솔또는 SDK를통해배포

• 웹서비스 / REST API 또는 SDK를통한테스트

• Application 개발자는배포된 Smart Contract를통해트랜잭션을실행하는최종사용자응용프로그램을개발• Client SDK (Java, node.js)

• Web Services/REST APIs

• 개발자생산성향상

• Rich queries on history DB

• Developer Cloud를 CI / CD 용 DevOps 도구로이용

Client

SDK

Keys

Application Developers Smart Contract Developer

REST Proxy(HLF SDK)

BCS Console

Blockchain Network

REST

Dev mode

Unit testing with mock

ledger

Smart Contract, Application 개발

Page 12: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

• Chaincode 목록확인• peer chaincode list --installed• peer chaincode list --instantiated -C org1mspc

• Chaincode install• peer chaincode install -n mycc -v 1.0 -l

“golang" -p ${CC_SRC_PATH}

• Chaincode instantiate• peer chaincode instantiate -

o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P <policy_string> --logging-level debug

Hyperledger Fabric 에서배포 Oracle Blockchain Platform

Chaincode배포

Page 13: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

13

Couch DB Query Syntax : OBCS에서호환됨

Berkeley DB Query Syntax : SQL 형태로되어있어사용이편리함

개발편의성–SQL기반Query 사용

Page 14: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

14

Oracle Blockchain Platform

데이터분석을위한Rich History Database

Oracle Database Cloud Service

Oracle Autonomous Data Warehouse

Oracle Analytics Cloud

Oracle Data Visualization Cloud Service

Page 15: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

15

계정관리시스템연계

• Oracle 클라우드의계정관리시스템과 Hyperledger의 CA와계정연계

• Third Party 계정 Privider와의연동 - SAML지원, Microsoft Active Directory 연동, SSO

• 사용자별 ACL 관리

Page 16: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

DEMONSTRATIONCar Trace

Page 17: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

Demo - Car Trace

제조사부품 딜러사 구매자

브레이크써스펜션유리타이어휠에어백전등배터리블랙박스시트엔진벨트기어

자동차정보• 2019 Bugatti Veyron - $1.7M • VIN: 5YJXCAE45GFF00001• Automatic / FWD• AdAir 에어백

History: • 2019년 1월 10일 SeoulAuto 제조• 2019년 1월 13일 Sam Dealer사판매• 2019년 1월 20일홍길동구매

Page 18: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

18

App 실행

환경준비

Car Trace Blockchain Network

Demo Architecture

18

Seoul Auto

제조사

SamDealer

samchannel

Dealer 구매자

REST Proxy REST ProxyWeb App Web App

인스턴스 Provisioning

네트워크구성

채널생성

체인코드배포

WebApp 설정

Car 부품등록

제조사에서 Car 등록

Dealer로 Car 이전

구매자에게 Car 이전

REST API 호출 /소스확인

Page 19: 유원조 Cloud Platform Solution Engineer Group January 29, 2019cloudworld.co.kr/down/T4_3 Modern Cloud Development.pdf · 2019-01-30 · 유원조 Cloud Platform Solution Engineer

Thank you

19