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

Module 1: Kiến trúc Blockchain

TS. Nguyễn Trung Thành


Founder & CEO TrustKeys Network
Module 1: Kiến trúc của Blockchain

- Blockchain là gì?
- Blockchain hoạt động như thế nào?
- Blockchain có gì khác biệt với các công nghệ truyền thống?
- Blockchain có phải là một Silver Bullet?
- Tổng quan về đồng thuận trong Blockchain
- Các tài sản kỹ thuật số và Đa thành phần
- Tiếp cận kỹ thuật
Công nghệ blockchain: nguyên tắc,
sự phát triển và ứng dụng

Nguyễn Trung Thành., PhD


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
Interesting look
● coinmarketcap.com - last week. (bạn đoán xem năm nào? )
Today
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 phi tập trung một cách an toàn, công khai, được
công nhận.
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ố.
Sự phát triển của blockchain
Giao dịch trực tuyến
Blockchain giải quyết các vấn đề gì?
Giải pháp truyền thống
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
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.
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 ...
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)
Sổ cái phân tán thay cho sổ cái tập trung
So sánh blockchain với mô hình truyền thống

Traditional Way Blockchain Way


Chữ ký số,
Bản ghi của mã hóa giao dịch
Auditor
Kiểm toán & sổ cái

Bản ghi của Clearing Bản ghi của Party A Party B


bên A House bên B

Bản ghi của Tất cả các bên


Bank
ngân hàng đều có chung 1
bản sao của sổ
cái
… Inefficient, expensive, vulnerable … Consensus, provenance, immutability, finality
Hoạt động của blockchain
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.
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
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)
Nguyên tắc hoạt động của blockchain
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.
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ệ.
Proof of work
Các khía cạnh kỹ thuật
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ó.
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”
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.
Quá trình mining
Phần thưởng cho người đào mỏ
Ví bitcoin & cách tạo 1 giao dịch
Tổ chức thông tin các giao dịch trong 1 block
Quảng bá block/giao dịch
● Giao thức Flood
Blockchain 2.0 BC Software Stack
Consensus Layer (PBFT, PoW, PoS, POA, etc.)

Smart Contract Execution Engine Data Model Layer


(Virtual Machine, Docker, etc.) (LevelDB, RocksDB, etc.)

Source: Anh Dinh, et al., SIGMOD 2017


Trending technology
● Web3
● Layer2 : Polygon hermez, StarkNet …
● Side chain, para-chain
Tài liệu tham khảo
● https://www.ibm.com/blogs/blockchain/2017/05/the-difference-b
etween-public-and-private-blockchain/
● https://www.slideshare.net/JrmeKehrli/the-blockchain-the-techn
ology-behind-bitcoin
● Google
● https://trustkeys.network
Module 2: Hoạt động Blockchain

- Bitcoin

- Khái niệm

- Hoạt động & các kỹ thuật xử lý (Merkle tree )

- Luật đồng thuận : Proof Of Work

- Etherium

- Khái niệm

- Hoạt động & các kỹ thuật xử lý (Máy ảo, Bloom filter ...)

- Luật đồng thuận : Proof Of Work / Proof Of Stack


Module 3: Các loại Blockchain

- Ethereum Blockchain

- Multichain

- Stratis

- Ripple

- IOTA

- Openchain
Module 4: Các cơ chế Blockchain

- Blockchain công khai như Bitcoin và Ethereum

- Chuỗi khối riêng tư như Hyperledger và R3 Corda

- Blockchain hybrid (hỗn hợp) như Dragonchain


Module 5: Ứng dụng Blockchain

- Công nghệ ô tô Automotive (Automotive)


- Chế tạo (Manufacturing)
- Công nghệ, truyền thông và viễn thông (Tech, media & Telecommunications)
- Dịch vụ tài chính (Financial Services)
- Nghệ thuật & Giải trí (Art & Recreation)
- Chăm sóc sức khỏe (Healthcare)
- Bảo hiểm (Insurance)
- Bán lẻ (Retail)
- Khu vực công (Public Sector)
- Bất động sản (Property)
Module 6: Thiết kế khối Blockchain

- Chìa khoá Riêng, Chìa khoá Công cộng và Địa chỉ giao dịch, Merkle Trees and Blocks

- Ví xác định, kỹ thuật ghi nhớ và hợp đồng thông minh

- Thuật toán Blockchain và Mật mã

- Blockchain hoạt động như thế nào?


Module 7: Phát triển ứng dụng Blockchain

- Các trường hợp sử dụng chuỗi khối trong lĩnh vực tài chính

- Các trường hợp sử dụng chuỗi khối trong Lĩnh vực kinh doanh

- Các trường hợp sử dụng chuỗi khối trong Chính phủ & Khu vực công

- Các trường hợp sử dụng chuỗi khối trong các ngành khác
Module 8: Kiểm thử ứng dụng Blockchain

- Tải trọng

- Hiệu năng

- Tính nhất quán/Tính khả dụng

- Bảo mật

- Logic truy vấn kiểm thử CRUD

- Xử lý cơ sử dữ liệu

- Kiểm tra đánh giá

You might also like