블록체인응용과실습 · 2019. 8. 21. · 1. 블록체인(비트코인)...
Post on 13-Oct-2020
1 Views
Preview:
TRANSCRIPT
묶음 강좌명 : 블록체인
11. 블록체인 실습11-3. 블록체인 플랫폼 명령어 사용법
블록체인응용과 실습
1. 블록체인(비트코인) 플랫폼 명령어 예시 및
사용방법
2. 블록체인(이더리움) 플랫폼 사용법 예시 및
사용방법
블록체인 플랫폼 명령어의 사용법을
설명할 수 있다.
1. 블록체인(비트코인) 플랫폼명령어예시및사용방법
비트코인
비트코인 패키지
비트코인 환경설정
~/.bitcoin/bitcoin.conf
패키지
• 비트코인의 GUI 클라이언트(비트코인 월렛)
Bitcoin-qt
• 서버측에서 동작하는 비트코인 서버대몬
Bitcoin-daemon(bitcoind)
• 커맨드 라인 인터페이스로 비트코인서버에 명령을 전달하는 프로그램
Bitcoin-cli
블록생성
• 송금을 하기 위해 BTC를 생성하고, 비트코인을 블록을 생성한보상으로 BTC를 받음
• 각 행은 1블럭을 나타냄
• 비트코인의 블럭은 32바이트의 16진수로 표현함
bitcoin-cli generate 101
블록생성
블록생성
• 현재 블록 수를 확인
bitcoin-cli getblockcount
• 비트코인 계좌 역할
• 계좌 생성 후 BTC 거래가 가능
bitcoin-cli getnewaddress testuser1
현재잔고확인
• 비트코인 계좌 역할
• 계좌 생성 후 BTC 거래가 가능함
bitcoin-cli getbalance
코인이체거래
• 트랜잭션 확인 가능한 식별번호(txid) 표시됨
bitcoin-cli sendtoaddress2NBFP6WehF4WnRxJY5ypsKuytKP1ucMxjBx 10
트랜잭션정보확인
• 미확정 상태의 트랜잭션
bitcoin-cli listunspent 0
블록생성
• 미확정 트랜잭션을 확정하기 위해 Mining
• 트랜잭션이 블록에 저장되고, 송금 확정
bitcoin-cli generate 1
트랜잭션아이디기반검색
bitcoin-cli gettransaction96cc8f039db0196a256b064686bc56f51221b2024893045125d1db50270b5e7e
트랜잭션아이디기반검색
Hexstring 기반검색
bitcoin-cli decoderawtransaction0100000001166334ce……….……….. e87500000000
Hexstring 기반검색
Bitcoin wallet backup
bitcoin-cli backupwallet “test.dat”
bitcoin-cli validateaddress“cPqb5NZPMG3kbXsWTu6opujud6cEGUS8normHtWdNwG4pB1ymiYk”
2. 블록체인(이더리움) 플랫폼사용법예시및사용방법
롭슨메인넷환경과제일비슷하여스마트컨트랙트개발환경으로일반적으로사용함
이더리움플랫폼예시
• 합의 알고리즘 : PoW(Proof Of Work)
• 블록타임 : 약 15초
• 지원 클라이언트 : geth, parity
• 실행 방법 : geth --testnet or parity --chain ropsten
• Explorer : https://ropsten.etherscan.io/
• Github : https://github.com/ethereum/ropsten
• Request from a faucet : http://faucet.ropsten.be:3001
KovanRopsten 대안으로개발된네트워크
다른테스트넷에비해블록타임이짧기때문에개발및테스트에유리함
이더리움플랫폼예시
• PoS(작업 증명)는 방대한 양의 전력과 컴퓨팅 파워 소비, 복잡한 알고리즘 수행
• PoA(권위 증명)은 일련의 테스트와 사전 심사를 통해 개인 신원이 일단 투명해지면, 네트워크 트랜잭션의 유효성 확인에참여
• 투명한 네트워크상 검증 방법을 제공하여 악의적인 행위자가익명성 뒤에서 네트워크를 공격하는 능력을 제거함
• 합의 알고리즘 :PoA(Proof-of-Authority) : 권위증명
• 블록타임 : 4초
• 지원 클라이언트 : parity
• 실행 방법 : parity --chain kovan
• Explorer : https://kovan.etherscan.io/
• Github : https://github.com/kovan-testnet/proposal
• Request from a faucet :https://github.com/kovan-testnet/faucet
Kovan
이더리움플랫폼예시
메타마스크 Wallet
롭슨넷이더받기
https://faucet.metamask.io/
메타마스크 Wallet
메타마스크 Wallet
이더스캔
http://etherscan.io
TxHash 기반블록검색
0xf7e9b71f48d2b6fdf840c7be05fd9c07be5f7691638052a6c9147a5160ed76c6
이더스캔
송신자와수신자
Message : Send 10 From A to B
Signature
Verification
수신
Message : Send 10 From A to B
Signature
Public Key
Public KeyPublic Key
Message : Send 10 From A to B
Signature
Verification
전송
송신자• 거래메시지작성
• 메시지를자신의개인키로암호화
• 서명생성
수신자• 포함되어있는서명을공개키로복호화, 메시지비교
비트코인지갑주소
Bitcoin 주소(지갑주소) 생성
• Private키를 활용하여 ECC multiplication 함수를통해 Public 키를 생성함
• Public 키를 활용하여 Hash 함수를 통해 bitcoin 주소를 생성함
• 각 변환은 단방향(역방향 연산 불가)
출처 http://royalforkblog.github.io/2014/08/11/graphical-address-generator/
비트코인지갑주소
지금까지살펴본중요내용을토대로우리가관심두어야할사항은무엇일까요?
Summary
교수님의견
Summary
지금까지살펴본중요내용을토대로우리가관심두어야할사항은무엇일까요?
비트코인 코어 플랫폼, 명령어• bitcoind 플랫폼 명령어 사용방법 예시
• 비트코인 지갑 주소
이더리움 플랫폼 명령어 사용 방법 및 예시메타마스크 월렛과 이더스캔 사용법
top related