Giới thiệu về Blockchain

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Giới thiệu về Blockchain

Nguyễn Tuấn Vũ
Hanoi, 30/01/2021
Nội dung

1. Giới thiệu về
Blockchain và Bitcoin
2. Ứng dụng của
Blockchain
Biểu đồ giá Bitcoin
Lịch sử của Bitcoin

https://bitcoin.org/bitcoin.pdf
• Ngày 31/10/2008, Satoshi Nakamoto (???) đăng
tải tài liệu có tên Bitcoin White Paper phác thảo
một hệ thống có khả năng lưu trữ, chuyển
nhượng tiền điện tử (gọi là Bitcoin) theo phương
thức ngang hàng (Peer to Peer)
• Là ngày khai sinh của công nghệ Blockchain
• Ngày nay nhiều hệ thống, dự án sử dụng công
nghệ Blockchain đã ra đời:
 Tiền ảo (tiền mã hóa): Bitcoin, Ethereum…
 Tài chính – Ngân hàng: Contour, Skuchain…
 Ứng dụng khác: HyperLedger, Coinbase…
Blockchain là gì?

• Blockchain: là sổ cái điện tử phân tán (distributed


ledger), phi tập trung (decentralized), được mã hóa để
không thể thay đổi, cho phép mọi thành viên trong
cùng hệ thống sử dụng chung để ghi nhận giao dịch và
theo dõi tài sản
• Block (khối): là tập hợp của nhiều giao dịch mới phát
sinh được chấp nhận ghi nhận vào sổ cái
• Chain (chuỗi, sợi xích): các khối mới tạo sẽ được mã
hóa và tham chiếu tới các khối trước đó, tạo thành
chuỗi gắn kết với nhau
Sổ cái (Ledger) là gì?

• Sổ cái: là sổ kế toán tổng hợp


dùng để ghi chép các nghiệp vụ
kinh tế - tài chính phát sinh của
từng tài khoản kế toán trong mỗi
kỳ kế toán
• Cấu trúc Sổ cái gồm:
 Bên Nợ (Debit)
 Bên Có (Credit)
Các đặc tính của Blockchain

• Phi tập trung (Decentralized)


• Sổ cái phân tán (Distributed Ledger)
• Mã hóa bằng Chữ ký số (Digital
Signature) và Hàm băm (Hash) để bảo
toàn dữ liệu và không thể thay đổi
• Cơ chế đồng thuận (Consensus Based)
• Đào bitcoin (Mining) làm bằng chứng công
việc (Proof of Work): Bitcoin
• Hợp đồng thông minh (Smart Contracts):
Ethereum, các hệ thống ứng dụng
Blockchain (Contour, HyperLedger…)
Phi tập trung (Decentralized)

Tập trung (Centralized) Phi tập trung (Decentralized)


Quyền ra quyết định tập trung ở cấp Mọi thành viên, người dùng (nodes) trong
cao nhất của hệ thống hệ thống đều có quyền quyết định như nhau
CEO, Thống đốc NHTW… Mạng ngang hàng (Peer to Peer) Torrent
Sổ cái phân tán (Distributed Ledger)

Sổ cái tập trung (Centralized Ledger) Sổ cái phân tán (Distributed Ledger)
Cơ sở dữ liệu (database) tập trung • Không có database tập trung
• Dữ liệu được nhân bản và giống nhau tại mọi
thời điểm với tất cả thành viên trong hệ thống
Chức năng quản trị database (thêm, xóa, • Không có chức năng quản trị tập trung ở một
sửa đổi dữ liệu, phân quyền người dùng…) nhóm người dùng cụ thể
thuộc về một nhóm người dùng nhất định (IT) • Mọi người dùng đều có một bản sao của sổ cái
để truy cập mọi lúc, mọi nơi và tham gia vào
quá trình xác thực giao dịch
• Khối dữ liệu (block) mới sau khi được chấp
nhận thêm vào sổ cái thì không thể thay đổi
Phân loại Sổ cái phân tán (Private vs Public Distributed Ledgers)

Công khai (Public) Riêng tư (Private)


Không/khó xác định được danh tính Xác định được danh tính người dùng
người dùng (ẩn danh, vô danh) (hữu danh)
Mọi người dùng đều có một bản sao Chỉ người dùng được phân quyền mới
của sổ cái để truy cập và tham gia có bản sao của sổ cái để truy cập và
vào quá trình xác thực giao dịch một tham gia vào quá trình xác thực giao
cách độc lập dịch
Ethereum… Contour, Hyperledger…
Hàm Băm (Hash)

• Băm (Hash): là thuật toán giúp biến đổi một khối dữ


liệu đầu vào bất kỳ thành một dãy ký tự (số và chữ cái)
có độ dài cố định (giá trị băm)
• Bitcoin sử dụng hàm Băm SHA-256, luôn cho ra kết
quả là chuỗi 64 ký tự (256 bit)
“Giao dịch bitcoin” “giao dịch bitcoin”

SHA-256 SHA-256

eb34e3c58f7c9982e877e052290971e4bf53f392b315cc4b92a71bdc15f8846a 3adea4363cfc74f290f275ef47d76199fd71b3d80589b31f50b81e2b2b173ce9
Đặc tính của hàm Băm (Hash)

• Kết quả tất định: với cùng một dữ liệu đầu vào thì kết
quả đầu ra sẽ luôn giống hệt nhau
• Nhanh: với dữ liệu đầu vào bất kỳ thì thời gian tính
toán trả ra kết quả là tương đối nhanh
• Duy nhất: với dữ liệu đầu vào bất kỳ thì kết quả đầu ra
là duy nhất (không có 2 dữ liệu đầu vào cho ra kết quả
giống hệt nhau)
• Không thể đảo ngược: với kết quả đầu ra cho trước thì
không thể xác định được dữ liệu đầu vào
Chữ ký số (Digital Signature)

• Mã hóa bất đối xứng, sử dụng một cặp khóa công khai
(public key) và khóa cá nhân (private key) để mã hóa,
giải mã, ký số và xác thực dữ liệu, thông điệp điện tử
• Khóa cá nhân (bí mật): chỉ người ký mới có, được
dùng để mã hóa dữ liệu
• Khóa công khai: chia sẻ với mọi người, được dùng để
giải mã dữ liệu nhận được
• Thuật toán chữ ký số: RSA, ECDSA
Các bước ký số

1. Ký số lên dữ liệu/thông điệp điện tử bằng Khóa


cá nhân:
• Phần mềm ký số băm dữ liệu cho ra giá trị
băm
• Người gửi sử dụng khóa cá nhân để mã hóa
giá trị băm
• Chữ ký số bao gồm giá trị băm đã được mã
hóa và thông tin về chứng thư số, thuật toán
băm… được gắn vào dữ liệu gốc
→ Kết quả nhận được là dữ liệu đã được ký số
Các bước ký số

2. Xác thực dữ liệu/thông điệp nhận được bằng Khóa công khai:
• Phần mềm xác thực chữ ký số sử dụng khóa công khai để giải
mã giá trị băm
• Băm dữ liệu nhận được để tạo ra giá trị băm
• Đối chiếu giá trị băm sau khi giải mã với giá trị băm mới tạo ra:
 Nếu 2 giá trị băm trùng khớp chứng tỏ dữ liệu nhận được
chính là dữ liệu ban đầu sau khi ký số (toàn vẹn dữ liệu)
 Nếu 2 giá trị băm không trùng khớp chứng tỏ dữ liệu ban
đầu sau khi ký số đã bị thay đổi, hoặc cặp khóa cá nhân và
công khai không tương thích
Quy trình giao dịch Bitcoin
Cơ chế đồng thuận (Consensus)

• Một giao dịch trong Blockchain


chỉ được thực hiện khi và chỉ
khi tất cả các thành viên trong
hệ thống đều đồng thuận phê
duyệt
Đào Bitcoin (Mining)

• Đào bitcoin (Mining): là quá trình các thợ đào


(miners) gom lại các giao dịch bitcoin mới, biến
đổi và điều chỉnh chúng để trở thành dữ liệu đầu
vào của hàm băm SHA-256, nhằm mục đích thu
được giá trị băm thỏa mãn yêu cầu và được cả
mạng lưới chấp nhận
• Kết quả của việc đào là tạo ra một khối dữ liệu
(block) mới chứa các giao dịch bitcoin hợp lệ và
một phần tham chiếu tới khối liền trước để thêm
vào sổ cái. Mỗi block không quá 1 MB.
• Thợ đào nhận được phần thưởng là một số
bitcoin nhất định
Khối (Block)
Cấu phần chính của Khối (Block)

• Các giao dịch được gom lại và băm


theo cấu trúc cây Merkle để tạo ra giá
trị băm gọi là rễ Merkle (Merkle root)
• Tiêu đề khối (Block header): là đầu vào
cuối cùng của hàm băm để tìm ra giá
trị băm thỏa mãn yêu cầu
Rễ Merkle và giá trị băm của block liền
trước là một phần của tiêu đề khối
Cây Merkle (Merkle tree)

• Từng giao dịch riêng lẻ được băm để


ra giá trị băm cấp 1
• Gộp 2 giá trị băm cấp 1 thành đầu vào
để băm ra giá trị băm cấp 2
• Lặp lại cho đến khi nhận được giá trị
băm cuối cùng gọi là rễ Merkle
Tiêu đề khối (Block header)

Gồm 6 cấu phần:


• Phiên bản của quy tắc xác thực khối đang dùng
• Giá trị băm của tiêu đề khối liền trước
• Rễ Merkle của tất cả giao dịch trong khối
• Thời gian bắt đầu băm tiêu đề khối
• Mục tiêu: là giá trị do thuật toán tạo ra. Yêu cầu giá trị
băm của khối phải ≤ Mục tiêu
• Nonce: là con số mà thợ đào thêm vào để đạt được giá trị
băm thỏa mãn yêu cầu ≤ Mục tiêu
→ Giá trị băm của tiêu đề khối đạt yêu cầu có định dạng bắt
đầu bằng một loạt số 0
(0000000000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
Tác dụng của Mining

• Bảo vệ tính toàn vẹn và không thể thay đổi của dữ liệu nhờ
việc băm giao dịch theo cây Merkle
• Chống gian lận “Trả đúp (double spending)” trên cơ sở:
 Chi phí đầu tư, thời gian công sức đào là cao
 Cơ chế đồng thuận cho phép mọi thành viên đều có quyền
quyết định chấp nhận/từ chối bổ sung khối mới vào sổ cái
→ Thợ đào có ý thức kiểm soát gian lận để tránh việc công
sức, thời gian bỏ ra bị lãng phí khi khối mới, cụ thể là giá trị
băm tiêu đề khối được tạo ra nhưng không được các thành
viên khác trong hệ thống chấp nhận
Hợp đồng thông minh (Smart Contracts)

• Hợp đồng thông minh (Smart contract): là chương trình phần mềm nằm trong
blockchain, có khả năng tự động thực hiện một số dịch vụ cụ thể. Ví dụ:
 Số hóa nội dung L/C, bộ chứng từ để lưu trữ trong blockchain
 Tự động thanh toán cho nhà xuất khẩu khi L/C đến hạn
• Nhà tiên tri (Oracle): là phần mềm cung cấp thông tin theo thời gian thực từ
các hệ thống bên ngoài cho Hợp đồng thông minh trong blockchain
 Thông tin về lịch trình tàu chở hàng, chuyến bay (thời gian, tình trạng…)
 Thông tin về các chuyến bay (thời gian, tình trạng…)
 Thông tin về giá cổ phiếu
Nội dung

1. Giới thiệu về
Blockchain và Bitcoin
2. Ứng dụng của
Blockchain
Yêu cầu với Blockchain dùng trong kinh doanh

Mạng lưới có phân quyền Giao dịch được bảo mật Không dùng tiền mã hóa Lập trình được
• Sổ cái phân tán riêng tư• Mã hóa bằng hàm băm và • Không yêu cầu đào tiền • Tận dụng Hợp đồng
• Xác định danh tính người chữ ký số ảo và tính toán phức tạp thông minh để tự
dùng • Linh hoạt và an toàn trong để xác thực giao dịch động hóa quy trình
việc phân quyền truy cập tác nghiệp
• Cơ chế đồng thuận
và thực hiện, xác thực giao
dịch
Lợi ích của Blockchain

Tiết kiệm thời gian Giảm chi phí Giảm thiểu rủi ro Tăng cường lòng tin
• Rút ngắn thời gian giao • Giảm chi phí nhân sự và • Giao dịch được mã hóa • Tăng cường hợp tác
dịch từ vài ngày thành vài phí trung gian bằng hàm băm và chữ ký và lòng tin giữa các
tiếng số bên và với cơ quan
• Tăng năng suất lao động
• Không phải tra soát, đối do giảm xử lý thủ công với • Giao dịch không thể thay quản lý
soát do cùng dùng chung hồ sơ giấy tờ đổi • Tăng tính minh bạch
sổ cái và dữ liệu là đồng • Giảm thiểu sai lệch số liệu
nhất
Ứng dụng Blockchain trong Tài chính – Ngân hàng

1. Tài trợ thương mại:


• Phát hành, xử lý L/C: Contour
• Tài trợ chuỗi: Skuchain,
Infosys Finacle
• Tài trợ trước và sau giao
hàng: eTradeConnect
Ứng dụng Blockchain trong Tài chính – Ngân hàng

2. KYC: Clipeum, KYC-Chain

3. Bảo hiểm: Adept, Insurwave

4. Số hóa bộ chứng từ thương mại:


CamelOne, CargoDOCS
Thank you!

You might also like