Blockchain technology is the backbone of the Bitcoin and it can be used in many other disciplines. This presentation will introduce with basics like transaction, hash, crypto scheme.
This presentation is for anyone who wants to know about overall picture of Blockchain technology.
3. 핀테크
핀테크(FinTech)
금융(financial)과 기술(technology)의 합성어로 정보통신기술과 송금, 결제, 자산관리 등
의 금융서비스를 결합한 새로운 유형의 금융서비스를 의미하며,
비즈니스 서비스 분야는 금융데이터 분석, 전자화폐, 대출, 지급결제로 구분할 수 있음
비금융회사가 금융서비스 플랫폼의 주체가 될 수 있음
블록체인(BlockChain)
세계경제포럼(WEF : World Economic Forum)에서 선정한 10대 전략기술 중 하나로
지정되었으며, 전통적 금융의 핵심인 공인시스템에 의지하지 않고
거래의 신뢰성을 확보하는 분산장부기술
[참고] 10대 전략 기술
무인 운송수단, 3D 프린팅, 첨단 로봇공학, 신소재, IoT·원격 모니터링 기술,
블록체인·비트코인, 공유경제·온디맨드 경제, 유전공학, 합성 생물학,바이오 프린팅
4. 금융업의 기능 분화
참고자료 : “제4차 산업혁명과 금융의 미래” 한국금융연구원 이대기선임 (2017.5)
> “금융거래시 비대면 실명확인 서비스” 등 전통적 은행업의 변화감지
5. 지급결제 시스템의 변화
출처 : https://www.channelnewsasia.com/news/video-on-demand/between-the-lines/fintech-in-china-9894336
6. 예금 대출 시스템의 변화
인터넷 전문은행의 등장으로 점포 축소, 인건비 절감 등 비용을 줄여 소비자에게
높은 예금금리와 낮은 대출금리 제공
스마트폰으로 계좌 개설, 대출신청 등 모든 금융업무를 플랫폼상에서
빠른 속도와 간결한 방법으로 이용가능
10. ‘Virtual Currency’ versus ‘Crypto Currency’
Virtual Currency Crypto Currency
지폐나 동전과 같은 실물이 없이
네트워크에서 전자적 형태로 사용되는 화폐
- 발행 및 관리 주체 O
- 가상의 공간에서만 통용
블록체인 기반의 ‘무결성 보장’ 기술 적용
- 발행 및 관리 주체 X
- 가상 및 현실에서 유통
11. Bitcoin - intro
비트코인은 블록체인 기술 기반의 온라인 암호화폐
2008년 10월 사토시 나카모토라는 가명을 쓰는 프로그래머(그룹)가 개발
중앙은행이 없이 전 세계적 범위에서 개인들 간 직접 거래 가능
거래장부는 블록체인 기술이 적용되어 다수의 사용자들의 서버에 분산 저장하기 때문에
해킹이 사실상 불가능
* 2009년 1월 프로그램 소스를 배포
12. Who controls bitcoin source code?
Bitcoin is free software and any developer can contribute to the project.
Everything you need is in the GitHub repository…
https://bitcoin.org/en/development
16. Blockchain – architectural pattern
형상: ‘블록’으로 구성한 데이터를 ‘체인’형태로 연결
환경: P2P(Peer-to-Peer) 네트워크 기반 네트워크
관리: 합의 알고리즘(proof-of-work), 비대칭키 암호화 적용
1 2
3 4 5 6 7
8 9 10 …
17. Blockchain in Bitcoin
BLOCK
BLOCK
블록
비트코인 거래를 10분 단위로 모아서 확증하는 단위 (약 1MB)
블록체인
현재까지의 블록을 모두 체인형태로 연결하여 네트워크상에 분산한 원장
거래1
거래2
거래3 BLOCK
…
18. Block and Transaction
지불(송금)
거래 전파(네트워크)
2~3초
거래가 블록체인에 포함
채굴서버에서 수 많은 거래 데이터 중 수수료가 높은 순으로 블록에 포함될 거래를 선택
거래 데이터 크기(1MB) 제한으로 한 블록에 대략 2700건의 거래가 포함됨
수십 분
19. Mining
Sender Amount Receiver
transaction
Sender Amount Receiver
transaction
Sender Amount Receiver
Sender Amount Receiver …
…
transaction pool
수 많은 거래 중
수수료가 높은 거래순으로
블록에 포함(약 2천여건)
이전 블록의 정보 transaction X 특정 값
X를 찾는 과정이 Mining이며
거래를 확증하는 행위임
- MINING에 대한 보상: 12.5BTC
- 10분에 하나의 블록이 생성됨
Sender Amount Receiver
transaction
Sender Amount Receiver
transaction
Sender Amount Receiver
transaction
20. Block Generation
ㅂ
Nth 블록
거래 데이터
X
SHA-256
ㅂ
Nth+1번 블록
거래 데이터
N 블록의 정보N-1 블록의 정보
특정 난이도를 만족하는 값 (채굴 서버가 찾아야 하는 값)
X를 찾기 위해 전세계 채굴서버가 수천억 이상의 연필 굴리기와 유사한 경쟁을 진행 중
특정
난이도
만족?
채굴완료
X
Yes
No
X값 수정
21. Block Generation - X
특정 문자열 + 임의의 nonce 숫자 = SHA-256 해쉬값
“0의 개수가 하나씩 늘어날 때마다 확률적으로 16배씩 더 많은 nonce 숫자를 대입해 보아야 한다.
0의 개수가 5개인 해시값을 찾으려면 약 백만 개의 nonce 숫자를 대입해야 할 것이라 컴퓨터를 사용해도
쉽게 찾기 어렵다.”
16*16*16*16*16 = 1,048,576
상기 예시에서는 "hello world"라는 임의의 문자열을 사용했지만 비트코인에선 블록체인에 추가된 가장
최신 블록의 헤더가 해시의 대상이 된다.
특정 해시값을 만족하는 원래의 문자열을 찾기는 거의 불가능
출처 : 네이버 개발자 센터 (http://d2.naver.com/helloworld/8237898)
* http://www.convertstring.com/ko/Hash/SHA256
* 16진수
0(16) 0000(2) 경우의 수 2*2*2*2
22. Block Generation - X
특정 해시값을 만족하는 원래의 데이터(앞장에서의 hello world)를 찾기는 불가능하니,
조건을 조금 완화하는것이 HashCash 임
hello world hash B94D27B9934D3E08A52E52D7DA7DABFAC484EFE37A5380EE9088F7ACE2EFCDE9
문제는 이러한 hash 값을 만족하는 문자열(hello world)를 찾기는 매우 어려움 1/16
64
확률 :
그런데, 앞 몇 자리를 0 으로 채우고 나머지 자리는 임의의 숫자로 채워도 된다고 하면?
000000B9934D3E08A52E52D7DA7DABFAC484EFE37A5380EE9088F7ACE2EFCDE9
그리고, 이때의 문자열을 정답으로 인정해 준다면? (당연히 이 때의 문자열은 hello world 가 아님)
1/16777216확률 :
25. Block to Block, Tx to Tx
이미지 출처 : https://yos.io/2016/05/19/merkle-trees-in-elixir/
거래내역
거래내역의 중복해시
26. 특정 조건을 만족하는 해시값을 찾아내는 것
이전 블록의 해시 보다 작으며, 0으로 X개 시작하는 자릿수를 가지는 조건
(+ 이전 블록의 해시값보다 작다는 조건(난이도))
찾아야 하는 값(앞 예시에서 hello world에 해당)
DHASH(Version(4)+hashPrevBlock(32)+hashMerkleRoot(32)+Time(4)+Bits(4)+Nonce(4)) = 現블록의 해시
Block to Block, Tx to Tx
27. Block Generation
컴퓨터 성능 향상, 비트코인 채굴용 하드웨어 등장에 따른 채굴 속도가 상승
난이도를 2주 마다 자동 조정
source: https://blockchain.info/ko/charts/difficulty
2016개 블록 생성 시간 > 2주 ?
난이도 하향조정
난이도 상향조정
2016개 블록 생성 시간 == 2주 ?
NO
난이도 유지
YES
YES
28. 난이도 구하기 – Maximum Target 계산
Little Endian ffff001d Big Endian 1d00ffff (진수 2개 + 가수6개)
(00)(ff)(ff) * {256^(1d-3)} = 00ffff * (256^1d-3)
00 00 00 00 ff ff 00 00 ……………………………….. 00
26 반복
32 byte
The target is the threshold below which a block header hash must be in order for the block to valid,
and nBits is the encoded form of the target threshold as it appears in the block header.
출처: https://en.bitcoin.it/wiki/Difficulty
29. 난이도 구하기 – Current Target과 Difficulty
출처 : https://steemit.com/kr/@loum/21zhq3-how-to-calculate-the-difficulty-of-bitcoin
0000000000000003a30c00000000000000000000000000000000000000000000
채굴시 이 Current Target 값보다 작은 블록의 해시값을 찾아야 함(Nonce)
https://www.epochconverter.com/
30. 난이도 구하기 – Current Target과 Difficulty
https://defuse.ca/big-number-calculator.htm
31. 난이도와 채굴의 관계
Current Target이 0x0000000000000003000000000000000000000000000000000000000000000000
인 경우 채굴 성공 확률은?
Current Tartget 보다 작은 값을 찾아야 하는 경우의 수 : 16C1 * 16C3
10분(600초)안에 약 64563경 중 하나를 찾아내야 함
초당 약 100경 이상의 Hash 연산을 해야 함
약 100PetaHash/sec
2 * 26880
4 * 15
1
15
그래프 출처 : https://www.hardocp.com/article/2011/07/13/bitcoin_mining_gpu_performance_comparison/2
34. Blockchain Network
블록체인에 참여하는 노드는 독자적으로 블록체인의 내용을 검증할 수 있음
각 노드는 블록체인에 블록을 추가할 수 있음(단, 채굴 성공시)
추가된 블록은 타 노드에서 검증(무효한 블록일 경우 해당 블록은 버림)
35. How blockchain works…
A B
100 Won
transaction Block is created
…
…
BlockChain is broadcasted
…
…
Validation and consent
B receives
100 Won from A
transaction
36. Crypto scheme
비트코인은 비대칭형 암호화 알고리즘을 사용
비대칭형 암복호화 알고리즘 = 공개키 + 개인키
암호화 복호화
암호화 복호화
공개키로 암호화하고 ‘공개키와 쌍’이 되는 개인키로 복호화
37. Crypto scheme
개인키는 송금시 전자서명에 사용 + 수신받은 데이터 복호화시 사용
지갑주소 공개키
개인키
전자서명
수신처 : B의 지갑주소
금액 : 00 BTC B의 개인키로 복호화(송금시 사용)
Block
채굴
A의 공개키와 전자서명을
대조해 유효성 확인
38. Crypto scheme
Bitcoin 클라이언트 프로그램 SW를 인터넷에서 다운로드
다운로드된 프로그램은 지갑 역할을 하며 지갑에서는 계정을 만들 수 있음
계정을 만들면 계정은 한 쌍의 암호키(공개키 & 비밀키)를 생성
ex) 15ChaTuCDpaPXkmigDWZMKzvCCxiMCmjFB 1dag1WuFyHQkGM7YQvXKsbRNzPWYbsWEH
15DqqynVTwbc7VsTtz51HnhJpXV2XncBDt
이 복잡한 형태의 계정정보가 바로 공개키(Public Key)이면서 돈이 송금될 주소(address)
각각의 계정에는 일정 액수의 Bitcoin이 함께 연동되어 있고 입출금에 따라 금액은 증감
계정을 만들 때 공개키와 함께 만들어진 나머지 비밀키(Private Key)는 지갑 속에 저장되어
있으며 계정에 접속할 때나 송금할 때 사용하게 됨 (현금 인출에 필요한 비밀번호 기능)
KT 경제경영연구소 발표자료(이성춘, 박유진, 손현진) 발췌
39. Transaction
거래 유효성 검증방법
1. 이전 거래의 ‘B의 공개키’와 ‘B의 서명(B의 개인키로 서명함)’을 조합
2. 유효한 경우 True 처리
여기서, ‘B의 공개키'는 서명의 유효성을 검증하는데 사용 (공개키의 동일성 여부도 같이 검증)
42. Transaction
A가 B의 지갑주소로 100BTC 전송
(지갑주소는 공개키 기반)
즉, Transaction OutTx내역에 B의 공개키가 기록된 상황
B가 C에게 A에서 받은 100BTC를 전송하고자 할 때;
B는 자신의 개인키로 전자서명을 하여 이를 네트워크에 전파
네트워크를 통해 위 거래내역을 전송받은 노드에서는;
OP_HASH160으로 전자서명을 해쉬하여 얻은 B의 지갑주소와
이전 거래에서 기록된 수신처의 주소와 비교하여 동일여부를 판단함
동일한 경우 100BTC의 사용권한이 B에게 있다고 판단하여 유효한 거래로 인정함
46. 이미지 출처 : https://medium.com/@dexx/debunking-three-misconceptions-about-segregated-witness-3bbf55c6f4de
<Alice><Zoe> <Bob> <Alice><Zoe> <Bob>
Transaction
47. 비트코인 거래 =
a chain of digital signature
HASH(이전 거래 내역) + 현재 거래 정보(Bob의 공개키, Alice의 전자서명 등)
현 거래의 HASH를 생성
이것이 TXID 임
이미지 출처 : https://medium.com/@dexx/debunking-three-misconceptions-about-segregated-witness-3bbf55c6f4de
Transaction
48. 비트코인 거래
a chain of digital signature
이전 거래의 HASH
이전 거래의 HASH 값
이미지 출처 : https://medium.com/@dexx/debunking-three-misconceptions-about-segregated-witness-3bbf55c6f4de
블록번호: 502673
Transaction
49. 비트코인 거래
a chain of digital signature
현재 거래 정보 (Bob의 공개키)
이미지 출처 : https://medium.com/@dexx/debunking-three-misconceptions-about-segregated-witness-3bbf55c6f4de
받는 사람의 공개키
받는 사람의 공개키
블록번호: 502673
Transaction
50. 비트코인 거래
a chain of digital signature
현재 거래 정보 (Alice의 전자서명)
이미지 출처 : https://medium.com/@dexx/debunking-three-misconceptions-about-segregated-witness-3bbf55c6f4de
블록번호: 502673
보내는 사람(Alice)의 전자서명
Transaction
51. 비트코인 거래
a chain of digital signature
블록번호: 502673
"tx_hex" : "01000000 (version number)
01 (1건의 input)
e168c0365e59052b5aeeac17ef465545441b2c5e9d751f7f8c7887304cd7964c
000000006a (전자서명의 길이)
473044022004a86a37cc25d58e6cf26b4e955e87f61ddd85916a638a7eceba4d100f7d394a
0220748a5ca0b0656643254c226da0a9193ccaa106e72fff27a719a764ea2a35db57012103
4a7345544bc0e79d65a53494a563054455b510b856b6585265ec5a529dfa51b2
ffffffff (sequence)
02 (2건의 output)
2659690000000000
19 (공개키의 길이)
76a91409e8f8128bac05ade635a7854a1bdbee895eae1a88ac
00093d0000000000
19 (공개키의 길이)
76a914b9d5e77ace3bc2d4f84ea62c935981397fbbf5f988ac
00000000"
0.06904102 BTC를 16진수 변환 후 Byte Reverse
0.04 BTC를 16진수 변환 후 Byte Reverse
이전 거래의 Hash 값의 Byte Reverse
전자서명
수신인의 공개키
수신인의 공개키
Transaction
52. Proof of work
블록체인 신뢰를 위한 P2P 네트워크상의 ‘합의’ 문제를 작업증명으로 해결
100
100
100100
100
300
- 공격시간 ‘합의’
- 배신자 식별
1번
2번
3번4번
5번
53. Proof of work
100
100
100100
100
300
Image source: http://goodjoon.tistory.com/256
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
09시
공격
[새로운 규칙]
- 장군은 메시지를 보내기 위해 반드시 10분의 시간을 들여야 함
- 메시지 = 모든 이전 장군의 메시지 + 10분의 시간을 들였다는 증거(본인의 메시지)
54. Proof of work
블록은 이전 블록의 형상(해쉬값)을 포함
블록 생성시 충분한 노력을 들인 증거 + 기 생성한 블록의 유효성 검증
체인이 길어질 수록 신뢰도 증가
1 2
3 4 5 6 7
8 9 10 …
59. Malleability Issue
A person withdraws bitcoins from their Mt.Gox account to their private wallet
and at the same time injects a malleated version of the transaction into the
network. If the malleated version is confirmed first then it would be certain
that Mt.Gox will not receive confirmation of the original. The person then
emails support: “I withdrew 10BTC yesterday – it left my account but i never
received it…” Support staff look for confirmation of the transaction and don’t
find it, although the BTC had clearly left the customer’s account. And, so,
they resubmit payment – but not via the same transaction id or transaction
inputs – but a completely new transaction spending different coins!
출처 : https://www.ccn.com/bitcoin-transaction-malleability/
Segwit
60. Segregated witness and deploying it
for Bitcoin (Pieter Wuille)
출처 : https://prezi.com/lyghixkrguao/segregated-witness-and-deploying-it-for-bitcoin/
Segwit
61. Blockchain Summary
누구나 블록을 생성(채굴)할 수 있다. 1등만 네트워크상에서 전파됨
누구나 블록을 검증할 수 있다. 작업 증명을 확인
블록을 연결(chain)하여 하나의 장부(ledger)를 연결하는 아키텍처
블록의 길이가 길수록 신뢰도는 상승됨
중앙집중관리체계가 아니며 분산적으로 독립 유지되는 생태계
참여자가 많을수록 신뢰도와 안정성이 높아짐
62. Blockchain application - IoT
AS-IS
difficulties in maintaining privacy and security in huge IoT networks
TO-BE
decentralized, autonomous, tamper-proof ledger can keep an record of the history of IoT devices
AS-IS TO-BE
source : https://datafloq.com/read/securing-internet-of-things-iot-with-blockchain/2228
68. Business Use Cases
“물류의 위치 및 온습도 등의 데이터를 블록체인으로 연결하여 물류 관리”
“보험금 지급에 블록체인 기반 인증 기술을 활용”
“IoT 환경에 최적화된 블록체인 기술 개발 중(오픈소스 프로젝트)”
“IoT 센서를 통해 취득한 데이터를 식료품 공급 블록체인에 활용”
“IoT 환경을 위한 Private Blockchain 플랫폼 개발”
69. Business Use Cases
“사진의 지적재산권을 행사할 수 있는 플랫폼 제공하여 저작자와 구매자간
저작권료 거래를 연결(사진 도용 이슈 예방)”
“창작물(음원, 악보, 라이선스 등)을 블록체인에 등록하여 저작자와 구매자간
정당한 대가를 거래하도록 연결”
“사진 업로드시 블록체인 증명서 발급(저작권자 및 작품정보 포함)하여
불법 위변조, 부당 이용에 대한 보호를 받을 수 있음”
Image : https://m.post.naver.com/viewer/postView.nhn?volumeNo=9759050&memberNo=17369166
73. 블록체인 헤더
참조 : https://en.bitcoin.it/wiki/Genesis_block
Sha256d hash this header and if the resulting value is lower than the current difficulty target,
then broadcast the block to all your connected peers.
If the resulting value is NOT lower than the current difficulty target,
then you'll need to modify one of the values and try again.
Source : https://bitcointalk.org/index.php?topic=1260718.0
75. 블록 데이터를 JSON으로 확인하기
https://blockchain.info/block-height/514351?format=json
<Genesis block>
76. source: https://bitcointalk.org/index.php?topic=1231301.0
Signature Structure
Bitcoin uses a kind of cryptography called the
Elliptic Curve Digital Signature Algorithm (ECDSA).
And it is a well-known fact that these digital signatures are malleable.
In other words, a third party can change the signatures in certain ways,
but they will still be valid.
source: https://news.bitcoin.com/should-we-fix-malleability-in-bitcoin-and-bitcoin-cash-if-so-how-and-when/
Notas do Editor
핀테크 강국 중국의 사례
거래규모 년간 5500조 이상
노점상에서 QR코드로 거래
구걸도 QR코드로…
’18.1월 은행 총대출 1,558조원 (+6.7% YoY)
은행 총수신 1,544조원 (+6.3% YoY)
카뱅은 여수신 규모 1% 미만
세상은 빠르게 변하는 중
https://www.msn.com/ko-kr/money/topstories/%EC%B9%B4%EC%B9%B4%EC%98%A4%EB%B1%85%ED%81%AC-%EA%B3%A0%EA%B0%9D-%EC%88%98-500%EB%A7%8C%EB%AA%85-%EB%8F%8C%ED%8C%8C%E2%80%A6%EC%97%AC%C2%B7%EC%88%98%EC%8B%A0-10%EC%A1%B0-%EC%9C%A1%EB%B0%95/ar-BBI4rF7
와디즈, 텀블벅, 킥스타터, 랜딩클럽
사업 자금을 투자는 어떻게 받는지. 은행을 가면 쉽게 대출이 되는지
크라우드 펀딩이라고 하여 불특정 다수의 사람들을 대상으로 투자자금을 유치하고 사업성공시 수익을 배분하는 플랫폼이 있음
로보어드바이저 : 운용형, 자문형, 하이브리드형
기존에는 사람이 하던 투자자문을 인공지능, 빅데이터를 활용하여 자산관리서비스를 제공하기 시작
paypal, 도토리
https://cointelegraph.com/news/mit-to-take-over-funding-of-three-bitcoin-core-developers
Gavin Andresen
Wladimir J. van der Laan
Greg Maxwell
Jeff Garzik
Pieter Wuille
`18/3/5 : 약 12,583,000 원 / 1Bitcoin
연필굴리기, 로또
hashcash 문제에서 해시값을 찾는 데는 많은 계산량이 필요하며 해시의 특성상 무작위로 생성되는 값이라 누가 먼저 조건에 맞는 해시값을 찾을 수 있는지 보장하기 어렵다.
비트코인은 가장 먼저 해시값을 찾은 사용자에게 보상으로 지급된다. 해시값을 찾는 데 오랜 시간이 걸리는 hashcash 문제는 블록체인이라는 거래 내역 데이터의 위조를 방지하는 데 중요한 역할을 한다.
체인이 되는 부분
https://en.bitcoin.it/wiki/Protocol_documentation#Common_structures
https://bitcointalk.org/index.php?topic=1705999.01. Block_header= Version(4)+hashPrevBlock(32)+hashMerkleRoot(32)+Time(4)+Bits(4)+Nonce(4)
2. https://blockchain.info/ko/block/0000000000000000002373f5c2fe82f30d1d956cf6e322e65f817d251b70af1e
3. https://blockchain.info/ko/block/0000000000000000002373f5c2fe82f30d1d956cf6e322e65f817d251b70af1e?format=hex
4. 80바이트 추출: 00000020e9435f3cd841be7b4862c2dc7824a7e8efc207efcd75380000000000000000005997a23f3bcacc01d974794a4f74766b532f17ac19e1cb74ef8d8090c77bb7ff4362ab5aa38955174713ae76
5. http://extranet.cryptomathic.com/hashcalc/index 에서 DHASH, Endian 변환 후 확인
Modern computers almost always use little-endian internally, so this choice improves speed. If Bitcoin used network byte order, then order conversions would be necessary for every message sent or received.Hashes are defined by the standards as being big-endian, and crypto libraries deal with them in that form, so hashes are transmitted in big-endian. Bitcoin displays hashes in little-endian
maximum_target은 상수: 0x00000000FFFF0000000000000000000000000000000000000000000000000000
최대난이도 : maximum_target / 1 -> 약 2^(224)
2016 블록마다 난이도 조정
https://en.bitcoin.it/wiki/Difficulty
ex> 403867578
00. 11 17 ba * 256^21
00. 11 17 ba 000000000000000000000000000000000000000000 (00이 21반복)
-> 00 00 00 00 00 00 00 00 11 17 ba 000000000000000000000000000000000000000000
26,499,460,000,000,000,000 /sec
26,499 Peta /sec
26 Exa
The hash/s is also used in calculations of the Bitcoin network's overall hash rate. Because each miner or mining pool only relays a solved block to the network, the overall hash rate of the network is calculated based on the time between blocks. While not an accurate measure of network hash rate at any given instance in time, measurements over longer periods can be considered indicative and similar calculations are used in Bitcoin's difficulty adjustment.
In January 2015, the network hash rate was around 300 Phash/s, or 300 quadrillion hashes per second.[1]
1. https://blockchain.info/block-height/502673?format=json 에서 TXID 7dd123bbdad0af3612cb4440929f491a54716f0f400740c52b7b6226bd1fbecb 를 찾는다.
2. inputs 섹션내에 있는 prev_out 정보를 확인한다. -> txid가 안보인다. txid를 보여주는 site에서 다시 확인한다. (Hint : https://bitcointalk.org/index.php?topic=2215906.0 )
3. https://chain.so/tx/BTC/7dd123bbdad0af3612cb4440929f491a54716f0f400740c52b7b6226bd1fbecb
이전 거래의 HASH값 = 이전 거래의 TXID
위의 예에서는https://chain.so/api/v2/tx/BTC/7dd123bbdad0af3612cb4440929f491a54716f0f400740c52b7b6226bd1fbecb을 통해 prev_out의txid가
4c96d74c3087788c7f1f759d5e2c1b44455546ef17acee5a2b05595e36c068e1 임을 찾을 수 있음
https://chain.so/tx/BTC/4c96d74c3087788c7f1f759d5e2c1b44455546ef17acee5a2b05595e36c068e1을 통해 확인가능
Malleability : changeable without breaking the transaction
So, given a transaction and its accompanying valid digital signature, it is possible for someone to generate an equivalent signature.
통관절차, 서류확인에 소모되는 시간과 비용을 블록체인을 적용하여
획기적으로 절감한 사례
저작권 관리,수익분배,위변조방지 등 저작권 산업의 유통 수익구조를 근본적으로 개선할 것으로 전망
그 외 사례 : http://it.chosun.com/site/data/html_dir/2018/10/24/2018102403739.html
2nd tx에서 input 4665971602 이 2개의 output으로 transfer됨(172580000, 4492791602)
input<->output 600,000 이 차이가 남 = 0.006 BTC -> 수수료
script = signature + public key
segwit : witnes값이 존재
non segwit : witnes값이 없고, script 값이 있음
리프레시용 : http://recruit.linepluscorp.com/lineplus/career/detail/20001568?classId=&entTypeCd=&page=