Phân tích khái niệm hình thức để phân loại và phát hiện mã độc
Giới thiệu về Blockchain - công nghệ phía sau Bitcoin
1. Công ngh blockchain: nguyênệ
t c, s phát tri n và ng d ngắ ự ể ứ ụ
Nguy n Trung Thànhễ
B môn Công ngh m ng – Khoa CNTTộ ệ ạ
HVKTQS
2. N i dungộ
●
Blockchain là gì?
●
Các v n đ mà blockchain gi i quy tấ ề ả ế
●
Ho t đ ng c a blockchainạ ộ ủ
●
Các khía c nh v k thu t c a blockchainạ ề ỹ ậ ủ
●
Blockchain 2.0
6. Blockchain là gì?
●
Có nhi u đ nh nghĩaề ị
– Blockchain là công ngh dùng cho bitcoinệ
– Wiki: Blockchain là m t c s d li u phân tán duyộ ơ ở ữ ệ
trì m t danh sách b n ghi l n d n liên t c g i làộ ả ớ ầ ụ ọ
kh i (block) và đ c b o v kh i gi m o và ch nhố ượ ả ệ ỏ ả ạ ỉ
s a.ử
– Blockchain là giao th c an toàn cho phép trao đ iứ ổ
ngang hàng (p2p) trong m t m ng phân tán m tộ ạ ộ
cách an toàn, công khai, đ c công nh n.ượ ậ
7. L ch s blockchainị ử
●
Ban đ u ki n trúc vàầ ế
các nguyên t c đ cắ ượ
dùng cho Bitcoin
●
Hình thành năm 2008,
implement trong 2009
●
2014: ra đ i blockchain 2.0ờ
– Là cu c cách m ng so v iộ ạ ớ
phiên b n đ u tiênả ầ
– T các giao d ch đ n gi n t iừ ị ơ ả ớ
các ch ng trình ph n m mươ ầ ề
– T d ng 1 s cái giao d chừ ạ ổ ị
phân tán t i Phân tán toànớ
c c, không th s h u, đi nụ ể ở ữ ệ
toán s .ố
12. Gi i pháp truy n th ngả ề ố
●
H th ng đóng và thi u minh b ch và công b ngệ ố ế ạ ằ
●
T t c các bên trung gian không ph i là tình nguy n viên, mà làm vi c vì ti nấ ả ả ệ ệ ề
●
Các giao d ch, trao đ i d b l iị ổ ễ ị ỗ
– M t c p thông tin th tín d ngấ ắ ẻ ụ
– L i nhân viên ngân hàngỗ
●
Ch tài kho n v b n ch t không ph i ng i s h u th c s tài kho nủ ả ề ả ấ ả ườ ở ữ ự ự ả
– Ngân hàng th c s s h u tài kho nự ự ở ữ ả
– Các kho n ti n có th b đóng băng, thay đ i.ả ề ể ị ổ
– Ngân hàng ho c các t ch c x lý giao d ch có th t ch i x lý vì m t s th c thặ ổ ứ ử ị ể ừ ố ử ộ ố ự ể
pháp lu t khác.ậ
●
Giao d ch th c hi n ch m : séc và chuy n ti n thông th ng có th m t hàngị ự ệ ậ ể ề ườ ể ấ
ngày
13. B ph n thanh toán bù tr /ộ ậ ừ
Clearing house
●
Đ ng gi a 2 th c th (ngân hàng), nh m gi m r i ro, đ mứ ữ ự ể ằ ả ủ ả
b o giao d chả ị
●
“Thanh toán bù tr ” là m t nghi p v , theo đó, m t nhómừ ộ ệ ụ ộ
các ngân hàng (hay b t c nhóm giao d ch nào v v n đấ ứ ị ề ấ ề
này) gi séc, h i phi u hay các ch ng t đòi tr c a nhau,ữ ố ế ứ ừ ả ủ
khi đ a chúng vào thanh toán s cùng tham gia vào m tư ẽ ộ
quá trình bù tr nh ng yêu c u tr này c a nhau.ừ ữ ầ ả ủ
●
Vi c này d n đ n m i ngân hàng s tr thành con n ròngệ ẫ ế ỗ ẽ ở ợ
ho c ch n ròng và s thanh toán qua t ch c thanh toánặ ủ ợ ẽ ổ ứ
bù tr b ng cách chuy n s d t i Ngân hàng Trung ng.ừ ằ ể ố ư ớ ươ
14. Clearing house problems
●
Ngân hàng và h th ng th cệ ố ự
thi s d ng s cái t p trungử ụ ổ ậ
đ giám sát các giao d ch.ể ị
– H th ng thi u hi u qu , d aệ ố ế ệ ả ự
trên fax ho c nh p th côngặ ậ ủ
– T n th i gian và tăng chi phíố ờ
●
Là m c tiêu t n công, gianụ ấ
l nậ
●
T n chi phí đ m b o an toànố ả ả
...
15. S cái phân tán (distributed ledgers)ổ
●
M t s cái phân tán (hay s cái chia s ) là m t d li u đ cộ ổ ổ ẻ ộ ữ ệ ượ
chia s , đ ng thu n, nhân b n và đ ng b gi a nhi u th c th ,ẻ ồ ậ ả ồ ộ ữ ề ự ể
qu c gia …ố
●
M i node trong m ng phân tán đ u có 1 b n sao c a s cái nàyọ ạ ề ả ủ ổ
●
Không có cái g i là “b n chính th c” hay th c th nào đáng tinọ ả ứ ự ể
c y h n th c th nào.ậ ơ ự ể
M t đ nh nghĩa khác c a blockchain: blockchain là m t d ng sộ ị ủ ộ ạ ổ
cái phân tán bao g m nh ng d li u s đ c ghi nh n khôngồ ữ ữ ệ ố ượ ậ
th thay đ i và đ c đóng gói thành nh ng kh i (block)ể ổ ượ ữ ố
17. So sánh blockchain v i mô hìnhớ
truy n th ngề ố
Bản ghi của
bên A
Bản ghi của
ngân hàng
Bản ghi của
Kiểm toán
Bản ghi của
bên B
Chữ ký số,
mã hóa giao
dịch & sổ cái
Tất cả các bên
đều có chung 1
bản sao của sổ
cái
Party A
Bank
Auditor
Party B
Traditional Way Blockchain Way
Clearing
House
… Inefficient, expensive, vulnerable … Consensus, provenance, immutability, finality
19. T ng quan v blockchainổ ề
●
Blockchain là m t danh sách các blocksộ
– M i block ch a d li u c a nó (ví d giao d ch bitcoin) vàỗ ư ữ ệ ủ ụ ị
giá tr băm mã hóa c a nóị ủ
●
M i block cũng ch a giá tr băm c a kh i tr c đóỗ ứ ị ủ ố ướ
trong blockchain. Đi u này đ m b o toàn b d li uề ả ả ộ ữ ệ
trong blockchain không b gi m o và không b thayị ả ạ ị
đ i.ổ
●
Vi c t o ra block hi n t i t block nguyên th yệ ạ ệ ạ ừ ủ
– M i block đ c đ m b o t o ra sau block tr c đó theoỗ ượ ả ả ạ ướ
trình t th i gian.ự ờ
20. T ng quan v blockchainổ ề
●
M ng blockchain là 1ạ
m ng ngang hàng g mạ ồ
nhi u node đ c l p, traoề ộ ậ
đ i thông tin b ngổ ằ
truy n thông qu ng bá.ề ả
●
M i node không nh tỗ ấ
thi t giao ti p v i m iế ế ớ ọ
node khác, nh ng c nư ầ
giao ti p v i m t vàiế ớ ộ
node
21. Nguyên t c ho t đ ng c aắ ạ ộ ủ
blockchain
●
Ví d nguyên t c ho t đ ng sau c a bitcoinụ ắ ạ ộ ủ
– M t ng i dùng mu n chuy n cho 1 ng i khác m t vàiộ ườ ố ể ườ ộ
bitcoins, anh ta qu ng bá giao d ch vào m ngả ị ạ
– Các th đào (miner) thêm giao d ch này vào d li u c aợ ị ữ ệ ủ
block hi n t i - block mà th đào này đang c g ng t o ra.ệ ạ ợ ố ắ ạ
– Theo m t cách ng u nhiên th đào này tìm ra block h pộ ẫ ợ ợ
l (s trình bày sau)ệ ẽ
– Sau đó block m i này đ c qu ng bá vào m ng và thêmớ ượ ả ạ
vào m i b n sao c a blockchain c a các ng i dùngọ ả ủ ủ ườ
(node trên m ng)ạ
23. Proof of work
●
Đ 1 block đ c ch p nh n b i các thành viên trong m ng, nh ngể ượ ấ ậ ở ạ ữ
miner ph i hoàn thành “ch ng minh công s c” - proof of work ch aả ứ ứ ứ
t t c d li u trong 1 block.ấ ả ữ ệ
– “minh ch ng công s c” là m t ph n d li u trong block mà r t khó đ t oứ ứ ộ ầ ữ ệ ấ ể ạ
ra (t n kém th i gian và năng l ng/cpu ) , nh ng l i d dàng có th ki mố ờ ượ ư ạ ễ ể ể
tra tính đúng đ n và ph i đ t đ c m t s yêu c u c th .ắ ả ạ ượ ộ ố ầ ụ ể
– Vi c t o ra m t “minh ch ng công s c” này gi ng nh m t quá trình ng uệ ạ ộ ứ ứ ố ư ộ ẫ
nhiên v i xác su t s y ra th p, đòi h i th sai nhi u l n tr c khi khi t o raớ ấ ả ấ ỏ ử ề ầ ướ ạ
đ c nó.ượ
– Bitcoin s d ng h th ng Hashcash proof of workử ụ ệ ố
●
M t block đ c coi là h p l ph i có giá tr băm nh h n m t giá trộ ượ ợ ệ ả ị ỏ ơ ộ ị
đích hi n có (current target). Đ c đi m này nh m ch ng t proof ofệ ặ ể ằ ứ ỏ
work đã đ c th c hi n.ượ ự ệ
24. Proof of work
●
M i block cũng ch a giá tr băm c a block tr c đó,ỗ ứ ị ủ ướ
do đó, m i block ch a thông tin c a m t chu i cácỗ ứ ủ ộ ỗ
blocks - ch a m t l ng l n các proof of works.ứ ộ ượ ớ
●
Thay đ i 1 block yêu c u thay đ i toàn b các blockổ ầ ổ ộ
k ti p (successors) và làm l i toàn b các proof ofế ế ạ ộ
works c a nó.ủ
– Đi u này nh m b o v block chain kh i vi c gi m oề ằ ả ệ ỏ ệ ả ạ
– S l ng các successors liên quan t i vi c đánh giá tínhố ượ ớ ệ
h p l c a m t block: c n ít nh t 6 successors đ kh ngợ ệ ủ ộ ầ ấ ể ẳ
đ nh 1 block là h p l .ị ợ ệ
27. C u trúc d li uấ ữ ệ
●
Blockchain là m t danh sách tu n t có liên k t ng cộ ầ ự ế ượ
c a các block trong đó g m các giao d ch.ủ ồ ị
●
M i kh i khi đã đ c đ a vào chu i thì đ ph c t pỗ ố ượ ư ỗ ộ ứ ạ
tính toán đ thay đ i kh i đó r t l n và nó d n t i ph iể ổ ố ấ ớ ẫ ớ ả
tính toán l i thay đ i toàn b các kh i sau nó. Vi c tínhạ ổ ộ ố ệ
toán l i này là không th c t .ạ ự ế
●
Các giao d ch m i đ c các “th đào m ” b sungị ớ ượ ợ ỏ ổ
vào các block và đ c đ a vào cu i c a blockchain,ượ ư ố ủ
khi đ c ch p nh n b i m ng thì không th thay đ i,ượ ấ ậ ở ạ ể ổ
xóa b nó.ỏ
28. Thông tin trong 1 block
●
Các transaction g n đâyầ
●
Giá tr băm c a block tr c đóị ủ ướ
●
L i gi i c a bài toán khóờ ả ủ
“Proof of work”
29. Khai thác / Mining
●
Trong bitcoin, m t giao d ch đ c qu ng bá vào m ng b iộ ị ượ ả ạ ở
ng i t o giao d ch. T t c các nút đang tính toán block m iườ ạ ị ấ ả ớ
s thu th p các b n ghi giao d ch này đ đ a vào block. Quáẽ ậ ả ị ể ư
trình này g i là quá trình khai thác hay đào m .ọ ỏ
– Đây là quá trình nh m đ a giao d ch vào s cái c a các giao d ch.ằ ư ị ổ ủ ị
– Quá trình này đ c thi t k sao cho nó đòi h i tài nguyên l n, đượ ế ế ỏ ớ ộ
khó cao nh m đ m b o s l ng block sinh ra trong ngày n đ nh.ằ ả ả ố ượ ổ ị
●
M c tiêu chính c a quá trình đào m là đ các node trongụ ủ ỏ ể
m ng h ng t i m t s đ ng thu n không th gi m o và anạ ướ ớ ộ ự ồ ậ ể ả ạ
toàn.
34. T ch c thông tin các giao d chổ ứ ị
trong 1 block
35. Qu ng bá block/giao d chả ị
●
Giao th c Floodứ
36.
37.
38. Blockchain 2.0 BC Software Stack
Consensus Layer (PBFT, PoW, PoS, POA, etc.)
Smart Contract Execution Engine
(Virtual Machine, Docker, etc.)
Data Model Layer
(LevelDB, RocksDB, etc.)
Source: Anh Dinh, et al., SIGMOD 2017
39. Tài li u tham kh oệ ả
●
https://www.ibm.com/blogs/blockchain/2017/05/
the-difference-between-public-and-private-
blockchain/
●
https://www.slideshare.net/JrmeKehrli/the-
blockchain-the-technology-behind-bitcoin
●
Google