Tải bản đầy đủ (.docx) (76 trang)

Đề tài tìm hiểu blockchain và xây dựng ứng dụng nft theo trào lưu move to earn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 76 trang )

 ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2 – SE122.N11

ĐỀ TÀI:
TÌM HIỂU BLOCKCHAIN VÀ XÂY DỰNG ỨNG
DỤNG NFT THEO TRÀO LƯU MOVE TO EARN

Giảng viên hướng dẫn:
Cô HUỲNH HỒ THỊ MỘNG TRINH
Sinh viên thực hiện:
NGUYỄN CAO CƯỜNG – MSSV: 19521298
ĐINH VIỆT HÀO – MSSV: 19521475

Thành phố Hồ Chí Minh, tháng 12 năm 2022


LỜI MỞ ĐẦU
Token không thể thay thế (NFT) là một tài sản ảo đại diện cho các vật phẩm
trong thế giới thực như nghệ thuật, âm nhạc, vật phẩm game, và video. NFT được mua
bán trực tuyến dưới hình thức thanh tốn bằng tiền mã hóa (cryptocurrency). NFT
thường được mã hóa bằng phần mềm cơ bản giống như các loại tiền mã hóa hay cịn
gọi là tiền điện tử.
Mặc dù chỉ mới xuất hiện hồi năm 2014, NFTs hiện đang được nhiều người
biết đến bởi chúng đang ngày một trở thành cách phổ biến để mua bán các tác phẩm
nghệ thuật số. Một khoản tiền khổng lồ 174 triệu USD đã được chi cho NFT từ tháng
11/2017.
Nhờ sự phát triển của NFT ngày này, hàng loạt các trào lưu liên quan đến NFT


đã ra đời. Có thể kể đến Play To Earn, Move To Earn . Nhằm mục đích tìm hiểu về
NFT cũng như trào lưu liên quan, nhóm em đã quyết định xây dựng ứng dụng Move
To earn trên nền tảng Ethereum.
Move To Earn (Di chuyển để kiếm tiền) là hình thức giúp người dùng có thể
kiếm tiền qua các chuyển động hàng ngày như chạy bộ hoặc đi bộ bằng công nghệ
cảm biến, đo lường chuyển động của người dùng và sự kết hợp của các thiết bị điện tử
như: Smart Phone, Smart Watch hay GPS… Các thiết bị sẽ thu thập dữ liệu qua các
hoạt động của của thể từ đó quy ra số liệu đánh giá và sẽ được quy đổi thành các đồng
coin trong các ứng dụng. Trong đó NFT sẽ được ứng dụng thành những đôi giày, và
người dùng sẽ dùng những đôi giày này để kiếm thêm thu nhập cũng như cải thiện sức
khoẻ của bản thân.

~1~


LỜI CẢM ƠN
Đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường
Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô khoa
Công nghệ phần mềm đã giúp cho nhóm em có những kiến thức cơ bản làm nền tảng
để thực hiện đề tài này.
Đặc biệt, nhóm em xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới cô
Huỳnh Hồ Thị Mộng Trinh. Cô đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp
nhiều ý kiến q báu giúp nhóm em hồn thành tốt báo cáo mơn học của mình. Trong
thời gian một học kỳ thực hiện đề tài, nhóm em đã vận dụng những kiến thức nền tảng
tích lũy được đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới.
Từ đó, nhóm em đã vận dụng tối đa những gì thu thập được để hồn thành một báo
cáo đồ án tốt nhất. Tuy nhiên, trong quá trình thực hiện, nhóm em khơng tránh khỏi
những thiếu sót. Chính vì vậy, nhóm em rất mong nhận được những sự góp ý từ phía
Cơ nhằm hồn thiện những kiến thức mà nhóm em đã học tập và là hành trang kiến
thức giúp nhóm em phát triển trong tương lai.

Sau cùng, nhóm xin kính chúc Cơ thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện
sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.
Xin chân thành cảm ơn các quý Thầy Cô!

~2~


MỤC LỤC
LỜI MỞ ĐẦU................................................................................................................1
LỜI CẢM ƠN.................................................................................................................2
Chương 1: TỔNG QUAN..............................................................................................9
1.1.

Tên đề tài...........................................................................................................9

1.2.

Giới thiệu đề tài.................................................................................................9

1.3.

Khảo sát hiện trạng...........................................................................................9

1.3.1

StepN........................................................................................................10

1.3.2

Calo..........................................................................................................11


1.3.3

Genopets...................................................................................................13

1.4.

Mục tiêu hướng đến........................................................................................14

Chương 2: CƠ SỞ LÝ THUYẾT.................................................................................16
2.1

Blockchain......................................................................................................16

2.1.1

Giới thiệu..................................................................................................16

2.1.2. Các đặc điểm nổi bật....................................................................................17
2.1.3. Cách thức hoạt động....................................................................................17
2.1.4. Ứng dụng thực tiễn......................................................................................20
2.2

Smart contract.................................................................................................21

2.2.1. Giới thiệu.....................................................................................................21
2.2.2. Đặc điểm......................................................................................................22
2.2.3. Cách thức hoạt động....................................................................................22
2.3


Ethereum.........................................................................................................23

2.3.1. Giới thiệu.....................................................................................................23
2.3.2. Các thành phần trong Ethereum...................................................................24
2.4

Token ERC-20................................................................................................26

2.4.1

Giới thiệu về ERC-20...............................................................................26

2.4.1

Ưu điểm....................................................................................................26

2.4.3

Nhược điểm..............................................................................................27

2.5

NFT – Non-fungible Token............................................................................28

2.5.1

Giới thiệu về NFT....................................................................................28

2.5.2


Đặc điểm của NFT...................................................................................28

2.5.3

Ứng dụng của NFT...................................................................................29

2.6

Nextjs..............................................................................................................30

~3~


2.7

React Native....................................................................................................30

2.8

Solidity............................................................................................................30

Chương 3: MƠ HÌNH USE-CASE...............................................................................32
3.1

Sơ đồ Use-case................................................................................................32

3.2

Danh sách các actor.........................................................................................32


3.3

Danh sách các Use-case..................................................................................32

3.4

Đặc tả Use-case...............................................................................................33

3.4.1

Đặc tả Use-case “Đăng nhập”..................................................................33

3.4.2

Đặc tả Use-case “Đăng ký”......................................................................34

3.4.3

Đặc tả Use-case “Kết nối ví”....................................................................34

3.4.4

Đặc tả Use-case “Quản lý tài khoản”.......................................................35

3.4.5

Đặc tả Use-case “Tìm kiếm, bộ lọc NFT”................................................36

3.4.6


Đặc tả Use-case “Mua bán, giao dịch NFT”............................................36

3.4.7

Đặc tả Use-case “Xem NFT”...................................................................37

3.4.8

Đặc tả Use-case “Xem bộ sưu tập NFT”..................................................37

3.4.9

Đặc tả Use-case “Hoạt động chạy kiếm tiền”..........................................38

3.4.10 Đặc tả Use-case “Trả thưởng khi chạy”...................................................38
Chương 4: THIẾT KẾ DỮ LIỆU.................................................................................40
4.1

Hệ thống Smart Contract.................................................................................40

4.1.1

Struct “Sales” thuộc RunnMarketplace....................................................40

4.1.2

Struct “TokenInfo” thuộc RunnSneaker721............................................40

4.2


Bảng dữ liệu MongoDB..................................................................................41

4.2.1

Schema “Sales”........................................................................................41

4.2.2

Schema “TokenInfo”................................................................................41

4.2.3

Schema “User”.........................................................................................42

Chương 5: THIẾT KẾ KIẾN TRÚC............................................................................43
5.1

Kiến trúc hệ thống...........................................................................................43

5.2

Kiến trúc Smart contract.................................................................................44

5.3

Công nghệ sử dụng..........................................................................................46

Chương 6: THIẾT KẾ GIAO DIỆN.............................................................................48
6.1


Sơ đồ liên kết màn hình..................................................................................48

6.2

Danh sách các màn hình..................................................................................48

6.3

Mơ tả chi tiết các màn hình.............................................................................50

~4~


6.3.1

Màn hình “Đăng nhập ở web”..................................................................50

6.3.2 Màn hình “Kho hàng”...................................................................................51
6.3.3 Màn hình “Chi tiết NFT kho hàng”..............................................................52
6.3.4 Màn hình “Chấp thuận”................................................................................52
6.3.5 Màn hình “Nhập giá”....................................................................................53
6.3.6 Màn hình “Chợ (tất cả)”...............................................................................54
6.3.7 Màn hình “Chợ (của tơi)”.............................................................................55
6.3.8 Màn hình “Chi tiết NFT chợ”.......................................................................56
6.3.9 Màn hình “Đăng nhập phía mobile”.............................................................57
6.3.10 Màn hình “Đăng ký tài khoản”...................................................................58
6.3.11 Màn hình “Trang chủ”................................................................................59
6.3.12 Màn hình “Giày của tơi”.............................................................................61
6.3.13 Màn hình “Chi tiết giày”.............................................................................62
6.3.14 Màn hình “Hồ sơ cá nhân”..........................................................................63

6.3.15. Màn hình “Chỉnh sửa hồ sơ”......................................................................64
6.3.16. Màn hình “Thơng tin về ứng dụng”...........................................................65
6.3.17. Màn hình “Ví của tơi”................................................................................66
6.3.18. Màn hình “Running”..................................................................................67
6.3.19.

Màn hình “Running với bản đồ”...........................................................68

6.3.20.

Màn hình “Trang chủ trống”.................................................................69

6.3.21.

Màn hình “Giày của tơi trống”..............................................................70

Chương 7: KẾT LUẬN................................................................................................72
7.1. Kết quả đạt được................................................................................................72
7.2

Đánh giá..........................................................................................................72

7.2.1

Thuận lợi..................................................................................................72

7.2.2

Khó khăn..................................................................................................72


7.2.3

Hướng phát triển.......................................................................................73

TÀI LIỆU THAM KHẢO............................................................................................74

~5~


DANH MỤC HÌNH ẢNH
Hình 1: Giao diện ứng dụng StepN..............................................................................11
Hình 2: Giao diện ứng dụng CaloRun..........................................................................12
Hình 3: Giao diện ứng dụng Genopets.........................................................................14
Hình 4: Sơ đồ Use-case tổng quát................................................................................32
Hình 5: Kiến trúc hệ thống...........................................................................................43
Hình 6: Sơ đồ liên kết màn hình phía Web..................................................................48
Hình 7: Sơ đồ liên kết màn hính phía Mobile..............................................................48
Hình 8: Màn hình đăng nhập ở Web............................................................................50
Hình 9: Màn hình kho hàng..........................................................................................51
Hình 10: Màn hình chi tiết NFT kho hàng...................................................................52
Hình 11: Màn hình chấp thuận.....................................................................................53
Hình 12: Màn hình nhập giá.........................................................................................53
Hình 13: Màn hình chợ lớn...........................................................................................54
Hình 14: Màn hình chợ của tơi.....................................................................................55
Hình 15: Màn hình chi tiết NFT chợ............................................................................56
Hình 16: Màn hình đăng nhập phía mobile..................................................................57
Hình 17: Màn hình đăng ký tài khoản..........................................................................58
Hình 18: Màn hình trang chủ........................................................................................59
Hình 19: Màn hình giày của tơi....................................................................................61
Hình 20: Màn hình chi tiết giày....................................................................................62

Hình 21: Màn hình hồ sơ cá nhân.................................................................................63
Hình 22: Màn hình chỉnh sửa hồ sơ..............................................................................64
Hình 23: Màn hình thơng tin về ứng dụng...................................................................65
Hình 24: Màn hình ví của tơi........................................................................................66
Hình 25: Màn hình Running.........................................................................................67
Hình 26: Màn hình Running với bản đồ.......................................................................68
Hình 27: Màn hình trang chủ trống..............................................................................69
Hình 28: Màn hình giỏ giày trống...............................................................................70

DANH MỤC BẢNG BIỂU
~6~


Bảng 1: Danh sách các Actor.......................................................................................32
Bảng 2: Danh sách các Use-case..................................................................................33
Bảng 3: Đặc tả Use-case đăng nhập.............................................................................34
Bảng 4: Đặc tả Use-case đăng ký.................................................................................34
Bảng 5: Đặc tả Use-case kết nối ví...............................................................................35
Bảng 6: Đặc tả Use-case quản lý tài khoản..................................................................36
Bảng 7: Đặc tả Use-case tìm kiếm, bộ lọc NFT...........................................................36
Bảng 8: Đặc tả Use-case mua bán, giao dịch NFT.......................................................37
Bảng 9: Đặc tả Use-case xem NFT..............................................................................37
Bảng 10: Đặc tả Use-case xem bộ sưu tập NFT...........................................................38
Bảng 11: Đặc tả Use-case hoạt động chạy kiếm tiền...................................................38
Bảng 12: Đặc tả Use-case trả thưởng khi chạy.............................................................39
Bảng 13: Hệ thống Smart Contract...............................................................................40
Bảng 14: Struct Sale thuộc RunnMarketplace..............................................................40
Bảng 15: Bảng dữ liệu Sales.........................................................................................41
Bảng 16: Bảng dữ liệu TokenInfo................................................................................42
Bảng 17: Bảng dữ liệu người dùng...............................................................................42

Bảng 18: Kiến trúc hệ thống.........................................................................................44
Bảng 19: Bảng công nghệ sử dụng...............................................................................47
Bảng 20: Danh sách các màn hình................................................................................50
Bảng 21: Mơ tả màn hình đăng nhập ở Web................................................................51
Bảng 22: Mơ tả màn hình kho hàng.............................................................................51
Bảng 23: Mơ tả chi tết NFT kho hàng..........................................................................52
Bảng 24: Mơ tả màn hình chấp thuận...........................................................................53
Bảng 25: Mơ tả màn hình nhập giá...............................................................................54
Bảng 26: Mơ tả màn hình chợ lớn................................................................................54
Bảng 27: Mơ tả màn hình chợ của tơi...........................................................................55
Bảng 28: Mơ tả màn hình chi tiết NFT chợ..................................................................56
Bảng 29: Mơ tả màn hình đăng nhập phía Mobile.......................................................58
Bảng 30: Mơ tả màn hình đăng ký tài khoản................................................................59
Bảng 31: Mơ tả màn hình trang chủ.............................................................................60

~7~


Bảng 32: Mơ tả màn hình giày của tơi..........................................................................62
Bảng 33: Mơ tả màn hình chi tiết giày.........................................................................63
Bảng 34: Mơ tả màn hình hồ sơ cá nhân......................................................................64
Bảng 35: Mơ tả màn hình chỉnh sửa hồ sơ...................................................................65
Bảng 36: Mơ tả màn hình thơng tin về ứng dụng.........................................................66
Bảng 37: Mơ tả màn hình ví của tơi.............................................................................67
Bảng 38: Mơ tả màn hình Running..............................................................................68
Bảng 39: Mơ tả màn hình chạy với bản đồ...................................................................69
Bảng 40: Mơ tả màn hình trang chủ trống....................................................................70
Bảng 41: Mơ tả màn hình giỏ giày trống......................................................................71

~8~



Chương 1: TỔNG QUAN
1.1.

Tên đề tài
“ Tìm hiểu blockchain và xây dựng ứng dụng NFT theo trào lưu Move to earn”

1.2.

Giới thiệu đề tài

Move To Earn (Di chuyển để kiếm tiền) là hình thức giúp người dùng có thể
kiếm tiền qua các chuyển động hàng ngày như chạy bộ hoặc đi bộ bằng công nghệ
cảm biến, đo lường chuyển động của người dùng và sự kết hợp của các thiết bị điện tử
như: Smart Phone, Smart Watch hay GPS… Các thiết bị sẽ thu thập dữ liệu qua các
hoạt động của của thể từ đó quy ra số liệu đánh giá và sẽ được quy đổi thành các đồng
coin trong các ứng dụng. Trong đó NFT sẽ được ứng dụng thành những đôi giày, và
người dùng sẽ dùng những đôi giày này để kiếm thêm thu nhập cũng như cải thiện sức
khoẻ của bản thân.
RunN là một nền tảng Web3 đa sản phẩm bao gồm: Move-to-Earn, NFT
Marketplace. Đây là một nền tảng giúp bạn có thể vừa chạy bộ mà vừa có thể kiếm
được tiền.
Mục tiêu của RunN hướng tới là xây dựng một nền tảng có nhiều người dùng
và thúc đẩy mọi người hướng tới lối sống khoa học, lành mạnh hơn, cải thiện sức khoẻ
và kết nối cộng đồng.
Đây là một dự án Move-to-Earn nên để bắt đầu có thể tham gia thì bạn cần sỡ
hữu cho mình một đôi giày NFT. Sau khi đã sở hữu NFT thì bạn cần phải tải ứng dụng
của chính nền tảng này và kết nối ví đã mua NFT của mình vào để có thể bắt đầu tham
gia.

Các sản phẩm trong RunN sẽ sử dụng mã thông báo trả thưởng RMT. Điều này
sẽ giúp tăng tiện ích của mã thơng báo, do đó tăng giá trị của chúng trong q trình
này. Mã thông báo RMT được trả thưởng cho người dùng dựa vào hoạt động chạy
hàng ngày của khách hàng. Việc mua bán sử dụng RMT sẽ được cập nhật them trong
những tính năng mới sau này.
Mặc dù chỉ mới xuất hiện hồi năm 2014, NFTs hiện đang được nhiều người
biết đến bởi chúng đang ngày một trở thành cách phổ biến để mua bán các tác phẩm
nghệ thuật số. Một khoản tiền khổng lồ 174 triệu USD đã đượ11c chi cho NFT từ
tháng 11/2017. Và đó cũng chính là lí do nhóm tụi em tiến hành tìm hiểu về
Blockchain cũng như xây dựng ứng dung NFT – Move To Earn.
1.3.
-

Khảo sát hiện trạng
Các ứng dụng NFT theo trào lưu Move to earn phổ biến hiện nay:

~9~


1.3.1

StepN

 Giới thiệu:
STEPN là một ứng dụng Web3 kết hợp giữa các yếu tố GameFi và SocialFi
cho phép người dùng Move & Earn (di chuyển và kiếm tiền).
Người dùng cần trang bị cho mình NFT Sneaker. Bằng cách đi bộ, chạy bộ
hoặc chạy ngoài trời, người dùng sẽ kiếm được token trong game.
 Giao diện:


~ 10 ~


Hình 1: Giao diện ứng dụng StepN

 Ưu điểm:
-

Giao diện bắt mắt, màu sắc hài hòa.

-

Hiển thị đầy đủ các thơng tin cần thiết về mỗi đơi giày.

-

Nhiều tính năng để người dụng lựa chọn.

-

Hướng tới lối sống lành mạnh hơn, kết nối người dung với Web3 và bảo vệ
mội trường.

 Nhược điểm:
-

Lạm phát xảy ra thường xuyên, chưa có cơ chế burn Token đúng cách.

-


Tình trạng gian lận vẫn hay xảy ra.

-

Trải nghiệm người dùng những lần giao dịch còn chưa được tối ưu.

1.3.2

Calo

 Giới thiệu:
Calo Metaverse là một nền tảng sức khỏe – lối sống với các yếu tố Gamefi và
Socialfi để giúp mọi người di chuyển nhiều hơn và vận động. Dựa trên blockchain,
bạn có thể trang bị cho mình một NFT và bắt đầu trị chơi bằng cách di chuyển.

~ 11 ~


Bằng các hoạt động hàng ngày đó, bạn có thể kiếm được nhiều token hơn để sử
dụng trong các trò chơi hoặc thậm chí rút tiền một cách dễ dàng.
Hệ thống blockchain Calo Metaverse cung cấp cho bạn cơ hội tập luyện hàng
ngày ở chế độ thử thách đơn lẻ hoặc thế giới. Ngồi ra, nó cũng ghi lại kết quả
luyện tập của bạn và chuyển động tác di chuyển của bạn thành những phần thưởng
có giá trị.
Bạn có thể giữ mã thông báo và NFT kiếm được để sử dụng trong ứng dụng
hoặc rút tiền mặt để kiếm lợi nhuận. Bạn càng thực hành nhiều, bạn càng nhận
được nhiều phần thưởng; đó là động lực thúc đẩy chúng ta tiến lên phía trước để
vận động cơ thể để có được cả sức khỏe có lợi và thu nhập thụ động.
 Giao diện:


Hình 2: Giao diện ứng dụng CaloRun

 Ưu điểm:
-

Giao diện bắt mắt, màu sắc hài hòa.

-

Hiển thị đầy đủ các thông tin cần thiết về mỗi đôi giày.

-

Hướng tới lối sống lành mạnh hơn, kết nối người dung với Web3 và bảo vệ
mội trường.

 Nhược điểm:
-

Lạm phát xảy ra thường xuyên, chưa có cơ chế burn Token đúng cách.

~ 12 ~


-

Tình trạng gian lận vẫn hay xảy ra.

-


Cịn ít tính năng mới lạ cho người dùng.

-

Trải nghiệm người dùng những lần giao dịch còn chưa được tối ưu.

1.3.3

Genopets

 Giới thiệu:
Genopets là một game NFT phát triển theo hình thức Play-to-Earn trên hệ sinh
thái Solana, cho phép người dùng tham gia nuôi dưỡng và phát triển Genopet - linh
vật mà người dùng sở hữu.
Genopets là sự kết hợp của 3 hình thức game như sau: ni dưỡng và tiến hóa
Tamagochi, trải nghiệm các kỳ huấn luyện và chiến đấu với Pokemon, thu thập và
tham gia Animal Crossing. Người chơi cần triệu hồi Genopets và tham gia vào các
Neon Genoverse, sau đó thực hiện các nhiệm vụ và nhận phần thưởng.
Một số nhiệm vụ như khai phá vũ trụ, giải mã các vương quốc ma thuật, và
chiến đấu với người dùng trên khắp thế giới.
 Giao diện:

~ 13 ~


Hình 3: Giao diện ứng dụng Genopets

 Ưu điểm:
-


Giao diện bắt mắt, màu sắc hài hòa.

-

Hướng tới lối sống lành mạnh hơn, kết nối người dung với Web3 và bảo vệ
mội trường.

 Nhược điểm:
-

Lạm phát xảy ra thường xuyên, chưa có cơ chế burn Token đúng cách.

-

Tình trạng gian lận vẫn hay xảy ra.

-

Cịn ít tính năng mới lạ cho người dùng.

-

Trải nghiệm người dùng những lần giao dịch còn chưa được tối ưu.

1.4.

Mục tiêu hướng đến
Mục tiêu của RunN là giúp người dùng vừa rèn luyện sức khỏe, vừa kiếm được

tiền. Để thực hiện được mục tiêu đó, dự án kết hợp công nghệ blockchain và NFT để

cung cấp cho người dùng một ứng dụng Move-to-earn và những đôi giày thể thao

~ 14 ~


NFT. Giúp người dùng có nhiều sự lựa chọn đa dạng về mẫu giày, từ đó tăng sự hứng
thú, tích cực trong việc chạy bộ.

~ 15 ~


Chương 2: CƠ SỞ LÝ THUYẾT
2.1

Blockchain
2.1.1

Giới thiệu

Blockchain là công nghệ chuỗi – khối, cho phép truyền tải dữ liệu một
cách an tồn dựa trên hệ thống mã hóa vơ cùng phức tạp, tương tự như cuốn sổ
cái kế toán của một công ty, nơi mà tiền được giám sát chặt chẽ và ghi nhận
mọi giao dịch trên mạng ngang hàng.
Mỗi khối (block) đều chứa thông tin về thời gian khởi tạo và được liên
kết với khối trước đó, kèm theo đó là một mã thời gian và dữ liệu giao dịch. Dữ
liệu khi đã được mạng lưới chấp nhận thì sẽ khơng có cách nào thay đổi được.
Blockchain được thiết kế để chống lại việc gian lận, thay đổi của dữ liệu.
Công nghệ Blockchain – sự kết hợp giữa 3 loại cơng nghệ:
 Mật mã học: để đảm bảo tính minh bạch, tồn vẹn và riêng tư thì cơng
nghệ Blockchain đã sử dụng public key và hàm hash function.

 Mạng ngang hàng: Mỗi một nút trong mạng được xem như một client và
cũng là server để lưu trữ bản sao ứng dụng.
 Lý thuyết trò chơi: Tất cả các nút tham gia vào hệ thống đều phải tuân thủ
luật chơi đồng thuận (giao thức PoW, PoS,…) và được thúc đẩy bởi động
lực kinh tế.
Hệ thống Blockchain chia thành 3 loại chính:
 Public: Bất kỳ ai cũng có quyền đọc và ghi dữ liệu trên Blockchain. Quá
trình xác thực giao dịch trên Blockchain này địi hỏi phải có rất nhiều nút
tham gia. Vì vậy, muốn tấn cơng được vào hệ thống Blockchain này cần chi
phí rất lớn và thực sự khơng khả thi. Ví dụ: Bitcoin, Ethereum,…
 Private: Người dùng chỉ được quyền đọc dữ liệu, khơng có quyền ghi vì
điều này thuộc về bên tổ chức thứ ba tuyệt đối tin cậy. Vì đây là một Private
Blockchain, cho nên thời gian xác nhận giao dịch khá nhanh vì chỉ cần một
lượng nhỏ thiết bị tham gia xác thực giao dịch. Ví dụ: Ripple là một dạng

~ 16 ~


Private Blockchain, hệ thống này cho phép 20% các nút là gian dối và chỉ
cần 80% còn lại hoạt động ổn định là được.
 Permissioned (hay còn gọi là Consortium): một dạng của Private nhưng
bổ sung thêm 1 số tính năng khác, đây là sự kết hợp giữa Public và Private.
Ví dụ: Các ngân hàng hay tổ chức tài chính liên doanh sẽ sử dụng
Blockchain cho riêng mình.
2.1.2

Các đặc điểm nổi bật

 Không thể làm giả, không thể phá hủy các chuỗi Blockchain: theo như
lý thuyết thì chỉ có máy tính lượng tử mới có thể giải mã Blockchain và

cơng nghệ Blockchain biến mất khi khơng cịn Internet trên tồn cầu.
 Bất biến: dữ liệu trong Blockchain không thể sửa (có thể sửa nhưng sẽ để
lại dấu vết) và sẽ lưu trữ mãi mãi.
 Bảo mật: Các thông tin, dữ liệu trong Blockchain được phân tán và an toàn
tuyệt đối.
 Minh bạch: Ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới
địa chỉ khác và có thể thống kê tồn bộ lịch sử trên địa chỉ đó.
 Hợp đồng thơng minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code
if-this-then-that (IFTTT), cho phép chúng tự thực thi mà không cần bên thứ
ba.
2.1.3

Cách thức hoạt động

Ứng dụng được biết đến và thảo luận nhiều nhất về cơng nghệ
Blockchain chính là đồng tiền điện tử. Bitcoin là một đơn vị tiền tệ kỹ thuật số
với mã là BTC, cũng giống như đô la Mỹ bản thân nó khơng mang giá trị, nó
chỉ có giá trị bởi vì có một cộng đồng đồng ý sử dụng nó làm đơn vị giao dịch
hàng hóa và dịch vụ.
Để theo dõi số lượng Bitcoin mà mỗi người sở hữu trong các tài khoản
nhất định và theo dõi các giao dịch phát sinh từ đó thì chúng ta cần đến một
cuốn sổ kế tốn, trong trường hợp này nó chính là Blockchain và đây thực tế là
một tệp kỹ thuật số theo dõi tất cả các giao dịch Bitcoin.

~ 17 ~


Tệp sổ cái này không được lưu trữ trong một máy chủ trung tâm, như
trong một ngân hàng hoặc trong một trung tâm dữ liệu mà ngược lại nó được
phân phối trên tồn thế giới thơng qua một mạng lưới các máy tính ngang hàng

với vai trị lưu trữ dữ liệu và thực thi các tính tốn. Mỗi máy tính này đại diện
cho một “nút” của mạng lưới Blockchain và mỗi nút đều có một bản sao của
tệp sổ cái này.
Ngun lý mã hóa:
Trên thực tế, cuốn sổ cái ln được duy trì bởi các máy tính trong mạng
ngang hàng được kết nối với nhau. Vì thế, nó sẽ có một số điểm khác biệt:
 Trong hệ thống ngân hàng, chúng ta chỉ biết các giao dịch và số dư tài
khoản của riêng mình thì trên Blockchain của bitcoin bạn có thể xem các
giao dịch của tất cả mọi người.
 Mạng lưới Bitcoin là mạng lưới phân tán không cần bên thứ ba đóng vai
trị trung gian xử lý giao dịch.
 Hệ thống Blockchain được thiết kế theo cách không yêu cầu sự tin cậy
và bảo đảm bởi độ tin cậy có được thơng qua các hàm mã hóa tốn học
đặc biệt.
Để có thể thực hiện các giao dịch trên Blockchain, bạn cần một phần
mềm sẽ cho phép bạn lưu trữ và trao đổi các đồng Bitcoin của bạn gọi là ví tiền
điện tử. Ví tiền điện tử này sẽ được bảo vệ bằng một phương pháp mã hóa đặc
biệt đó là sử dụng một cặp khóa bảo mật duy nhất: khóa riêng tư (private key)
và khóa cơng khai (public key).
Nếu một thơng điệp được mã hóa bằng một khóa cơng khai cụ thể thì
chỉ chủ sở hữu của khóa riêng tư là một cặp với khóa cơng khai này mới có thể
giải mã và đọc nội dung thơng điệp.
Khi mã hóa một yêu cầu giao dịch bằng khóa riêng tư, có nghĩa là bạn
đang tạo ra một chữ ký điện tử được các máy tính trong mạng lưới Blockchain
sử dụng để kiểm tra chủ thể gửi và tính xác thực của giao dịch. Chữ ký này là

~ 18 ~


một chuỗi văn bản và là sự kết hợp của yêu cầu giao dịch và khóa riêng tư của

bạn.
Nếu một ký tự đơn trong thông điệp yêu cầu giao dịch này bị thay đổi
thì chữ ký điện tử sẽ thay đổi theo. Vì thế, hacker khó có thể thay đổi yêu cầu
giao dịch của bạn hoặc thay đổi số lượng Bitcoin mà bạn đang gửi.
Để gửi Bitcoin (BTC), bạn cần chứng minh rằng bạn sở hữu khóa riêng
tư của một chiếc ví điện tử cụ thể bởi bạn cần sử dụng nó để mã hóa thơng điệp
u cầu giao dịch. Sau khi tin nhắn của bạn đã được gửi đi và được mã hóa thì
bạn khơng cần phải tiết lộ khóa riêng tư của bạn nữa.
Quy tắc của sổ cái
Mỗi nút trong Blockchain đều đang lưu giữ một bản sao của sổ kế toán.
Do vậy, mỗi nút đều biết số dư tài khoản của bạn là bao nhiêu. Hệ thống
Blockchain chỉ ghi lại mỗi giao dịch được yêu cầu chứ không hề theo dõi số dư
tài khoản của bạn.
Để biết số dư trên ví điện tử của mình thì bạn cần xác thực và xác nhận
tất cả các giao dịch đã diễn ra trên mạng lưới mà có liên quan tới ví điện tử của
bạn.
Việc xác minh “số dư” này được thực hiện nhờ các tính tốn dựa vào
liên kết đến các giao dịch trước đó.
Nguyên lý tạo khối
Các giao dịch sau khi được gửi lên trên mạng lưới Blockchain sẽ được
nhóm vào các khối và các giao dịch trong cùng 1 khối (block) được coi là đã
xảy ra cùng thời điểm. Các giao dịch chưa được thực hiện trong 1 khối được
coi là chưa được xác nhận.
Mỗi nút có thể nhóm các giao dịch với nhau thành một khối và gửi nó
vào mạng lưới như một hàm ý cho các khối tiếp theo được gắn vào sau đó. Bất
kỳ nút nào cũng có thể tạo ra một khối mới. Vậy, câu hỏi đặt ra là: hệ thống sẽ
đồng thuận với khối nào? khối nào sẽ là khối tiếp theo?

~ 19 ~




×