Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
유원조Cloud Platform Solution Engineer GroupJanuary 29, 2019
Enterprise-Ready Blockchain 오라클블록체인플랫폼소개
3Confidential – Oracle Internal/Restricted/Highly Restricted 3
Agenda
1. 기업용블록체인개요
2. Oracle Blockchain Platform 소개
3. Demo
비허가 (개방형)허가형
• 허가된멤버만이네트워크에참여
• 예: 제조업체및공급업체,화물운송업체및브로커네트워크등
• 보다안전하고향상된관리 – 사전에알려진참가자
• 기업형으로적합함
• 인터넷에있는누구나가입하여원장정보에액세스할수있음
• 예: Bitcoin, Ethereum, 등
• 덜안전하고빈약한관리 -사전에알려지지않은참가자
오라클은 Permissioned 엔터프라이즈블록체인플랫폼제공
블록체인의두가지유형
보안강화
비용감소
블록체인네트워크의확인된데이터를기반으로더많은거래수행, 보안강화,비용절감등을통해컨소시엄구성원간의투명성을제공한다
더많은트랜잭션
“ “
5
기업용블록체인이란?
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)
추가로필요한사항들
기업용블록체인에필요한사항
7Confidential – Oracle Internal/Restricted/Highly Restricted 7
1. 기업용블록체인개요
2. Oracle Blockchain Platform 소개
3. Demo
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
• 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
• 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
• 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 개발
• 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배포
13
Couch DB Query Syntax : OBCS에서호환됨
Berkeley DB Query Syntax : SQL 형태로되어있어사용이편리함
개발편의성–SQL기반Query 사용
14
Oracle Blockchain Platform
데이터분석을위한Rich History Database
Oracle Database Cloud Service
Oracle Autonomous Data Warehouse
Oracle Analytics Cloud
Oracle Data Visualization Cloud Service
15
계정관리시스템연계
• Oracle 클라우드의계정관리시스템과 Hyperledger의 CA와계정연계
• Third Party 계정 Privider와의연동 - SAML지원, Microsoft Active Directory 연동, SSO
• 사용자별 ACL 관리
DEMONSTRATIONCar Trace
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일홍길동구매
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 호출 /소스확인
Thank you
19