Tải bản đầy đủ (.pdf) (108 trang)

Tìm hiểu blockchain và xây dựng ứng dụng tiền gửi ngân hàng

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 (2.59 MB, 108 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

Phan Đình Minh Hiếu 16520412
Hà Kiệt Hùng 16520470

KHĨA LUẬN TỐT NGHIỆP

TÌM HIỂU BLOCKCHAIN VÀ XÂY DỰNG ỨNG
DỤNG TIỀN GỬI NGÂN HÀNG.
LEARN BLOCKCHAIN AND BUILD A BANK DEPOSIT
APPLICATION.

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM

TP. HỒ CHÍ MINH, NĂM 2021


ĐẠ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

Phan Đình Minh Hiếu 16520412
Hà Kiệt Hùng 16520470

KHĨA LUẬN TỐT NGHIỆP

TÌM HIỂU BLOCKCHAIN VÀ XÂY DỰNG ỨNG


DỤNG TIỀN GỬI NGÂN HÀNG.
LEARN BLOCKCHAIN AND BUILD A BANK DEPOSIT
APPLICATION.

KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
ThS. TRẦN ANH DŨNG
TP. HỒ CHÍ MINH, NĂM 2021


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
…………………… ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1. Chủ tịch.
2. Thư ký.
3. Ủy viên.
4. Ủy viên.


ĐHQG TP.HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc lập –Tự do –Hạnh phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày……tháng…..năm……

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
TÌM HIỂU BLOCKCHAIN VÀ XÂY DỰNG ỨNG DỤNG TIỀN GỬI NGÂN
HÀNG.
Nhóm SV thực hiện:

Cán bộ phản biện:

Phan Đình Minh Hiếu

16520412

Hà Kiệt Hùng

16520470

Đánh giá Khóa luận
1. Về cuốn báo cáo:
Số trang

107

Số chương

05

Số bảng số liệu

13


Số hình vẽ

35

Số tài liệu tham khảo

12

Sản phẩm

01

Một số nhận xét về hình thức cuốn báo cáo:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................


2. Về nội dung nghiên cứu:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................

..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
3. Về chương trình ứng dụng:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................


4. Về thái độ làm việc của sinh viên:
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Đánh giá chung:
..................................................................................................................................
..................................................................................................................................

..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................


Điểm từng sinh viên:
Phan Đình Minh Hiếu: …./10
Hà Kiệt Hùng: …./10
Người nhận xét
(Ký tên và ghi rõ họ tên)



MỤC LỤC

Chương 1. TỔNG QUAN ĐỀ TÀI. .................................................................... 17
1.1.

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

1.2.

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

1.3.

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

1.4.

Một số vấn đề còn tồn tại.......................................................................... 19

1.5.

Mục tiêu đề tài.......................................................................................... 19

Chương 2. KIẾN THỨC NỀN TẢNG. ............................................................... 23
2.1.

Blockchain. .............................................................................................. 23

2.1.1.


Giới thiệu. ............................................................................................. 23

2.1.2.

Ứng dụng Blockchain. .......................................................................... 26

2.1.3.

Áp dụng vào đề tài. ............................................................................... 28

2.2.

Phương thức đồng thuận POA. ................................................................. 28

2.2.1.

Giới thiệu. ............................................................................................. 28

2.2.2.

Ưu điểm của phương thức đồng thuận POA. ......................................... 28

2.3.

Smart Contract. ........................................................................................ 29

2.3.1.

Giới thiệu. ............................................................................................. 29


2.3.2.

Cơ chế hoạt động của Smart Contract.................................................... 30

2.3.3.

Tính chất. .............................................................................................. 31

2.3.4.

Ứng dụng vào đề tài. ............................................................................. 31

2.4

Nền tảng Ethereum. .................................................................................. 32

2.4.1

Giới thiệu. ............................................................................................. 32

2.4.2

Các thành phần trong Ethereum. ........................................................... 33

2.4.3

Áp dụng vào đề tài. ............................................................................... 37

2.5


NodeJS. .................................................................................................... 37

2.5.1

Giới thiệu. ............................................................................................. 37

2.5.2

Ứng dụng vào đề tài. ............................................................................. 39

2.6
2.6.1

Laravel Framework. ................................................................................. 39
Giới thiệu. ............................................................................................. 39


2.6.2.

Ưu điểm của Laravel. ............................................................................ 40

2.6.3.

Ứng dụng vào đề tài. ............................................................................. 41

2.7

ReactJS. ................................................................................................... 41


2.7.1

Giới thiệu. ............................................................................................. 41

2.7.2

Các ưu điểm của ReactJS. ..................................................................... 41

2.7.3

Ứng dụng vào đề tài. ............................................................................. 42

2.8

Flutter....................................................................................................... 42

2.8.1

Giới thiệu. ............................................................................................. 42

2.8.2

Ưu điểm của Flutter. ............................................................................. 42

2.8.3

Ứng dụng vào đề tài. ............................................................................. 42

2.9


MySQL. ................................................................................................... 43

2.9.1

Giới thiệu. ............................................................................................. 43

2.9.2

Ưu điểm của MySQL. ........................................................................... 43

2.9.3

Ứng dụng vào đề tài. ............................................................................. 44

2.10 Docker...................................................................................................... 44
2.10.1 Giới thiệu. ............................................................................................. 44
2.10.2 Ưu điểm của Docker. ............................................................................ 44
2.10.3 Ứng dụng vào đề tài. ............................................................................. 45
Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG. ............................................. 46
3.1.

Đặc tả yêu cầu. ......................................................................................... 46

3.1.1.

Mục đích xây dựng hệ thống. ................................................................ 46

3.1.2.

Phạm vi hệ thống. ................................................................................. 47


3.1.3.

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

3.2.

Thiết kế dữ liệu. ....................................................................................... 49

3.2.1.

Danh sách hệ thống bảng....................................................................... 49

3.2.2.

Bảng “bank_accounts”. ......................................................................... 50

3.2.3. Bảng “blockchain_blocks”. ................................................................... 50
3.2.4. Bảng “blockchain_transactions”. ........................................................... 52
3.2.5. Bảng “daily_statistics”. ......................................................................... 53
3.2.6. Bảng “devices”. .................................................................................... 54
3.2.7. Bảng “interest_rates”. ........................................................................... 54


3.2.8. Bảng “news”. ........................................................................................ 54
3.2.9. Bảng “notifications”. ............................................................................. 54
3.2.10.

Bảng “personal_access_token”. ......................................................... 55


3.2.11.

Bảng “receivers”. ............................................................................... 55

3.2.12.

Bảng “transactions”. .......................................................................... 55

3.2.13.

Bảng “settings”. ................................................................................. 56

3.3.

Kết chương. .............................................................................................. 56

Chương 4: HIỆN THỰC HỆ THỐNG. ............................................................... 57
4.1.

Sơ đồ Use Case. ....................................................................................... 57

4.1.1.

Danh sách các Actor.............................................................................. 57

4.1.2.

Sơ đồ Use Case tổng quát. ..................................................................... 58

4.1.3.


Đặc tả một số Use Case chính. .............................................................. 59

4.1.3.1.

Đặc tả Use Case “Đăng ký”. .............................................................. 59

4.1.3.2.

Đặc tả Use Case “Active Pin Code”. .................................................. 59

4.1.3.3.

Đặc tả Use Case “Đăng nhập”. ........................................................... 60

4.1.3.4.

Đặc tả Use Case “Giao dịch”. ............................................................ 60

4.1.3.5.

Đặc tả Use Case “Quản lý người dùng”. ............................................ 61

4.1.3.6.

Đặc tả Use Case “Quản lý tài khoản”. ................................................ 62

4.1.3.7.

Đặc tả Use Case “Quản lý giao dịch”. ................................................ 63


4.1.3.8.

Đặc tả Use Case “Quản lý lãi suất”. ................................................... 63

4.1.3.9.

Đặc tả Use Case “Trang cá nhân”. ..................................................... 64

4.1.3.10. Đặc tả Use Case “Chi tiết tài khoản”. ................................................. 65
4.1.3.11. Đặc tả Use Case “ Chi tiết giao dịch”. ................................................ 66
4.1.3.12. Đặc tả Use Case “Thống kê”. ............................................................. 66
4.2.

Sơ đồ Activity và Sequence. ..................................................................... 68

4.2.1.

Sơ đồ “Tao tài khoản”. .......................................................................... 68

4.2.1.1.

Mục đích. ........................................................................................... 69

4.2.1.2.

Mô tả. ................................................................................................ 69

4.2.2.


Sơ đồ “Active Pin Code”. ...................................................................... 71

4.2.2.1.

Mục đích. ........................................................................................... 72

4.2.2.2.

Mơ tả. ................................................................................................ 72


Sơ đồ “Giao dịch” và “Luồng giao dịch”. .............................................. 73

4.2.3.
4.2.3.1.

Mục đích. ........................................................................................... 75

4.2.3.2.

Mơ tả. ................................................................................................ 75

4.3.

Thiết kế giao diện. .................................................................................... 76

4.3.1.

Giao diện Web dành cho Admin. .......................................................... 76


4.3.2.

Giao diện App dành cho người dùng. .................................................... 77

4.3.4.

Một số màn hình giao diện. ................................................................... 78

Chương 5: TỔNG KẾT. ..................................................................................... 89
5. Kết quả đạt được.......................................................................................... 89
5.5.1.

Về nội dung nghiên cứu: ....................................................................... 89

5.1.1.

Về chương trình và ứng dụng. ............................................................... 89

5.2.

Đánh giá. .................................................................................................. 89

5.2.1.

Thuận lợi............................................................................................... 89

5.2.2.

Khó khăn............................................................................................... 90


5.3.

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

5.4.

Kết luận. ................................................................................................... 90

TÀI LIỆU KHAM KHẢO.................................................................................. 91
Tài liệu tiếng Anh. ............................................................................................. 91
Tài liệu tiếng Việt. ............................................................................................. 92


LỜI CẢM ƠN
Khóa luận tốt nghiệp là sản phẩm nghiên cứu khoa học đầu đời của mỗi sinh viên,
cũng là thành quả của quá trình học tập và rèn luyện trong trường đại học. Chính vì
thế, việc hồn thành khóa luận địi hỏi rất nhiều cơng sức, sự chun tâm, nhiệt huyết
cũng như thời gian của nhóm sinh viên. Thực tế luôn cho thấy, sự thành công nào
cũng đều gắn liền với những sự hỗ trợ, giúp đỡ của những người xung quanh dù cho
sự giúp đỡ đó là ít hay nhiều, trực tiếp hay gián tiếp trong suốt quá trình học tập và
nghiên cứu đề tài.
Trong suốt thời gian từ khi bắt đầu làm khoá luận tốt nghiệp đến nay, nhóm đã
nhận được sự quan tâm, hướng dẫn, giúp đỡ của giáo viên hướng dẫn, các thầy cô đã
giảng dạy cũng như sự ủng hộ của gia đình và bạn bè xung quanh. Ngoài những kiến
thức mà chúng em nhận được, các thầy cơ, anh chị khóa trên cịn truyền đạt những
lời khuyên chân thành, kinh nghiệm quý báu trong suốt thời gian học tập và rèn luyện
tại trường, đó khơng chỉ là nền tảng cho q trình nghiên cứu khóa luận mà cịn là
hành trang q báu để nhóm bước vào đời một cách vững chắc và tự tin hơn.
Với lòng biết ơn sâu sắc và chân thành nhất, nhóm xin gửi đến q Thầy Cơ đã và
đang công tác, giảng dạy ở Khoa Công nghệ Phần mềm – Trường Đại Học Công

Nghệ Thông Tin đã cùng với những tri thức và tâm huyết của mình để truyền đạt vốn
kiến thức và kỹ năng quý báu cho chúng em trong suốt thời gian học tập và rèn luyện
tại trường.
Chúng em xin gửi lời cảm ơn chân thành và tri ân sâu sắc tới thầy Trần Anh Dũng,
người đã trực tiếp tận tình hướng dẫn nhóm trong suốt q trình thực hiện khố luận
tốt nghiệp. Khơng chỉ gợi ý và tận tâm hướng dẫn chúng em trong quá trình tìm hiểu,
đọc tài liệu và lựa chọn đề tài, qua từng buổi học trên lớp cũng như những buổi nói
chuyện, thảo luận về lĩnh vực sáng tạo trong nghiên cứu khoa học, thầy cịn tận tình
chỉ bảo nhóm những kĩ năng phân tích, khai thác tài liệu để có được những tư liệu
phù hợp với nội dung của khóa luận. Hơn nữa, thầy cịn rất nhiệt tình trong việc đốc


thúc q trình viết khóa luận, đọc và đưa ra những nhận xét, góp ý để nhóm có thể
hồn thành khố luận tốt nghiệp một cách tốt nhất. Nếu khơng có những lời hướng
dẫn, dạy bảo của thầy thì nhóm nghĩ bài thu hoạch rất khó có thể hồn thiện được.
Một lần nữa, nhóm xin chân thành cảm ơn thầy.
Bài thu hoạch được thực hiện trong khoảng thời gian 3 tháng. Bước đầu đi vào
thực tế, tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa học, kiến thức, trình độ
lý luận cũng như kinh nghiệm thực tiễn của nhóm cịn hạn chế và cịn nhiều bỡ ngỡ.
Do vậy, khơng tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận được
những sự chỉ bảo, ý kiến đóng góp q báu của q Thầy Cơ và các bạn học cùng lớp
để nhóm có điều kiện được bổ sung, nâng cao kiến thức của mình trong lĩnh vực này,
giúp hồn thiện hơn và tích luỹ thêm cho bản thân nhiều kinh nghiệm, phục vụ tốt
hơn cho công việc thực tế sau này.
Chúng em xin kính chúc quý Thầy Cô trong Khoa Công nghệ Phần mềm và Thầy
Trần Anh Dũng và cô Đỗ Thị Thanh Tuyền thật dồi dào sức khỏe, tràn đầy 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, luôn gặt hái được nhiều thành cơng tốt đẹp trong sự nghiệp trồng người của
mình.
Cuối cùng, nhóm xin được gửi đến ba mẹ, gia đình và bạn bè lời cảm ơn, tri ân

chân thành và lịng biết ơn sâu sắc vì những sự động viên, ủng hộ, giúp đỡ và cổ vũ
tinh thần cho chúng em trong suốt quá trình gian nan và vất vả này.
Nhóm xin chân thành cảm ơn!

Nhóm sinh viên


ĐHQG TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CƠNG NGHỆ THƠNG TIN

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Tìm hiểu Blockchain và xây dựng ứng dụng tiền gửi ngân hàng.
Cán bộ hướng dẫn: TS. Đỗ Thị Thanh Tuyền, ThS. Trần Anh Dũng.
Thời gian thực hiện: Từ ngày 07/09/2020 – 02/01/2021
Sinh viên thực hiện:
16520470 - Hà Kiệt Hùng.
16520412 - Phan Đình Minh Hiếu.
Nội dung đề tài:
1. Mục tiêu của đề tài.
1.1. Bối cảnh chọn đề tài.
Hiện nay, đặc thù của việc gửi tiền tại ngân hàng thường trải qua nhiều giai
đoạn phức tạp, khó hiểu. Điều này khiến cho quá trình thực hiện giao dịch gửi tiền
tại ngân hàng khơng có tính minh bạch cần thiết. Tình trạng sai số, các bước thực

hiện lằng nhằng khó hiểu khiến người sử dụng quan ngại về tính chính xác cũng như
lừa đảo của dịch vụ. Thời gian vừa qua, số lượng các vụ lừa đảo của các đối tượng
tội phạm giả danh nhân viên ngân hàng để chiếm đoạt tài sản qua tài khoản điện tử
gia tăng đột biến, thu hút sự quan tâm rất lớn của cộng đồng mạng và xã hội. Điều
đáng nói là một số khơng nhỏ người bán hàng trên mạng đang vơ tình trở thành nạn
nhân của những kẻ lừa đảo này. Ví dụ như: Sự việc được chia sẻ gần đây nhất diễn

1


ra ở tài khoản của một người bán hàng trực tuyến trên mạng xã hội Facebook, thu
hút hàng nghìn lượt share, comment. "Đầu tiên vào lúc 15h47 có 1 số lạ 088 8501xxx
và 028 71098xxx gọi cho mình tự xưng là nhân viên của T., họ đọc đúng 100% tất
cả các giao dịch của mình ngày hơm qua, đọc đúng cả số thẻ của mình ln. Họ lựa
chọn đúng giao dịch nhiều tiền nhất của mình, đọc đúng số tiền mình đã nhận lẫn lời
nhắn gửi “chuyển khoản mua tơm 5,2kg”. Và bảo là hiện tại không xác định được
người gửi số tiền này, bên họ sẽ gửi 1 mã OTP cho mình, mình hãy cung cấp mã
OTP cho họ, nếu không tài khoản sẽ bị phong toả 72 giờ và số tiền 2.652.000 kia sẽ
chuyển hoàn vào tài khoản của người gửi cho mình. Mình khơng chịu cung cấp mã
OTP thì đúng là tài khoản ngân hàng của mình đã bị treo mất 10 phút không giao
dịch được" - nữ khách hàng kể lại sự việc trên mạng xã hội. May mắn là nữ khách
hàng này đã không chịu cung cấp mã OTP nên kẻ lừa đảo đã không thể chiếm đoạt
được tiền trong tài khoản. Hiện tại, nội dung trên đã được nữ khách hàng xóa trên
Facebook cá nhân chuyên bán thực phẩm nhập khẩu, song vụ việc vẫn tiếp tục được
lan truyền rộng khắp trên mạng xã hội và các diễn đàn, thu hút sự quan tâm của dư
luận.
Đây chỉ là một trong số rất nhiều vụ việc lừa đảo chiếm đoạt tiền qua tài khoản
điện tử diễn ra gần đây. Bất chấp việc các ngân hàng và cả cơ quan công an liên tục
ra các khuyến cáo, cảnh báo, song nhiều khách hàng vẫn cả tin về việc sẽ nhận được
khoản tiền giao dịch đang bị “treo”, hoặc do quá lo sợ khi bị dọa “công an, tòa án”

đang điều tra, nên đã cung cấp mã OTP cho kẻ gian. Theo báo Thanh Niên, nhóm
đối tượng sử dụng cơng nghệ cao có khả năng cài đặt số điện thoại “ảo”, khiến cho
điện thoại của nạn nhân hiện ra số điện thoại của ngành Công an hoặc Tịa án. Người
dân tra lại số thì đúng với thực tế, nên nhiều người tin đây là cuộc gọi thực sự từ cơ
quan chức năng. Một số tình huống khác, kẻ gian thậm chí cịn gọi điện nhiều lần
hotline gần giống với đường dây nóng của ngân hàng. Và khi khách hàng gọi tới,
chúng cho chuyển hướng cuộc gọi đến tổng đài của ngân hàng, và theo dõi cuộc gọi
để lấy hết dữ liệu thông tin.

2


Điều đáng nói là việc người sử dụng có thể bị lộ thông tin giao dịch ở nhiều
nguồn khác nhau, một trong số đó có thể là sao kê ngân hàng ở một cửa hàng nào đó
mà khách hàng đã giao dịch, trong đó có đầy đủ thơng tin như số tài khoản, họ tên,
số tiền và nội dung giao dịch. Ở trường hợp của người bán hàng online kể trên, người
này thường xuyên đăng tải các đơn bán hàng và giao dịch chuyển khoản của mình
lên trên mạng, để minh chứng cho việc đang buôn may, bán đắt. Song chính những
thơng tin đó đã bị kẻ gian tập hợp thông tin để biến thành mồi câu để chiếm đoạt tài
khoản của họ.
1.2. Tính mới/ khác biệt về chức năng.
Việc ứng dụng công nghệ Blockchain vào việc quản lý tiền gửi ngân hàng sẽ
giúp tính minh bạch của các giao dịch được chắc chắn. Đồng thời, các bước thực
hiện giao dịch, thời gian chứng thực sẽ được rút ngắn đi đáng kể, giúp người sử dụng
có thể dễ dàng giao dịch cũng như quản lý tiền gửi một cách tốt nhất. Việc tận dụng
công nghệ dựa trên nền tảng Blockchain mang lại rất nhiều triển vọng. Khả năng của
Blockchain trong việc xử lý thông tin nhanh hơn nhờ loại bỏ được các đơn vị trung
gian có thể giúp giảm bớt chi phí đồng thời đẩy nhanh tốc độ xử lý giao dịch.
Với những lợi thế từ Blockchain mang lại, chúng em đã nghiên cứu và tìm hiểu
áp dụng cơng nghệ Blockchain để xây dựng hệ thống quản lý tiền gửi ngân hàng

giúp người dùng có thể quản lý tiền gửi ngân hàng an tồn, nhanh chóng và giảm
thiểu rủi ro, loại trừ bên thứ ba, giảm sai số cũng như thời gian thực hiện giao dịch.
Về phía ngân hàng, ứng dụng sẽ giúp quản lí được thơng tin người dùng, thông tin
giao dịch, đồng thời ngăn chặn sửa đổi dữ liệu đến từ một cá nhân cụ thể. Ngoài
những chức năng cơ bản: đăng ký, giao dịch, quản lí tiền gửi,… ứng dụng cịn phát
triển thêm các tính năng mới như: tra cứu, đào và đồng thuận, tính năng ngăn chặn
giao dịch lặp chi.
Khi khảo sát các nghiệp vụ tại ngân hàng, nhóm nhận ra:
- Nghiệp vụ xử lý một giao dịch còn nhiều hạn chế:
+ Trải qua nhiều giai đoạn phê duyệt.
3


+ Tính minh bạch trong giao dịch khơng cao.
- Ứng dụng sẽ hướng đến việc giao dịch giảm thiểu khả năng sai sót, đồng thời
giúp người dùng tiết kiệm tối đa thời gian khi thực hiện. Ngoài ra, ứng dụng
sẽ cung cấp thêm những chức năng khác như: tìm kiếm lịch sử giao dịch, tìm
kiếm người dùng, tạo danh sách người thụ hưởng.
1.3. Mục đích của đề tài.
Ứng dụng được thực hiện dựa trên hai mục đích chính sau:
Thứ nhất là nghiên cứu các cơng nghệ lập trình như hỗ trợ người dùng trong quá
trình giao dịch, giúp rút ngắn thời gian giao dịch và tăng tính minh bạch trong q
trình giao dịch.
Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển khai ứng
dụng vào thực tế, giúp những người có nhu cầu quản lý tiền gửi ngân hàng có thể dễ
dàng kiểm sốt được những thông tin giao dịch cũng như số tiền trong tài khoản của
họ.
Nhóm hi vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền thụ lại, kết hợp
với sự tìm hiểu cơng nghệ của nhóm, luận văn tốt nghiệp của nhóm sẽ đạt được mục
đích mong đợi.

1.4. Ý nghĩa của đề tài.
Trước hết, đề tài “Tìm hiểu Blockchain và xây dựng ứng dụng tiền gửi ngân
hàng” là một ứng dụng được xây dựng như một đề tài thể hiện việc áp dụng những
kiến thức quý báu đã được các thầy cô của trường Đại học Công nghệ Thơng tin –
Đại học Quốc gia thành phố Hồ Chí Minh đã nhiệt tình truyền thụ lại cho chúng em.
Và đặc biệt là sự theo dõi và quan tâm giúp đỡ của cô Đỗ Thị Thanh Tuyền và thầy
Trần Anh Dũng trong suốt thời gian nhóm chúng em thực hiện đề tài này.

4


Thứ hai là những kinh nghiệm quý báu mà nhóm có được trong q trình thực
hiện đề tài sẽ là hành trang tuyệt vời giúp ích rất nhiều cho cơng việc sau này của
mỗi thành viên trong nhóm.
1.5. Nhiệm vụ của đề tài.
Đề tài “Tìm hiểu Blockchain và xây dựng ứng dụng tiền gửi ngân hang”.
Ứng dụng gồm có 2 phần: Ứng dụng viết cho App, Webservice và Sever.
-

Ứng dụng App và Web: Dành cho người tiêu dùng

+ Đăng ký và đăng nhập.
+ Mở tài khoản tiết kiệm.
+ Quản lý lịch sử của các giao dịch, thông kê giao dịch.
+ Hỗ trợ người sử dụng tạo danh sách thụ hưởng.
+ Tra cứu số dư, thông tin giao dịch trên từng tài khoản.
+ Thống kê chuyển nhận.
-

Sever quản lý:


+ Quản lý người dùng.
+ Quản lý tài khoản giao dịch.
+ Tra cứu thông tin giao dịch trên db, trên Blockchain.
+ Khôi phục, so sánh dữ liệu ở db và Blockchain.
+ Xem thống kê.
-

Mục tiêu của đề tài này là:

+ Tìm hiểu các hoạt động giao dịch trong thực tế.
+ Tìm hiểu cách thức xây dựng một hệ thống Blockchain.
+

5


2. Đối tượng nghiên cứu.
-

Các công nghệ:

+ Flutter
+ ReactJs
+ Nginx
+ Mysql
+ Ethereum
+ Linux
+ Docker
+ Bash Script

+ Postman
-

Đối tượng trong phạm vi đề tài hướng đến:

+ Những ngân hàng lớn và nhỏ trong toàn nước.
+ Người sử dụng trong nước và quốc tế.
3. Phương pháp nghiên cứu.
-

Nhóm đã sử dụng các phương pháp nghiên cứu:

+ Phương pháp đọc tài liệu.
+ Phương pháp phân tích các ứng dụng hiện có.
+ Phương pháp thực nghiệm.
Qua khảo sát tìm hiểu tại các ngân hàng hiện nay, nhóm nhận thấy quy trình gửi
tiền ngân hàng đều có mơ hình xử lý như sau:
Bước 1: Xác định nhu cầu gửi tiết kiệm.
Bước 2: Chọn ngân hàng gửi tiết kiệm.

6


Bước 3: Chọn gói gửi tiết kiệm phù hợp với nhu cầu.
Bước 4: Tính lãi suất gửi tiết kiệm.
Bước 5: Chọn kỳ hạn gửi thích hợp.
Bước 6: Tìm hiểu về điều kiện & điều khoản của gói gửi.
4. Kết quả dự kiến.
Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xây dựng ý tưởng
thiết kế ứng dụng cần đạt được những mục tiêu sau:

4.1. Đối với người sử dụng và người quản trị.
Người sử dụng xem lựa chọn đối tượng cần giao dịch.
Giao dịch thực hiện trong một khoảng thời gian cố dịnh.
Người sử dụng có thể xem các thơng tin về tài khoản của mình cũng nhưng
thơng tin các giao dịch đã và đang thực hiện.
Hệ thống có khả năng xây dựng và phát triển nhanh chóng.
Hệ thống tối ưu hóa thời gian giao dịch.
4.2. Các tiêu chí khác.
-

Tính thẩm mỹ

+ Ứng dụng có giao diện đẹp, dễ sử dụng tâm lý thoải mái cuốn hút khi sử dụng.
-

Tính logic và bảo mật

+ Tạo được sự liên kết logic giữa các màn hình để người sử dụng có thể chuyển màn
hình một cách nhanh nhất và thuật tiện nhất.
+ Đảm bảo tính bảo mật về các thông tin nhạy cảm của người dùng tạo cảm giác an
toàn cho người sử dụng.
Kế hoạch thực hiện.
STT

Công việc

Thời gian

7



Pharse 1:
1

2

2 tuần

-

Nghiên cứu về Blockchain, ethereum

-

Nghiên cứu về laravel.

-

Xác định các chức năng cần xây dựng.

-

Nghiên cứu về React Js

-

Nghiên cứu về Flutter.

Pharse 2:
1


2

1 tuần

1 tuần

2 tuần

-

Phân tích tổng quan, luồng nghiệp vụ.

-

Phân tích hệ thống Blockchain

-

Phân tích Backend, Database

Pharse 3:

1 tuần

1 tuần
2 tuần

1


-

Settup Private Ethereum Blockchain

2.

-

Triển khai các Smart Contract cần thiết. 1 tuần

-

Testing

Pharse 4:

1 tuần

2 tuần

1

-

Xây dựng Api Cms

1 tuần

2


-

Xây dựng Api cho Mobile App

1 tuần

-

Testing.

Pharse 5:

3 tuần

1

-

Xây dựng giao diện cho các màn hình

1 tuần

2

-

Ráp Api

1 tuần


3

-

Testing

1 tuần
8


Pharse 6:

3 tuần

1

-

Xây dựng giao diện các màn hình

1 tuần

2

-

Ráp Api

1 tuần


3

-

Testing

1 tuần

Pharse 7:
1

1 tuần

-

Tạo Image cho Blockchain

-

Tạo Image cho Backend

-

Kết nối các Image, Testing

Xác nhận của GVHD

1 tuần

Ngày …. tháng …. năm 2021

SV Thực hiện

9


DANH MỤC HÌNH ẢNH
Hình 2.1: Thuật tốn Blockchain ........................... Error! Bookmark not defined.6
Hình 2.2 Cách Blockchain hoạt động..................... Error! Bookmark not defined.8
Hình 2.3 Các ứng dụng cơ bản của Blockchain ...... Error! Bookmark not defined.9
Hình 2.4 Tổng quan Smart Contract ...................................................................... 42
Hình 2.5 Cách Smart Contract hoạt động ............... 4Error! Bookmark not defined.
Hình 2.6 Mơ hình hoạt động Ethereum .................................................................. 45
Hình 2.8 Trạng thái tài khoản Ethereum ................................................................ 47
Hình 2.9 Cây Merkle trong Ethereum .................................................................... 48
Hình 2.10 Phí giao dịch trong Ethereum ................................................................ 49
Hình 2.11 Cách NodeJs hoạt động so với những server khác ................................. 51
Hình 2.12 Mức độ phổ biến của Laravel tính đến 25/01/2018 .... 5Error! Bookmark
not defined.
No table of figures entries found.Hình 3.1 Mơ hình kiến trúc hệ thống. .............. 61
Hình 4.2.1a Sơ đồ Activity “Tạo tài khoản”........................................................... 69
Hình 4.2.1b Sơ đồ Sequence “Tạo tài khoản”. ....................................................... 70
Hình 4.2.2a Sơ đồ Activity “Active Pin Code”. ..................................................... 72
Hình 4.2.2b Sơ đồ Sequence “Active Pin Code”. ................................................... 73
Hình 4.2.3a Sơ đồ Activity “Giao dịch”. ................................................................ 74
Hình 4.2.3b Sơ đồ Activity “Luồng giao dịch”. ..................................................... 75
Hình 4.2.3c Sơ đồ Sequence “Giao dịch” và “Luồng giao dịch”. ........................... 76
Hình 4.3.4.1 Giao diện màn hình “Đăng nhập”. ..................................................... 79
Hình 4.3.4.2 Giao diện “Danh sách người dùng”.. ................................................. 80
Hình 4.3.4.3 Giao diện “Chi tiết người dùng”.. ...................................................... 80
Hình 4.3.4.4 Giao diện “Danh sách giao dịch”.. ..................................................... 81

Hình 4.3.4.5 Giao diện “Danh sách Blocks”.. ........................................................ 81
Hình 4.3.4.6 Giao diện “Chi tiết Block”. ............................................................... 82
Hình 4.3.4.7 Giao diện “Thống kê”.. ..................................................................... 82
10


Hình 4.3.4.8 Giao diện “Danh sách lãi suất”. ......................................................... 83
Hình 4.3.4.10 Giao diện App “Login”. .................................................................. 83
Hình 4.3.4.11 Giao diện App “Profile”. ................................................................. 84
Hình 4.3.4.12 Giao diện App “Bank Accounts”. .................................................... 85
Hình 4.3.4.13 Giao diện App chi tiết “Bank Accounts”. ........................................ 86
Hình 4.3.4.14 Giao diện App “History”. ................................................................ 87
Hình 4.3.4.15 Giao diện App chi tiết “History”. .................................................... 88
Hình 4.3.4.16 Giao diện App “News”. ................................................................... 89

11


DANH MỤC BẢNG
Bảng 3.2.1: Bảng “Danh sách hệ thống bảng” ....................................................... 62
Bảng 3.2.2: Bảng “bank_accounts” ....................................................................... 62
Bảng 3.2.3: Bảng “blockchain_blocks” ................................................................. 63
Bảng 3.2.4: Bảng “blockchain_transactions” ......... 6Error! Bookmark not defined.
Bảng 3.2.5: Bảng “daily_statistics” ....................................................................... 66
Bảng 3.2.6: Bảng “devices” ................................................................................... 67
Bảng 3.2.7: Bảng “interest_rates” .......................................................................... 67
Bảng 3.2.8: Bảng “news”....................................................................................... 67
Bảng 3.2.9: Bảng “notifications” ........................................................................... 67
Bảng 3.2.10: Bảng “personal_access_token” ......................................................... 68
Bảng 3.2.11: Bảng “receivers” ............................................................................... 68

Bảng 3.2.12: Bảng “transactions” .......................................................................... 69
Bảng 3.2.13: Bảng “settings” ................................................................................. 69

12


×