1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Xây dựng môi trường mở hỗ trợ khảo sát dữ liệu trên nền tảng Blockchain

64 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng môi trường mở hỗ trợ khảo sát dữ liệu trên nền tảng Blockchain
Tác giả Lờ Cụng
Người hướng dẫn PGS. TS. HuǤQK 7ѭӡng Nguyờn
Trường học Ĉҥi hӑF %iFK .KRD 73 +&0
Chuyên ngành Khoa hӑc mỏy tớnh
Thể loại LuұQ 9Ă1
Năm xuất bản 2019
Thành phố TP.HCM
Định dạng
Số trang 64
Dung lượng 1,36 MB

Nội dung

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 2 Dӳ liӋu Bitcoin tính tӟLQJj\WKiQJQăP theo blockchain.com [14]: Tәng sӕ Oѭӧng giao dӏch transaction ~ 416m transactions Sӕ Oѭӧng giao dӏch trung bì

Trang 2

i

&Ð1*75Î1+ĈѬӦC HOÀN THÀNH TҤI 75ѬӠ1*ĈҤI HӐC BÁCH KHOA ± Ĉ+4*- HCM

Cán bӝ Kѭӟng dүn khoa hӑc: PGS TS HuǤQK7ѭӡng Nguyên

Cán bӝ chҩm nhұn xét 1: PGS TS HuǤnh Trung HiӃu

2 TS NguyӉn Lê Duy Lai

3 PGS TS HuǤnh Trung HiӃu

Trang 3

Xây dӵng P{LWUѭӡng mӣ hӛ trӧ khҧo sát dӳ liӋu trên nӅn tҧng blockchain

II. NHIӊM VӨ VÀ NӜI DUNG:

1KLӋPYөFӫDÿӅWjLOj[k\GӵQJP{LWUѭӡQJPӣÿӇKӛWUӧNKҧRViWGӳOLӋXWUrQQӅQWҧQJ EORFNFKDLQWURQJSKҥPYLÿӅWjL VӁ WLӃQ KjQK[k\ GӵQJGӵD WUrQGӳOLӋX FӫD

%LWFRLQ EORFNFKDLQWӯÿy KѭӟQJÿӃQ PӣUӝQJUDÿӕLYӟLFiFEORFNFKDLQkhác

1ӝLGXQJ

;k\GӵQJFѫVӣGӳOLӋXÿӇWUӵFTXDQKyD GӳOLӋXFӫD%LWFRLQEORFNFKDLQ

;k\GӵQJF{QJFөKӛWUӧÿӇNKҧRViWSKkQWtFKÿӕLYӟLFѫVӣGӳOLӋXWKXÿѭӧF

Trang 4

iii

LӠI CҦ0Ѫ1 Ĉҫu tiên, tôi xin gӱi lӡi cҧPѫQVkXVҳFÿӃn PGS TS HuǤQK7ѭӡng Nguyên, Thҫy

ÿmWұQWuQKKѭӟng dүn, cung cҩp tài liӋXFNJQJQKѭÿӝng viên, khích lӋJL~Sÿӥ và cho tôi nhӳng ý kiӃQÿyQJJySKӃt sӭc quý báu trong suӕt thӡi gian tôi thӵc hiӋQÿӅ tài này

T{LFNJQJ[LQ gӱi lӡi cҧPѫQFKkQWKjQKWӟi ThS Hӗ Quang Chi BҧR7K6/ѭX4XDQJHuân, ThS NguyӉn Quӕc Thӏnh, các bҥn trong nhóm Bách Khoa Blockchain Labs cùng quý Thҫ\&{ÿDQJF{QJWiFWҥi Khoa Khoa hӑc và Kӻ thuұW0i\ WtQK7Uѭӡng Ĉҥi hӑF%iFK.KRD73+&0 ÿmFyQKӳng góp ý tích cӵFÿӇ tôi hoàn thành luұQYăQ Cuӕi cùng, tôi xin gӱi lӡi cҧPѫQWӟLJLDÿuQKYjEҥQEqÿmÿӝQJYLrQJL~Sÿӥ tôi rҩt nhiӅu trong quá trình thӵc hiӋQÿӅ tài này

TP.HCM, ngày 02 WKiQJQăP

Lê Công

Trang 5

iv

TÓM TҲT LUҰ19Ă1

HiӋn nay, công nghӋ EORFNFKDLQÿDQJÿѭӧc nghiên cӭu và áp dөng rӝng rãi vào nhiӅu OƭQKYӵFNKiFQKDXQKѭNLQKWӃ, tài chính, y tӃ, giáo dөc« vì nhӳQJÿһFÿLӇPѭXviӋt cӫa nó Có rҩt nhiӅu blockchain khác nhau ӣ thӡL ÿLӇm hiӋn tҥi và dӳ liӋu cӫa mӛi blockchain QKѭYұy ÿDQJngày mӝWWăQJOrQ KhҧRViWÿiQKJLiSKkQWtFKWKӕng Nrÿӕi vӟi nhӳng dӳ liӋu Qj\ÿDQJWUӣ thành mӝWKѭӟng nghiên cӭXÿѭӧc cӝQJÿӗng khoa hӑc chú ý 7X\QKLrQÿLӅXNKyNKăQNKLEѭӟFÿҫu tiӃp cұn là dӳ liӋu trên các EORFNFKDLQÿӅXÿѭӧFOѭXWUӳ Gѭӟi dҥng thô trên các tұp tin nhӏ SKkQĈLӅu này sӁ gây NKyNKăQFKRYLӋc khҧRViWÿiQKJLiSKkQWtFKYjWKӕng kê dӳ liӋXÿһc biӋWOjÿӕi vӟi các nhà nghiên cӭu chӍ chuyên vӅ dӳ liӋu và không chuyên sâu kӻ thuұt vӅ công nghӋ blockchain

7URQJÿӅ tài này, chúng tôi sӁ ÿӅ xuҩt xây dӵng mӝWP{LWUѭӡng mӣ hӛ trӧ khҧo sát

dӳ liӋu trên nӅn tҧng blockchain bҵng cách trӵc quan hóa dӳ liӋu cӫa blockchain, chuyӇQÿәi dӳ liӋu thô tӯ các tұp tin nhӏ phân sang mӝWFѫVӣ dӳ liӋu khác trӵc quan KѫQ Bên cҥQKÿyFK~QJW{L sӁ phát triӇn mӝt công cө hӛ trӧ khҧo sátÿiQKJLiSKkQtích và thӕng kê dӳ liӋu dӵa trên FѫVӣ dӳ liӋu mӟi

Trang 6

v

ABSTRACT

Currently, blockchain technology is being studied and widely applied in various

fields, such as: economy, finance, healthcare, education, because of its preeminent

features There are many different blockchains at present and the data of each

blockchain is increasing continuously over time Surveying, evaluating, analyzing

and statistics on these data are becoming a research direction that has been noticed

by the scientific community However, the data on the blockchain is normally stored

as raw on binary files This will make it difficult to survey, evaluate, analyze and

statistics data, especially for researchers who specialize only in data and

non-technical blockchain technology

In this thesis, we will propose to build an open framework that supports surveying

data on the blockchain platform by visualizing the blockchain's data, converting raw

data from binary files into a new database In addition, we will develop a tool to

support data survey, evaluation, analysis and statistics based on new database

Trang 7

vi

LӠ,&$0Ĉ2$1

T{L[LQFDPÿRDQUҵQJÿӅ tài luұQYăQWӕt nghiӋS³Xây dӵng P{LWUѭӡng mӣ hӛ trӧ khҧo sát dӳ liӋu trên nӅn tҧng blockchain´ Oj F{QJ WUuQK QJKLrQ Fӭu cӫa chúng tôi

Gѭӟi sӵ Kѭӟng dүn cӫa PGS TS HuǤQK7ѭӡng Nguyên

Nhӳng tài liӋu tham khҧRWURQJ ÿӅ WjL ÿѭӧc trích dүn hӃt sӭF U} UjQJ ÿ~QJ WKHRnguyên tҳc khoa hӑc KӃt quҧ cӫDÿӅ WjL FKѭDWӯQJ ÿѭӧc công bӕ WUѭӟFÿk\ Gѭӟi bҩt

cӭ hình thӭc nào

TP.HCM, ngày 02 WKiQJQăP

Lê Công

Trang 8

vii

MӨC LӨC

&KѭѫQJ7ӘNG QUAN 1

1.1 Giӟi thiӋXÿӅ tài 1

1.2 MөFWLrXÿӕLWѭӧng và phҥm vi nghiên cӭu 4

1.2.1 Mөc tiêu 4

ĈӕLWѭӧng 4

1.2.3 Phҥm vi 4

éQJKƭDNKRDKӑc, thӵc tiӉn 4

1.éQJKƭDNKRDKӑc 4

éQJKƭDWKӵc tiӉn 4

1.4 Cҩu trúc báo cáo 5

&KѭѫQJ1+ӲNG CÔNG TRÌNH NGHIÊN CӬU LIÊN QUAN 6

&KѭѫQJ&Ѫ6Ӣ LÝ THUYӂT 10

3.1 Tәng quan vӅ blockchain 10

3.2 Tәng quan vӅ Bitcoin 11

3.2.1 Bitcoin là gì? 11

3.2.2 Cách vұn hành cӫa Bitcoin 11

3.2.3 Cҩu trúc dӳ liӋu cӫa Bitcoin 13

3.2.4 Cách xây dӵng mӝWQRGHÿӇ ÿӗng bӝ dӳ liӋu 16

&KѭѫQJ0Ð7Ҧ BÀI TOÁN 18

4.1 Mô hình hiӋn tҥi 18

0{KuQKÿӅ xuҩt 21

&KѭѫQJ3+ѬѪ1*3+È3+,ӊN THӴC 24

Trang 9

viii

5.1 Xây dӵQJFѫVӣ dӳ liӋu 24

/ѭXOҥi lӏch sӱ giao dӏch cӫDÿӏa chӍ 24

5.1.2 ThiӃt kӃ các bҧng dӳ liӋu 29

5.1.3 Xây dӵQJPRGXOH7UDQVIRUP'DWDÿӇ chuyӇQÿәi dӳ liӋu 31

5.1.4 Sӱ dөQJSJ$GPLQÿӇ thao tác vӟi PostgreSQL 32

5.2 Xây dӵng công cө hӛ trӧ phân tích, khҧo sát dӳ liӋu 35

5.2.1 Nhu cҫu khҧo sát dӳ liӋu 35

&iFWtQKQăQJFӫa công cө 37

&KѭѫQJ.ӂT QUҦ HIӊN THӴ&9¬ĈÈ1+*,È 38

&ѫVӣ dӳ liӋu 38

6.1.1 Bҧng dӳ liӋu khӕi 38

6.1.2 Bҧng dӳ liӋu giao dӏch 38

6.1.3 Bҧng dӳ liӋXÿӏa chӍ 39

7LrXFKtÿiQKJLi 39

ĈiQKJLiWtQKÿ~QJÿҳn cӫa dӳ liӋu 39

ĈiQKJLiWӕFÿӝ truy vҩn dӳ liӋu 42

ĈiQKJLiGXQJOѭӧng dӳ liӋu 46

6.3 Công cө hӛ trӧ 47

&KѭѫQJ.ӂT LUҰN 49

7.1 Tәng kӃt 49

+ѭӟng phát triӇn 49

TÀI LIӊU THAM KHҦO 50

PHҪN LÝ LӎCH TRÍCH NGANG 52

Trang 10

ix

MӨC LӨC BҦNG

Bҧng 1.1 Mӝt sӕ thông tin thӕng kê vӅ Bitcoin blockchain 2

Bҧng 1.2 Mӝt sӕ thông tin thӕng kê vӅ các blockchain khác 2

Bҧng 2.1 KӃt quҧ thӕng kê khoҧng 440.000 khӕi dӳ liӋu [7] 7

Bҧng 6.1 So sánh dӳ liӋu khӕi giӳa RPC và PostgreSQL 40

Bҧng 6.2 So sánh dӳ liӋu giao dӏch giӳa RPC và PostgreSQL 41

Bҧng 6.3 So sánh thӡLJLDQWuPNtFKWKѭӟc trung bình khӕi 42

Bҧng 6.4 So sánh thӡi gian tìm sӕ Oѭӧng khӕi trӕng 43

Bҧng 6.5 So sánh thӡi gian tìm nhӳng khӕi có trên 50 giao dӏch 43

Bҧng 6.6 So sánh thӡi gian tìm sӕ Oѭӧng giao dӏch dҥng (1-n) 44

Bҧng 6.7 So sánh thӡi gian tìm các giao dӏch có giá trӏ chuyӇn lӟQKѫQ%7& 44

Bҧng 6.8 So sánh thӡi gian tìm sӕ Oѭӧng giao dӏch có phí giao dӏch bҵng 0 BTC 45

Bҧng 6.9 So sánh thӡLJLDQWuPFiFÿӏa chӍ FyKѫQJLDRGӏch 45

BҧQJ6RViQKGXQJOѭӧng dӳ liӋu khӕi giӳa fullnode và PostgreSQL 46

BҧQJ6RViQKGXQJOѭӧng dӳ liӋu giao dӏch giӳa fullnode và PostgreSQL 46

BҧQJ6RViQKGXQJOѭӧng dӳ liӋXÿӏa chӍ giӳa fullnode và PostgreSQL 47

Trang 11

x

MӨC LӨC HÌNH

Hình 1.1 Dӳ liӋX%LWFRLQEORFNFKDLQÿѭӧFOѭXWUӳ Gѭӟi dҥng các tұp tin nhӏ phân 3

Hình 2.1 NhӳQJWLrXFKtÿѭӧFÿӅ xuҩt ÿӇ ÿiQKJLiPӝt public blockchain [9] 8

Hình 3.1 Mô hình các node dӳ liӋu liên kӃt vӟi nhau trong blockchain 10

Hình 3.2 Cách vұn hành cӫa Bitcoin blockchain [3] 12

Hình 3.3 Cҩu trúc cӫa mӝt khӕi dӳ liӋu [3] 13

Hình 3.4 Cҩu trúc cӫa mӝt block header [3] 13

Hình 3.5 Cҩu trúc cӫa mӝt giao dӏch [3] 14

Hình 3.6 Chi tiӃt cӫa mӝt giao dӏch [3] 15

+uQK4XiWUuQK%LWFRLQÿѭӧFOѭXFKX\Ӈn trong hӋ thӕng [3] 15

Hình 3.8 Truy xuҩt dӳ liӋu khӕLWK{QJTXDSKѭѫQJWKӭc RPC 17

Hình 3.9 Truy xuҩt thông tin giao dӏFKWK{QJTXDSKѭѫQJWKӭc RPC 17

Hình 4.1 KiӃn trúc hӋ thӕQJÿӇ truy xuҩt dӳ liӋu Bitcoin blockchain 18

Hình 4.2 Mӝt ví dө vӅ thông tin các khӕi dӳ liӋu cӫa Bitcoin blockchain 20

Hình 4.3 Mô hình mӟLÿѭӧFÿӅ xuҩWÿӇ cҧi thiӋn tӕFÿӝ truy xuҩt dӳ liӋu 21

Hình 5.1 Quá trình xӱ lý dӳ liӋu sӁ OѭXWUӳ cҧ thông tin khӕi, giao dӏFKYjÿӏa chӍ 24 Hình 5.2 Thông tin cӫa mӝt khӕi dӳ liӋu 25

Hình 5.3 Thông tin cӫa mӝt giao dӏch 26

Hình 5.4 Mô tҧ thông tin cӫa mӝt giao dӏch trong mӝt khӕi dӳ liӋu 27

Hình 5.5 Thông tin lӏch sӱ giao dӏch cӫa mӝWÿӏa chӍ 28

Hình 5.6 Mô tҧ thông tin cӫa các khӕi dӳ liӋu có liên kӃt vӟi nhau 30

Hình 5.7 Module Transform Data và quá trình kӃt hӧp vӟi các thành phҫn khác 31

Trang 12

xi

Hình 5.8 Giao diӋn tҥRFѫVӣ dӳ liӋu mӟi cӫa pgAdmin4 32

Hình 5.9 ThiӃt kӃ bҧng dӳ liӋu khӕi sӱ dөng công cө pgAdmin4 33

Hình 5.10 ThiӃt kӃ bҧng dӳ liӋu giao dӏch sӱ dөng công cө pgAdmin4 33

Hình 5.11 ThiӃt kӃ bҧng dӳ liӋXÿӏa chӍ sӱ dөng công cө pgAdmin4 34

Hình 5.12 ChӭFQăQJLPSRUWWұp tin csv vào PostgreSQL cӫa công cө pgAdmin4 34 Hình 5.13 Công cө hӛ trӧ khҧo sát dӳ liӋXWѭѫQJWiFYӟi PostgreSQL 37

Hình 6.1 Bҧng dӳ liӋu khӕLÿѭӧFOѭXWURQJ3RVWJUH64/ 38

Hình 6.2 Bҧng dӳ liӋu giao dӏFKÿѭӧFOѭXWURQJ3RVWJUH64/ 38

Hình 6.3 Bҧng dӳ liӋXÿӏa chӍ ÿѭӧFOѭXWURQJ3RVWJUH64/ 39

+uQK7tQKQăQJWUX\Yҩn dӳ liӋu khӕi cӫa công cө 47

+uQK7tQKQăQJWUX\Yҩn thông tin giao dӏch cӫa công cө 47

+uQK7tQKQăQJNKҧo sát, thӕng kê dӳ liӋu cӫa công cө 48

Trang 13

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 1

&KѭѫQJ TӘNG QUAN 1.1 Giӟi thiӋu ÿӅ tài

Blockchain là công nghӋ OѭXWUӳ và truyӅn tҧi thông tin bҵng các khӕLÿѭӧc liên kӃt vӟi nhau và mӣ rӝng theo thӡL JLDQ WKѭӡng ÿѭӧc gӑi là chuӛi khӕi [1] Mӛi khӕi chӭDÿӵng thông tin vӅ các giao dӏch, thӡi gian khӣi tҥRYjÿѭӧc liên kӃt vӟi các khӕi WUѭӟFÿy%ORFNFKDLQÿѭӧc thiӃt kӃ ÿӇ chӕng lҥi sӵ WKD\ÿәi dӳ liӋu Thông tin trong blockchain không thӇ bӏ thay ÿәi và chӍ ÿѭӧc bә VXQJWKrPĈһc biӋt, blockchain có khҧ QăQJWUX\Ӆn tҧi dӳ liӋX Pj NK{QJÿzLKӓi sӵ phө thuӝc vào mӝt bên thӭ EDÿӇ xác nhұn thông tin HӋ thӕng blockchain bao gӗm nhiӅXQ~Wÿӝc lұp có khҧ QăQJ[iFthӵFWK{QJWLQYjGX\WUuÿӝ tin cұy cӫa hӋ thӕng

HiӋn nay, công nghӋ bORFNFKDLQÿDQJÿѭӧc tích cӵc nghiên cӭu và áp dөng rӝng rãi

ӣ nhiӅXOƭQKYӵc khác nhau, bao gӗm: kinh tӃ, tài chính, y tӃ, giáo dөc, Trong lƭnh vӵc kinh tӃ, bORFNFKDLQÿDQJÿѭӧc nghiên cӭXÿӇ áp dөng vào vҩQÿӅ truy xuҩt nguӗn gӕc nông sҧQÿҧm bҧo thông tin trong quá trình sҧn xuҩW ÿѭӧc minh bҥch khi sҧn phҭPÿӃQWD\ QJѭӡi tiêu dùng 7URQJOƭQKYӵc giáo dөc, blockchain có thӇ ÿѭӧc áp dөQJÿӇ OѭXWUӳ các thông tin bҵng cҩp, chӭng chӍ nhҵm mөFÿtFKFKӕng giҧ mҥo các loҥi bҵng cҩp, chӭng chӍ 7URQJOƭQKYӵc y tӃ, bORFNFKDLQÿDQJÿѭӧc nghiên cӭXÿӇ OѭXWUӳ các hӗ VѫEӋnh án nhҵPWăQJWtQKEҧo mұt, thuұn tiӋn cho viӋc OѭXWUӳ và truy xuҩt thông tin Riêng vӅ OƭQKYӵc tài chính, công nghӋ blockchain chính là nӅn tҧng

ÿӇ tҥo ra nhӳQJÿӗng tiӅn mã hóa ӣ thӡLÿLӇm hiӋn tҥi QKѭ%itcoin, Bitcoin Cash, Litecoin (WKHUHXP «

Mӝt trong nhӳng triӃt lý quan trӑng cӫa công nghӋ blockchain là không thӇ WKD\ÿәi (xóa, sӱa) dӳ liӋX ÿmÿѭӧc ghi vào hӋ thӕng [1] nên nhӡ vұy, nó tҥR ÿѭӧc lòng tin FKRQJѭӡi sӱ dөng hӋ thӕng Bên cҥQKÿyQJѭӡi dùng không nhӳng an tâm vӅ tính minh bҥch cӫa dӳ liӋu mà các giao dӏFKFzQÿѭӧc thӵc hiӋn mӝt cách nhanh chóng Tҩt cҧ nhӳng yӃu tӕ này làm cho blockchain ÿѭӧF WLQ Wѭӣng, chính vì vұy, nhӳng giao dӏFKÿѭӧc tiӃn hành trên các EORFNFKDLQÿDQJWUӣ nên ngày mӝt nhiӅXKѫQ Bitcoin chính là mӝt trong nhӳng thӃ hӋ ÿҫu tiên cӫa blockchain, bҳWÿҫu vұn hành

tӯ QăP [3], trҧLTXD QăPKRҥWÿӝQJOѭӧng dӳ liӋXQj\ÿDQJQJj\FjQJWăQJOrQÿһc biӋt là trong khoҧng 1-QăPgҫn ÿk\

Trang 14

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 2

Dӳ liӋu Bitcoin tính tӟLQJj\WKiQJQăP theo blockchain.com [14]:

Tәng sӕ Oѭӧng giao dӏch (transaction) ~ 416m transactions

Sӕ Oѭӧng giao dӏch trung bình trong mӝt khӕi ~ 2.4k transactions

Sӕ Oѭӧng giao dӏch trung bình trong mӝt ngày ~ 373k transactions

Tәng sӕ OѭӧQJÿӏa chӍ (address) ~ 593k addresses

Bҧng 1.1 Mӝt sӕ thông tin thӕng kê vӅ Bitcoin blockchain

Bên cҥQKÿyFzQFyUҩt nhiӅu nhӳng blockchain khác FNJQJFyOѭӧng giao dӏch lӟn ÿѭӧc thӵc hiӋn mӛi ngj\QKѭ%LWFRLQ &DVK/LWHFRLQ (WKHUHXP« Dӳ liӋu thӕng

kê theo bitinfocharts.com [15] ngày 24 tháng 05 QăP

Blockchain Sӕ Oѭӧng khӕi Sӕ Oѭӧng giao dӏch mӛi giӡ

Trang 15

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 3

Mӝt sӕ câu hӓi có thӇ ÿѭӧc quan tâm QKѭ>]:

+ ThӡLJLDQWUXQJEuQKÿӇ sinh ra mӝt khӕi dӳ liӋu mӟi là bao lâu?

+ Có trung bình bao nhiêu giao dӏch trong mӝt khӕi?

+ Sӕ Oѭӧng và kích cӥ cӫa các giao dӏFKWKD\ÿәLQKѭWKӃ nào theo thӡi gian?

+ Phí cӫa mӝt giao dӏch là khoҧng bao nhiêu?

Xuҩt phát tӯ vҩQÿӅ Qj\ÿӅ tài muӕn tұp trung vào viӋc trӵc quan hóa dӳ liӋu cӫa blockchain bҵng cách chuyӇQÿәi dӳ liӋu tӯ dҥng các tұp tin nhӏ phân sang mӝWFѫVӣ

dӳ liӋu khác Bên cҥQK ÿyÿӅ WjL FNJQJ VӁ phát triӇn mӝt công cө hӛ trӧ thӕng kê, phân tích dӳ liӋu dӵDWUrQFѫVӣ dӳ liӋXÿm[k\ GӵQJÿѭӧc

ViӋF Fyÿѭӧc mӝWFѫ sӣ dӳ liӋu mӟi trӵc quan KѫQ và mӝt công cө phân tích, thӕng

kê FKtQKOjP{LWUѭӡng mӣ ÿӇ hӛ trӧ khҧo sát dӳ liӋu cӫa blockchain

Hình 1.1 Dӳ liӋX%LWFRLQ EORFNFKDLQÿѭӧFOѭXWUӳ Gѭӟi dҥng các tұp tin nhӏ phân

Trang 16

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 4

1.2 Mөc tiêuÿӕLWѭӧng và phҥm vi nghiên cӭu

1.2.1 Mөc tiêu

ĈӅ tài này sӁ KѭӟQJÿӃn mӝt mөc tiêu chung là xây dӵng mӝt bӝ các công cө, mӝt P{LWUѭӡng mӣ hӛ trӧ cho viӋc khҧo sát, phân tích dӳ liӋXEORFNFKDLQĈӅ tài cҫQÿiSӭng mӝt sӕ mөFWLrXQKѭVDX

+ Xây dӵng FѫVӣ dӳ liӋu dӵa trên các giao dӏch cӫa mӝt blockchain cө thӇ, trӵc quan hóa dӳ liӋu cӫa blockchain tӯ dӳ liӋu thô (các tұp tin nhӏ phân)

+ Xây dӵng công cө hӛ trӧ khҧo sát, phân tích ÿӕi vӟLFѫVӣ dӳ liӋXWKXÿѭӧc, tӯ ÿytҥo mӝWP{LWUѭӡng mӣ hӛ trӧ khҧo sát dӳ liӋu cӫa blockchain

KӃt quҧ nghiên cӭu cӫDÿӅ tài là công cө hӛ trӧ ÿҳc lӵc cho viӋc phân tích, khҧo sát, ÿiQKJLiYà thӕQJNrÿӕi vӟi dӳ liӋu cӫa blockchain nói chung và Bitcoin blockchain

Trang 17

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 5

nói riêng Các ÿӅ tài nghiên cӭu liên quan có thӇ sӱ dөng nhӳng kӃt quҧ này ÿӇ tiӃp tөc nghiên cӭu, phát triӇn

1.4 Cҩu trúc báo cáo

&KѭѫQJ Giӟi thiӋu tәng quan vӅ ÿӅ tài, mөFWLrXÿӕLWѭӧQJSKѭѫQJSKiSQJKLrQcӭXêQJKƭDNKRDKӑFYjêQJKƭDWKӵc tiӉn cӫDÿӅ tài

&KѭѫQJ Trình bày vӅ nhӳng công trình nghiên cӭXOLrQTXDQÿӃn blockchain và Bitcoin blockchain mà cӝQJÿӗng khoa hӑFÿmF{Qg bӕ

&KѭѫQJ Giӟi thiӋXFѫVӣ lý thuyӃt vӅ EORFNFKDLQFiFÿһFÿLӇm cӫa blockchain; giӟi thiӋu vӅ Bitcoin blockchain, cҩu trúc dӳ liӋX FNJQJ QKѭ FiFK Yұn hành cӫa blockchain này

&KѭѫQJ Mô tҧ EjLWRiQPjÿӅ tài muӕn giҧi quyӃt, kiӃn trúc hӋ thӕng hiӋn tҥi, nhӳQJQKѭӧFÿLӇm cҫn khҳc phөc, tӯ ÿyÿӅ xuҩt mô hình mӟi

&KѭѫQJ Trình bày vӅ SKѭѫQJSKiSKLӋn thӵFFiFEѭӟFÿӇ trӵc quan hóa dӳ liӋu cӫa Bitcoin blockchain và xây dӵng công cө hӛ trӧ khҧo sát, phân tích dӳ liӋu

&KѭѫQJ Trình bày vӅ kӃt quҧ ÿҥWÿѭӧc, bao gӗPFѫVӣ dӳ liӋu mӟi và công cө

hӛ trӧ; ÿiQKJLiFѫVӣ dӳ liӋu mӟi dӵa trên các tiêu chí vӅ WtQKÿ~QJÿҳn cӫa dӳ liӋu, tӕFÿӝ truy vҩQYjGXQJOѭӧng dӳ liӋu cҫQOѭXWUӳ

&KѭѫQJ Tәng kӃWYjÿѭDUDKѭӟng phát triӇQFKRÿӅ tài

Trang 18

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 6

&KѭѫQJ NHӲNG CÔNG TRÌNH NGHIÊN CӬU

LIÊN QUAN

Mӝt nhóm tác giҧ QJѭӡi Israel QăP [5] ÿmWҧi vӅ mӝt tұp dӳ liӋu cӫa 180.000 khӕL EORFN ÿҫu tiên cӫa Bitcoin blockchain, tӯ website http://blockexplorer.com - Gѭӟi dҥng 180.000 tұp tin HTML Sau khi xӱ lý nhӳng tұp tin này thì hӑ ÿm[k\Gӵng ÿѭӧc mӝWÿӗ thӏ biӇu diӉn mӕi quan hӋ gӱi/nhұn Bitcoin giӳa các ÿӏa chӍ

ĈӅ tài này quan tâm tӟi hai vҩQÿӅ:

+ Thӭ nhҩt, hӑ giҧ ÿӏnh rҵng, mӝWQJѭӡi dùng (mӝt thӵc thӇ) có thӇ sӣ hӳu nhiӅXÿӏa chӍ Bitcoin khác nhau, dӵa vào tұp dӳ liӋXWKXÿѭӧc, hӑ sӁ sӱ dөng giҧi thuұt Union-Find [6@ÿӇ [iF ÿӏnh xem nhӳQJ ÿӏa chӍ nào có khҧ QăQJVӁ FQJÿѭӧc sӣ hӳu bӣi mӝWQJѭӡi dùng trên hӋ thӕng Bitcoin blockchain

+ Thӭ hai, nhóm tác giҧ này sӁ quan sát nhӳng giao dӏFK FyOѭӧng Bitcoin lӟQ •50.000 BLWFRLQ  SKkQWtFK[HP OѭӧQJ %LWFRLQ Qj\ ÿӃn tӯ ÿkXYjVӁ ÿѭӧc chuyӇQÿLÿkX7ӯ ÿy hӑ phát hiӋn ra nhӳng giao dӏch này có nhӳQJÿLӇPWѭѫQJ ÿӗng nhau Hoһc là nhӳQJOѭӧng Bitcoin này sӁ ÿѭӧc chuyӇQÿLTXDKjQJWUăPQKӳng giao dӏch khác nhau trong thӡi gian ngҳQÿӃn mӝWÿӏa chӍ khác, hoһc là sӁ ÿѭӧc chuyӇn qua rҩt nhiӅu nhӳQJÿӏa chӍ trunJJLDQVDXÿyTXD\OҥLÿӏa chӍ EDQÿҫu,

KӃt quҧ thӵc nghiӋPÿӅ WjLWUrQÿm[k\GӵQJÿѭӧc mӝWÿӗ thӏ dӳ liӋu mô tҧ mӕi quan

hӋ giӳD FiFÿӏa chӍ, thӵc hiӋn truy vӃWÿӕi vӟi nhӳng giao dӏFKFyOѭӧng Bitcoin lӟn YjWuPUDÿѭӧFÿLӇm chung cӫa các giao dӏch này

Tuy nhiên, do lҩy dӳ liӋu thông tin giao dӏch tӯ mӝt website khác nên dӳ liӋXFKѭD

ÿӫ lӟQÿӅ tài chӍ tұp trung mô hình hóa dӳ liӋXWUrQJyFÿӝ mӕi quan hӋ giӳDFiFÿӏa chӍFKѭDFyGӳ liӋu mô tҧ vӅ các khӕi và các giao dӏch

Mӝt nghiên cӭu khác tӯ nhóm tác giҧ QJѭӡi Trung Quӕc QăP  [7@ ÿm Wӵ xây dӵng mӝt node kӃt nӕi vӟi hӋ thӕng mҥQJ%LWFRLQ ÿӇ ÿӗng bӝ dӳ liӋu Hӑ ÿӗng bӝ ÿѭӧc khoҧQJKѫQ NKӕi dӳ liӋX6DXÿyWLӃn hành trích xuҩt dӳ liӋu theo khӕi

và theo các giao dӏFKÿӇ ÿѭDYjRFiFFѫVӣ dӳ liӋu quan hӋ6DXNKLÿmFyÿѭӧc nhӳng FѫVӣ dӳ liӋu này, hӑ tiӃn hành thӵc hiӋn mӝt sӕ thӕQJNrFѫEҧn và cho ra kӃt quҧ QKѭVDX:

Trang 19

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 7

Average num of transaction per block 405

Average num of input per transaction 2,56

Average num of output per transaction 2,80

Bҧng 2.1 KӃt quҧ thӕng kê khoҧng 440.000 khӕi dӳ liӋu [7]

KӃt quҧ thӵc nghiӋP ÿӅ WjL ÿm Wӵ xây dӵQJ ÿѭӧc mӝt node kӃt nӕi vӟi hӋ thӕng

%LWFRLQÿӇ ÿӗng bӝ dӳ liӋXÿҧm bҧo tính toàn vҽn cӫa tұp dӳ liӋXÿҫu vào Bên cҥnh ÿyÿӅ tài tұp trung khai thác nhӳng thông tin liên quan tӟi khӕi và giao dӏFKÿӇ Kѭӟng ÿӃn mӝt góc nhìn khác so vӟLÿӅ tài ӣ trên

Tuy nhiên, nhӳng thông tin thu thұSÿѭӧc vӅ khӕi, giao dӏFKFNJQJQKѭQKӳQJÿiQKgiá thӕQJNrFzQWѭѫQJÿӕLÿѫQJLҧn

HaL ÿӅ tài trên là nhӳQJ ÿӅ tài quan tâm tӟi dӳ liӋu ÿѭӧc vұn hành bên trong cӫa blockchain nói chung và Bitcoin blockchain nói riêng Mӝt sӕ ÿӅ WjL NKiF FNJQJFynhӳng nghiên cӭu vӅ EORFNFKDLQ Yj %LWFRLQ EORFNFKDLQ QKѭQJ WUrQ QKӳQJ JyF ÿӝ khác

Trang 20

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 8 Hình 2.1 NhӳQJ WLrXFKtÿѭӧFÿӅ xuҩWÿӇ ÿiQKJLiPӝt public blockchain [9]

<DQJ/XQăP019 [8] tұp trung vào viӋc giӟi thiӋu blockchain, mô tҧ FiFÿһFÿLӇm ѭXYLӋt FNJQJQKѭSKkQORҥi blockchain Bên cҥQKÿyÿӅ WjLFzQSKkQWtFKÿӅ xuҩt viӋc ӭng dөng blockchain kӃt hӧp vӟi các mҧng công nghӋ NKiFQKѭ,R76HFXULW\Data Management hoһc các OƭQKYӵFNKiFQKѭ+HDOWK &DUH'DWD3URYHQDQFH Huimin Tang và các cӝng sӵ QăP [9] tiӃQKjQKÿiQKJLiYj[Ӄp hҥng các public blockchain hiӋn tҥi dӵa trên mӝt sӕ WLrX FKtPjÿӅ WjL ÿѭDUD0өc tiêu cӫDÿӅ tài là xӃp hҥng các public blockchain giúp hӛ trӧ ra quyӃWÿӏnh cho các nhà nghiên cӭu nên chӑQSXEOLFEORFNFKDLQQjRÿӇ nghiên cӭu, phát triӇn

+uQKErQGѭӟi mô tҧ nhӳQJWLrXFKtPjÿӅ WjLÿmÿӅ xuҩt

Trang 21

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 9

KӃt quҧ SKkQWtFKÿiQKJLi FӫDÿӅ tài chӍ ra rҵng: Bitcoin, Ethereum và EOS chính

là 3 public blockchain tӕt nhҩt dӵDWKHRFiFWLrXFKtÿmÿӅ xuҩt

Mӝt nghiên cӭu thú vӏ cӫa Abdulla AlshDPVL Yj3URI3HWHU$QGUDVQăP [10] ÿLӅu tra nhұn thӭc và kinh nghiӋm cӫDQJѭӡi dùng vӅ hӋ thӕng thanh toán kӻ thuұt

sӕ ҭn danh (Bitcoin) và ҧQKKѭӣng cӫDQyÿӕi vӟLQJѭӡi dùng vӅ khҧ QăQJVӱ dөng, tính bҧo mұt so vӟi các hӋ thӕng thanh toán không ҭn GDQKNKiFQKѭWKҿ tín dөng/thҿ ghi nӧ KӃt quҧ cӫDÿӅ WjLOjÿDVӕ QJѭӡi dùng hiӋn nay vүn quen vӟi hӋ thӕng thanh toán không ҭQGDQKYjFKѭDbiӃWÿӃn hoһc không thӵc sӵ hiӇu rõ vӅ FiFѭXÿLӇm cӫa mӝt hӋ thӕng thanh toán kӻ thuұt sӕ ҭn danh

Xin Zhang và các cӝng sӵ QăP [11] tìm các nhân tӕ ҧQKKѭӣQJÿӃn giá Bitcoin

và phân tích mӕi quan hӋ WѭѫQJ TXDQJLӳa giá Bitcoin so vӟLJLi YjQJYjJLi ÿ{OD,

sӱ dөQJ SKѭѫQJ SKiS '0&$ detrending moving average cross-correlation analysis) Ĉk\OjPӝt trong sӕ rҩt nhiӅu nhӳQJÿӅ tài tұp trung vào viӋc phân tích giá Bitcoin

Giray Gozgor và các cӝng sӵ QăP [12] ÿmphân tích mӕi quan hӋ giӳa lӧi nhuұn cӫa Bitcoin và chӍ sӕ TPI (Trade Policy Uncertainty) ӣ Mӻ WURQJJLDL ÿRҥn tӯ tháng

 ÿӃn tháng 08/2018 bҵng cách sӱ dөng các kӻ thuұt QKѭ: WPS (Wavelet Power Spectrum), WTC (Wavelet Coherency) và XWT (Cross-Wavelet)

Dionisis Philippas và các cӝng sӵ QăP  [13] tìm hiӇu mӕi quan hӋ giӳa giá Bitcoin và các tín hiӋu thông tin tӯ Twitter và Google Trends Các kӃt quҧ thӵc nghiӋm cӫDÿӅ tài chӍ ra rҵng, JLi %LWFRLQ ÿѭӧFWK~Fÿҭy mӝt phҫn bӣLWiFÿӝng cӫa FiFSKѭѫQJWLӋn truyӅn thông

Trong phҥPYLÿӅ tài này, chúng tôi chӍ tұp trung vào nghiên cӭu nhӳng dӳ liӋu thӵc

sӵ ÿѭӧc vұn hành trong blockchain Chính vì vұy, xuҩt phát tӯ nhӳng hҥn chӃ cӫa ÿӅ tài [5] và [7]ÿӅ tài này sӁ tұp trung xây dӵng 3 bҧng dӳ liӋu chӭa toàn bӝ thông tin

có thӇ rút trích ra tӯ mӝt blockchain, bao gӗm: thông tin cӫa khӕi, giao dӏFKYjÿӏa chӍ Bên cҥQKÿyÿӅ WjL FNJQJVӁ xây dӵng mӝt công cө ÿӇ hӛ trӧ SKkQWtFKÿiQKJLinhӳng thông tin thu thұSÿѭӧc

Trang 22

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 10

Hình 3.1 Mô hình các node dӳ liӋu liên kӃt vӟi nhau trong blockchain

&KѭѫQJ &Ѫ6Ӣ LÝ THUYӂT 3.1 Tәng quan vӅ blockchain

Blockchain là công nghӋ OѭXWUӳ và truyӅn tҧi thông tin bҵng các khӕLÿѭӧc liên kӃt vӟi nhau và mӣ rӝng theo thӡLJLDQWKѭӡng ÿѭӧc gӑi là chuӛi khӕi [1]WѭѫQJWӵ cuӕn

sә cái kӃ toán cӫa mӝWF{QJW\7URQJWUѭӡng hӧp này, blockchain là mӝt cuӕn sә cái

kӃ toán hoҥWÿӝQJWURQJOƭQK Yӵc kӻ thuұt sӕ HӋ thӕng blockchain bao gӗm nhiӅu node dӳ liӋX ÿӝc lұp có khҧ QăQJ[iF WKӵc thông tin mà không cҫn thông qua mӝt bên trung gian nào khác Dӳ liӋu cӫa blockchain không thӇ bӏ WKD\ÿәi và chӍ ÿѭӧc

bә sung thêm khi có sӵ ÿӗng thuұn cӫa các node trong hӋ thӕng Blockchain có tính sҹn sàng cao vì ngay cҧ khi mӝt phҫn cӫa hӋ thӕng bӏ sөSÿә thì nhӳng node dӳ liӋu khác vүn có thӇ tiӃp tөc duy trì hoҥWÿӝng cӫa hӋ thӕng [2]

HӋ thӕng blockchain có thӇ chia thành 3 loҥi chính, bao gӗm [2]:

+ Public blockchain: bҩt kǤ DLFNJQJFyTX\ӅQÿӑc và ghi dӳ liӋu, quá trình xác thӵc giao dӏch trên blockchain này ÿѭӧc thӵc hiӋn bӣi các miner và bҩt cӭ node dӳ liӋu nào tham gia vào hӋ thӕQJFNJQJFyWKӇ trӣ thành miner nӃXQKѭVӭc mҥnh tính toán

ÿӫ lӟn

+ Private blockchain: chӍ nhӳng QJѭӡi dùng ÿѭӧc quyӅn tham gia vào hӋ thӕng mӟi

có thӇ ÿӑc dӳ liӋu, quyӅn ghi dӳ liӋu sӁ ÿѭӧc giao cho mӝt sӕ node dӳ liӋu nhҩWÿӏnh, các node dӳ liӋXÿѭӧc chӍ ÿӏnh sӁ quyӃWÿӏnh mӑi tha\ÿәi trên blockchain này

Trang 23

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 11

+ Consortium: là mӝt dҥng blockchain kӃt hӧSFiF ÿһFÿLӇm cӫa public và private blockchain, quyӅQÿӑc dӳ liӋu có thӇ dành cho bҩt kǤ ai hoһc chӍ giӟi hҥn cho mӝt

sӕ QJѭӡi dùng, quyӅn ghi dӳ liӋu thì luôn bӏ giӟi hҥn

3.2 Tәng quan vӅ Bitcoin

3.2.1 Bitcoin là gì?

Bitcoin là thӃ hӋ tiӅQ Pm KyD ÿҫX WLrQ ÿѭӧF SKiW PLQK QăP  Eӣi Satoshi Nakamoto [3] thông qua mӝt bài báo khoa hӑFFy WrQ Oj ³%LWFRLQ $ 3HHU-to-Peer (OHFWURQLF &DVK6\VWHP´6DXÿy%LWFRLQÿѭӧc phát triӇQQKѭOjPӝt mã nguӗn mӣ

và bҳWÿҫu vұQKjQKYjRQăP 6DWRVKL1DNDPRWRFKӍ là bí danh cӫa mӝt tә chӭc hoһc mӝWFiQKkQQjRÿyÿӃn nay cái tên này vүn còn là mӝt bí ҭQ7KiQJ QăP

2011, Satoshi Nakamoto ngӯng phát triӇn mã nguӗn cӫD%LWFRLQ ÿӇ lҥi trách nhiӋm ÿyFKRFӝQJÿӗng [3]

Bitcoin có cách hoҥW ÿӝng khác hҷn so vӟi các loҥi tiӅn tӋ truyӅn thӕng, không có mӝt ngân hàng trunJѭѫQJQjRTXҧn lý và hӋ thӕng hoҥWÿӝng dӵa trên mӝt giao thӭc mҥng ngang hàng trên Internet [3] Bitcoin sӱ dөng công nghӋ EORFNFKDLQ ÿӇ vұn hành hӋ thӕng, ciF QJѭӡi dùng Bitcoin sӁ WUDRÿәi trӵc tiӃp vӟi nhau và không cҫn phҧi thông qua mӝt trung gian nào khác

Bên cҥQKÿyVRYӟi tiӅn tӋ truyӅn thӕQJWKu%LWFRLQ FNJQJFyQKLӅXÿһFÿLӇPѭXYLӋt KѫQYӅ ÿӝ tin cұy, tӕFÿӝ giao dӏch và chi phí giao dӏch MӛL QJѭӡi dùng trong hӋ thӕQJ%LWFRLQ ÿӅu có mӝt khóa bí mұW GRQJѭӡi dùng tӵ quҧn lý, không phө thuӝc vào bҩt cӭ mӝt tә chӭc, cá nhân nào 7URQJNKLÿyQӃu mӝt cá nhân sӱ dөng dӏch vө cӫa ngân hàng, sӁ luôn tӗn tҥi nhӳng rӫi ro nhҩWÿӏQKNKLFѫ Vӣ dӳ liӋu bӏ tҩn công hoһc ngân hàng phá sҧn Bên cҥQKÿyQӃXQKѭTXiWUuQKJӱi và nhұn tiӅn liên ngân KjQJ FNJQJ QKѭ OLrQ OөF ÿӏa mҩt rҩt nhiӅu thӡi gian YjFKL SKt FNJQJ WăQJ OrQ WKHRkhoҧQJFiFKÿӏa lý thì nhӳng giao dӏFKÿѭӧc tiӃn hành trên hӋ thӕng Bitcoin diӉn ra QKDQKKѫQFKLSKtJLDRGӏch chӍ phө thuӝc vào bҧn chҩt cӫa giao dӏch, tҥo nên sӵ EuQKÿҷng cho nhӳnJQJѭӡi tham gia hӋ thӕng và xóa bӓ mӑi rào cҧn vӅ ÿӏa lý 3.2.2 Cách vұn hành cӫa Bitcoin

+uQKErQGѭӟi mô tҧ mӝt bӭc tranh tәng quan vӅ cách mà Bitcoin blockchain ÿDQJvұn hành

Trang 24

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 12

Hình 3.2 Cách vұn hành cӫa Bitcoin blockchain [3]

Mӝt hӋ thӕng Bitcoin blockchain bao gӗm nhiӅu node dӳ liӋu, phân bӕ rӝng khҳp NhӳQJQJѭӡi dùng trong hӋ thӕng giӳ mӝt khóa bí mұt, khóa bí mұWQj\ÿѭӧc dùng

ÿӇ chӭng minh quyӅn sӣ hӳX%LWFRLQNKLQJѭӡi dùng muӕn tҥo mӝt giao dӏFKÿӇ gӱi

%LWFRLQÿӃn mӝWQJѭӡi dùng khác6DXÿyFiFJLDRGӏch sӁ ÿѭӧc gӱi lên hӋ thӕng và chӡ xác thӵc [3]

Trong hӋ thӕng, có nhӳng node dӳ liӋXÿyQJYDLWUzxác thӵc các giao dӏch và tham gia vào quá trình tҥo ra mӝt khӕi dӳ liӋu mӟi, ÿѭӧc gӑi là miner [3] Sau khi hoàn tҩt viӋc xác thӵc các giao dӏch và tҥo ra mӝt khӕi dӳ liӋu mӟi, miner sӁ nhұQÿѭӧc phҫn WKѭӣng tӯ hӋ thӕng và thông tin vӅ khӕi dӳ liӋu mӟi này sӁ ÿѭӧc truyӅn tҧLÿӃn toàn

bӝ các node dӳ liӋu còn lҥi trong hӋ thӕng [3] ĈyOjWRjQEӝ quá trình vұn hành cӫa Bitcoin blockchain

Tҥi thӡLÿLӇPWKiQJQăP phҫQWKѭӣng cho miner khi mӝt khӕi dӳ liӋu mӟi ÿѭӧc tҥo ra là 12,5 Bitcoin [15], thӡLJLDQWUXQJEuQKÿӇ tҥo ra mӝt khӕi dӳ liӋu mӟi

là 10 phút [4] Mһc dù Bitcoin sӁ ÿѭӧc sinh ra liên tөF ÿӇ WKѭӣng cho các miner QKѭQJVӕ Oѭӧng Bitcoin là có giӟi hҥQ7KHRTX\ÿӏnh cӫa hӋ thӕng, sӁ có tәng cӝng

21 triӋX ÿӗQJ%LWFRLQ ÿѭӧc sinh ra và dӵ kiӃn sӁ ÿҥW ÿӃn con sӕ này vào cuӕLQăP

2140 [3]

Trang 25

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 13

Hình 3.3 Cҩu trúc cӫa mӝt khӕi dӳ liӋu [3]

Hình 3.4 Cҩu trúc cӫa mӝt block header [3]

3.2.3 Cҩu trúc dӳ liӋu cӫa Bitcoin

Dӳ liӋu cӫa Bitcoin gӗm nhiӅu khӕi dӳ liӋu liên kӃt vӟi nhau, trong mӛi khӕi dӳ liӋu

có thông tin vӅ các giao dӏch và trong mӛi giao dӏch sӁ có thông tin cө thӇ vӅ ÿӏa chӍ QJѭӡi gӱLÿӏa chӍ QJѭӡi nhұn và sӕ OѭӧQJ%LWFRLQÿѭӧc giao dӏch

+uQKErQGѭӟi là cҩu trúc cӫa mӝt khӕi dӳ liӋu

Cҩu trúc cӫa mӝt khӕi dӳ liӋu bao gӗm các thành phҫn sau:

%ORFN6L]HNtFKWKѭӟc khӕLÿѭӧFWtQKWKHRÿѫQYӏ bytes

+ Block Header: phҫn thông tin gҳn vӟi mӛi khӕi dӳ liӋu, bao gӗm mӝt sӕ WUѭӡng thông tin sӁ ÿѭӧc trình bày ӣ phҫn tiӃp theo

+ Transaction Counter: sӕ Oѭӧng giao dӏch trong khӕi

+ Transactions: danh sách cө thӇ cӫa các giao dӏch trong khӕi

+uQKErQGѭӟi là cҩu trúc cӫa Block Header

Trang 26

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 14

Hình 3.5 Cҩu trúc cӫa mӝt giao dӏch [3]

Cҩu trúc cӫa mӝt Block Header bao gӗm các thành phҫn sau:

+ Version: con sӕ thӇ hiӋn phiên bҧn hiӋn tҥi cӫa Bitcoin blockchain

+ Previous Block Hash: giá trӏ hash cӫa khӕLWUѭӟFÿy

+ Merkle Root: giá trӏ hash ÿѭӧc hình thành tӯ các giao dӏch trong khӕi

+ Timestamp: thӡLÿLӇm (tính theo unix time) khӕi dӳ liӋXÿѭӧc sinh ra

+ Difficulty Target: ÿӝ NKyÿѭӧc sӱ dөQJÿӇ tҥo ra khӕi dӳ liӋu

+ Nonce: sӕ ngүXQKLrQÿѭӧc sӱ dөQJÿӇ tҥo ra khӕi dӳ liӋu

+uQKErQGѭӟi là cҩu trúc cӫa mӝt giao dӏch

Cҩu trúc cӫa mӝt giao dӏch bao gӗm các thành phҫn sau:

+ Version: phiên bҧn cӫa luұWÿӗng thuұn ӣ thӡLÿLӇm giao dӏFKÿѭӧc xác thӵc + Input Counter: sӕ OѭӧQJÿҫu vào cӫa giao dӏch

+ Inputs: thông tin cө thӇ vӅ GDQKViFKÿҫXYjR GDQKViFKQJѭӡi gӱi) cӫa giao dӏch + Output Counter: sӕ OѭӧQJÿҫu ra cӫa giao dӏch

+ Outputs: thông tin cө thӇ vӅ GDQKViFKÿҫXUD GDQKViFKQJѭӡi nhұn) cӫa giao dӏch + Locktime: sӕ thӭ tӵ cӫa khӕi dӳ liӋu chӭa giao dӏch hoһc thӡL ÿLӇm mà khӕi dӳ liӋXQj\ÿѭӧc sinh ra

Trang 27

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 15

Hình 3.6 Chi tiӃt cӫa mӝt giao dӏch [3]

Hình 3.7 4XiWUuQK%LWFRLQ ÿѭӧFOѭXFKX\Ӈn trong hӋ thӕng [3]

Mӝt ví dө trӵFTXDQKѫQYӅ thông tin cӫa mӝt giao dӏch

Giao dӏch trên có 4 ÿҫu vào, 3 ÿҫu ra, tәng giá trӏ gӱLÿLOj %7& (Bitcoin), tәng giá trӏ nhұQÿѭӧc là 0.5 BTC, phí giao dӏch là 0.05 BTC

Mӝt ví dө khác mô tҧ chi tiӃt quá trình %LWFRLQ ÿѭӧFOѭXFKX\Ӈn trong hӋ thӕng

Thông tin vӅ ÿҫu vào cӫa mӝt giao dӏch bao gӗm: giá trӏ hash cӫa giao dӏFKWUѭӟFÿy

và vӏ trí trong giao dӏFKPjÿӏa chӍ ÿmQKұQÿѭӧc tiӅn

Trang 28

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 16

Có thӇ chia giao dӏch thành 2 loҥi chính:

+ Giao dӏch coinbase [3]: giao dӏFKÿѭӧFGQJÿӇ WKѭӣng Bitcoin cho miner khi tham gia vào quá trình sinh ra khӕi dӳ liӋu mӟi, mӛi khӕi dӳ liӋu chӍ có mӝt giao dӏch FRLQEDVHÿҫXYjROjFRLQEDVH OѭӧQJ%LWFRLQ ÿѭӧc sinh ra tӯ hӋ thӕQJ Yjÿҫu ra là ÿӏa chӍ PLQHUĈӅ tài này không tұp trung quan sát nhӳng giao dӏch coinbase nên nhӳng giao dӏch này sӁ ÿѭӧc bӓ qua

+ Giao dӏch thông tKѭӡng [3]: giao dӏFK FyÿҫXYjRYjÿҫXUDOj ÿӏa chӍ cӫDQJѭӡi dùng trong hӋ thӕng Loҥi giao dӏch này có thӇ ÿѭӧc chia nhӓ thành nhiӅu loҥi khác nhau dӵa theo sӕ OѭӧQJÿҫXYjRYjÿҫu ra tham gia trong giao dӏch, bao gӗm:

- Loҥi giao dӏch 1 - 1: gӗPÿҫu YjRYjÿҫu ra

- Loҥi giao dӏch 1 - n: gӗPÿҫu vào và nhiӅXÿҫu ra

- Loҥi giao dӏch n - 1: gӗm nhiӅXÿҫXYjRYjÿҫu ra

- Loҥi giao dӏch n - n: gӗm nhiӅXÿҫu vào và nhiӅXÿҫu ra

3.2.4 Cách xây dӵng mӝWQRGHÿӇ ÿӗng bӝ dӳ liӋu

ĈӇ thu thұSÿѭӧc dӳ liӋu tӯ Bitcoin blockchain, chúng ta cҫn phҧi xây dӵng mӝt node dӳ liӋu kӃt nӕi vӟi hӋ thӕQJÿӇ ÿӗng bӝ dӳ liӋu

Quá trình xây dӵng mӝt node dӳ liӋXQKѭYұy gӗPFiFEѭӟc sau [4]:

+ Tҧi mã nguӗn cӫa Bitcoin tӯ trang github: https://github.com/bitcoin/bitcoin

+ Biên dӏch mã nguӗn Mã nguӗn cӫD %LWFRLQ ÿѭӧc viӃt bҵng ngôn ngӳ C++, quá trình biên dӏch sӁ ÿѭӧc thӵc hiӋQ WK{QJ TXD 0DNHILOH WKHR Kѭӟng dүn trên github [16]

+ Sau khi biên dӏch mã nguӗn, chúng ta sӁ Fyÿѭӧc 2 tұp tin thӵc thi là bitcoind và bitcoin-FOL ELWFRLQG ÿѭӧF GQJÿӇ thiӃt lұp mӝt node dӳ liӋu kӃt nӕi vӟi hӋ thӕng, bitcoin-FOL ÿѭӧF GQJÿӇ truy xuҩt các thông tin vӅ khӕi, giao dӏch bҵng cách truy cұp vào node dӳ liӋu vӯDÿѭӧc xây dӵQJWK{QJTXDFiFSKѭѫQJWKӭc RPC (Remote Procedure Call) [4] &y  SKѭѫQJ WKӭF 53& ÿѭӧc dӵng sҹQ ÿӇ truy cұp thông tin khӕi và giao dӏch, ví dө vӅ KDLSKѭѫQJWKӭFQj\ÿѭӧc mô tҧ chi tiӃt ӣ KuQKErQGѭӟi

Trang 29

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 17

Hình 3.8 Truy xuҩt dӳ liӋu khӕLWK{QJTXDSKѭѫQJWKӭc RPC

Hình 3.9 Truy xuҩt thông tin giao dӏFKWK{QJTXDSKѭѫQJWKӭc RPC

Trang 30

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 18

&KѭѫQJ MÔ TҦ BÀI TOÁN 4.1 Mô hình hiӋn tҥi

Mô hình kiӃn trúc hӋ thӕng ӣ thӡL ÿLӇm hiӋn tҥi cӫa Bitcoin blockchain mô tҧ quá WUuQKÿӗng bӝ, xӱ lý, OѭXWUӳ dӳ liӋu YjFiFKWѭѫQJWiFYӟi dӳ liӋXÿӇ thӵc hiӋn nhӳng phân tích, thӕng kê

HӋ thӕng này bao gӗm các thành phҫn sau:

+ Fullnode A, B, C: là các node dӳ liӋu tham gia vào hoҥW ÿӝng cӫa Bitcoin blockchain

+ My Fullnode: là node dӳ liӋXÿѭӧFÿӅ tài xây dӵQJÿӇ ÿӗng bӝ dӳ liӋu tӯ Bitcoin blockchain

+ Process Data: là thành phҫn có chӭFQăQJ[ӱ lý thông tin cӫa các khӕi dӳ liӋu khi QRGHÿDQJÿӗng bӝ dӳ liӋX.KLÿӅ cұSÿӃn dӳ liӋu cӫa blockchain nói chung và cӫa Bitcoin blockchain nói riêng thì có 3 loҥLWK{QJWLQÿѭӧc quan tâm là: thông tin khӕi, thông tin giao dӏch và lӏch sӱ giao dӏch cӫa mӝWÿӏa chӍ &ѫFKӃ mһFÿӏnh cӫa Bitcoin blockchain trong quá trình xӱ lý dӳ liӋu chӍ quan tâm tӟi thông tin khӕi và thông tin

Hình 4.1 KiӃn trúc hӋ thӕQJÿӇ truy xuҩt dӳ liӋu Bitcoin blockchain

Trang 31

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 19

giao dӏch, nhiӋm vө cӫa quá trình xӱ lý dӳ liӋu là kiӇm tra tính hӧp lӋ cӫa tҩt cҧ các giao dӏch trong mӝt khӕi Tӭc là sau quá trình xӱ lý dӳ liӋu, chӍ có thӇ truy cұp thông tin cӫa khӕi và giao dӏch, không thӇ truy cұp lӏch sӱ giao dӏch cӫa tӯQJÿӏa chӍ

/HYHO'% OjFѫVӣ dӳ liӋXÿѭӧc Bitcoin blockchain chӑQÿӇ OѭXWUӳ dӳ liӋu Dӳ liӋu cӫa LevelDB ÿѭӧFOѭXGѭӟi dҥng các tұp tin nhӏ phân

+ Module Statistics: là mӝt công cө hӛ trӧ ÿѭӧFÿӅ tài xây dӵQJÿӇ phân tích, khҧo sát dӳ liӋu cӫa Bitcoin blockchain

Toàn bӝ hoҥWÿӝng cӫa hӋ thӕQJQj\ÿѭӧc mô tҧ qua các Eѭӟc sau:

(1) là quá trình ÿӗng bӝ dӳ liӋu, node dӳ liӋu cӫDÿӅ tài sӁ ÿѭӧc xây dӵng và kӃt nӕi vӟi các node dӳ liӋu khác cӫa mҥng Bitcoin blockchain, khi có mӝt khӕi dӳ liӋu mӟi ÿѭӧc sinh ra, node dӳ liӋu cӫDÿӅ tài sӁ tiӃp nhұQÿѭӧc thông tin cӫa khӕi dӳ liӋu mӟi nhӡ các node dӳ liӋu khác truyӅn tҧLÿӃn

(2) là quá trình kiӇm tra và xӱ lý dӳ liӋu, bҧn thân mӛi node dӳ liӋu khi tham gia vào mҥQJ%LWFRLQ EORFNFKDLQÿӅu có khҧ QăQJNLӇPWUDWtQKÿ~QJÿҳn cӫa dӳ liӋu do các node dӳ liӋu khác truyӅn tӟi Mӝt khӕi dӳ liӋXÿѭӧc truyӅn tӟi sӁ chӭa thông tin cӫa các giao dӏch, mӛi giao dӏch sӁ chӭDWK{QJWLQÿӏa chӍ QJѭӡi gӱLÿӏa chӍ QJѭӡi nhұn,

sӕ Oѭӧng BTC ÿѭӧc gӱL ÿL SKt JLDR GӏFK « 1RGH Gӳ liӋu có nhiӋm vө kiӇm tra nhӳng thông tin chӭa trong các giao dӏch có hӧp lӋ hay không Nhӳng dӳ liӋu sau NKLÿѭӧc kiӇm tra sӁ ÿѭӧc xӱ OêÿӇ OѭXWUӳ YjRFѫVӣ dӳ liӋu

(3) OjTXiWUuQKOѭXWUӳ dӳ liӋu, sau khi node dӳ liӋu kiӇPWUD WtQKÿ~QJÿҳn, hӧp lӋ cӫa dӳ liӋu, xӱ lý dӳ liӋu thì nhӳng dӳ liӋu này sӁ ÿѭӧFOѭXWUӳ lҥi

(4) là quá trình công cө phân tích, khҧo sát dӳ liӋu kӃt nӕLYjR Fѫ Vӣ dӳ liӋu cӫa

%LWFRLQ EORFNFKDLQÿӇ truy xuҩt dӳ liӋu thông qua các SKѭѫQJWKӭc RPC

HӋ thӕQJQj\ÿDQJWӗn tҥi mӝt sӕ hҥn chӃ sau:

Hҥn chӃ vӅ ÿӝ trӵc quan cӫa dӳ liӋu

Dӳ liӋXÿDQJÿѭӧc LeYHO'% OѭXWUӳ Gѭӟi dҥng các tұp tin nhӏ SKkQJk\NKyNKăQFKRquá trình thӕng kê, phân tích dӳ liӋu

Trang 32

Hӑc Viên Thӵc HiӋn: Lê Công ± 1670214 20

Hҥn chӃ vӅ thông tin cӫa dӳ liӋu

ChӍ có thӇ truy xuҩt thông tin cӫa mӝt khӕi hoһc mӝt giao dӏch, không thӇ truy xuҩt thông tin lӏch sӱ giao dӏch cӫa mӝWÿӏa chӍ

Hҥn chӃ vӅ khҧ QăQJNKҧo sát, phân tích dӳ liӋu

%LWFRLQ EORFNFKDLQ FNJQJ QKѭ Pӝt sӕ blockchain khác, chҷng hҥn: Bitcoin Cash, /LWHFRLQ'RJHFRLQ(WKHUHXP«ÿӅu chӑQ/HYHO'% ÿӇ OѭXWUӳ dӳ liӋu Có mӝWÿLӇm ÿѭӧc nhҩn mҥnh ӣ ÿk\Oj/HYHO'% FKӍ hӛ trӧ SURFHVVÿӇ WKDRWiF ÿӑc, ghi) dӳ liӋu tҥi mӝt thӡL ÿLӇm ĈLӅu này sӁ không ҧQK KѭӣQJ Ju ÿӃn quá trình vұn hành cӫa blockchain nói chung và Bitcoin blockchain nói riêng, vì dӳ liӋu cӫa blockchain là mӝt chuӛi khӕi nӕi tiӃp và liên kӃt vӟi nhau Khi mӝt khӕi dӳ liӋu tӟi, nó sӁ ÿѭӧc kiӇm tra tính hӧp lӋVDXÿyÿѭӧc xӱ lý và ghi nӕi vào chuӛi khӕi hiӋn tҥi Ӣ mӝt thӡi ÿLӇm, chӍ có mӝt phҫn dӳ liӋXÿѭӧFÿӑFOrQÿӇ kiӇm tra, sDXÿyGӳ liӋu ÿѭӧc xӱ lý

và ghi xuӕng VӟL FѫFKӃ này, blockchain vүn vұn hành WUѫQWUX

1KѭQJYӟi nhu cҫu khҧo sát, phân tích dӳ liӋu, giҧ sӱ chúng ta cҫn thӕng kê tӯ khӕi thӭ ÿӃn khӕi thӭ 100.000 sӁ có tәng cӝQJEDRQKLrX%LWFRLQ ÿѭӧc gӱLÿLTXiWUuQKnày sӁ mҩt rҩt nhiӅu thӡi gian Vì tҥi mӝt thӡLÿLӇm, công cө thӕng kê chӍ ÿѭӧc phép truy cұp vào mӝt khӕi dӳ liӋu thông qua SKѭѫQJWKӭc RPC, do LevelDB chӍ hӛ trӧ 1 process ÿӇ thao tác dӳ liӋu

Theo thӵc nghiӋm cӫD ÿӅ tài ÿѭӧc tiӃn hành trên máy tính hӋ ÿLӅu hành Ubuntu 18.04.2 LTS 64bit, CPU Intel Core i5-5300U@2.30GHz x 4, RAM 16GB), thӡi gian WUXQJEuQKÿӇ truy xuҩt thông tin cӫa mӝt khӕi dӳ liӋu, thông qua SKѭѫQJWKӭc RPC kӃt nӕi vӟi LevelDB mҩt khoҧng 200ms Có thӇ WtQK Vѫ Eӝ là thӡi gian truy xuҩt thông tin cӫa 100.000 khӕi dӳ liӋu sӁ mҩWV WѭѫQJÿѭѫQJYӟLKѫQKYjÿӇ có ÿѭӧc kӃt quҧ thӕng kê, cҫn thêm mӝt khoҧng thӡi gian nӳDÿӇ xӱ lý dӳ liӋu

Nhѭ Yұy, vӟL P{ KuQK QKѭ KLӋn tҥi, viӋc thӕng kê, phân tích dӳ liӋu cӫa Bitcoin blockchain là hoàn toàn không khҧ thi

Hình 4.2 Mӝt ví dө vӅ thông tin các khӕi dӳ liӋu cӫa Bitcoin blockchain

Ngày đăng: 05/08/2024, 00:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN