Đ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,
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
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
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
DỤNG TIỀN GỬI NGÂN HÀNG
LEARN BLOCKCHAIN AND BUILD A BANK DEPOSIT
Trang 3DANH 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
Trang 4Đ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:
Trang 5
2 Về nội dung nghiên cứu:
3 Về chương trình ứng dụng:
Trang 6
4 Về thái độ làm việc của sinh viên:
Đánh giá chung:
Trang 7
Đ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)
Trang 8MỤ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 Laravel Framework 39
2.6.1 Giới thiệu 39
Trang 92.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
Trang 103.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
Trang 114.2.3 Sơ đồ “Giao dịch” và “Luồng giao dịch” 73
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
Trang 12LỜ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 hoàn thành khóa luận đòi hỏi rất nhiều công sức, sự chuyên 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 quá trình nghiên cứu khóa luận mà còn là hành trang quý 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 quý 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 quá trình thực hiện khoá 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
Trang 13thúc quá trình viết khóa luận, đọc và đưa ra những nhận xét, góp ý để nhóm có thể hoàn thành khoá 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ể hoà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 quý báu của quý 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 hoà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
Trang 14Đ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
Trang 15ra ở 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 luôn 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
Trang 16Đ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 toà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
Trang 17+ 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 quá 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 soá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
Trang 18Thứ hai là những kinh nghiệm quý báu mà nhóm có được trong quá 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
+
Trang 192 Đối tượng nghiên cứu
- Đố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
Trang 20Bướ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
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
Trang 21Pharse 1: 2 tuần
1 - 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
1 tuần
2 - Nghiên cứu về React Js
- Nghiên cứu về Flutter
1 - Settup Private Ethereum Blockchain 1 tuần
2 - Triển khai các Smart Contract cần thiết
- Testing
1 tuần
1 - Xây dựng Api Cms 1 tuần
2 - Xây dựng Api cho Mobile App
Trang 221 - Tạo Image cho Blockchain
- Tạo Image cho Backend
- Kết nối các Image, Testing
1 tuần
Xác nhận của GVHD Ngày … tháng … năm 2021
SV Thực hiện
Trang 23DANH MỤC HÌNH ẢNH
Hình 2.1: Thuật toá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
Trang 24Hì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
Trang 25
DANH MỤC BẢNG
Bảng 3.2.1: Bảng “Danh sách hệ thống bảng” 62Bả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” 66Bảng 3.2.6: Bảng “devices” 67Bảng 3.2.7: Bảng “interest_rates” 67Bảng 3.2.8: Bảng “news” 67Bảng 3.2.9: Bảng “notifications” 67Bảng 3.2.10: Bảng “personal_access_token” 68Bảng 3.2.11: Bảng “receivers” 68Bảng 3.2.12: Bảng “transactions” 69Bảng 3.2.13: Bảng “settings” 69
Trang 26DANH MỤC TỪ VIẾT TẮT
5 Cms Content Management System
Trang 27MỞ ĐẦU
Blockchain là một sổ cái kỹ thuật số được phân chia hay dễ hiểu hơn là cơ sở dữ liệu trong một mạng Sổ cái được chia sẻ cho những người tham gia vào mạng lưới Điều này cho thấy rằng trong toàn bộ hệ thống không phải chỉ có một vị trí duy nhất, một tài liệu có thể làm căn cứ đáng tin (authority) duy nhất, vì những lần sao chép cùng một phiên bản sổ cái được đặt ở nhiều nơi
Blockchain sở hữu tính năng vô cùng đặc biệt đó là việc truyền tải dữ liệu không đòi hỏi một trung gian để xác nhận thông tin Hệ thống Blockchain tồn tại rất nhiều nút độc lập có khả năng xác thực thông tin mà không đòi hỏi “dấu hiệu của niềm tin” Thông tin trong Blockchain không thể bị thay đổi và chỉ được bổ sung thêm khi có
sự đồng thuận của tất cả các nút trong hệ thống Đây là một hệ thống bảo mật an toàn cao trước khả năng bị đánh cắp dữ liệu Ngay cả khi một phần của hệ thống Blockchain sụp đổ, những máy tính và các nút khác sẽ tiếp tục bảo vệ thông tin và giữ cho mạng lưới tiếp tục hoạt động Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một mã thời gian và dữ liệu giao dịch.] Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được nó
Tất cả các bản sao này được cập nhật khi dữ liệu hoặc giao dịch mới được ghi vào Blockchain thông qua sự đồng thuận của tất cả mọi người tham gia Người tham gia
“đào” có trách nhiệm phê duyệt các giao dịch và giám sát mạng bằng cách giải quyết các công thức tinh vi với sự trợ giúp của máy tính Nó là một hệ thống ngang hàng P2P, loại bỏ tất cả mọi khâu trung gian, làm tăng cường an ninh, minh bạch và sự ổn định cũng như giảm thiểu chi phí và lỗi do con người gây ra
Với những ưu điểm loại bỏ tất cả mọi khâu trung gian, giúp tiết kiệm thời gian và tăng cường an ninh, minh bạch Việc ứng dụng công nghệ Blockchain vào hệ thống quản lý tiền Ngân hàng sẽ giúp mọi giao dịch cũng như cách thức quản lý tiền gửi Ngân hàng đều diễn ra minh bạch và đạt hiệu quả tối ưu hơn trước
Việc thực hiện các giao dịch cũng như quản lý tiền gửi Ngân hàng luôn phải đối
Trang 28mặt với những khó khăn của riêng mình Từ việc phải trải qua các thủ tục giấy tờ rườm rà; hệ thống giao dịch dựa trên giấy tờ tốn rất nhiều thời gian, gây nhàm chán, thậm chí tiêu tốn thời gian quá nhiều để xử lý và thiếu đi sự minh bạch cần có Hãy suy nghĩ về một thế giới mà việc giao dịch Ngân hàng có thể được xác minh ngay lập tức và chắc chắn Trong thế giới giả định này, thời gian để xác minh quyền sở hữu sẽ được loại bỏ và, quan trọng nhất, các thủ tục giấy tờ sẽ không còn nữa
Điều tâm đắc nhất là ứng dụng Blockchain là không cần phụ thuộc vào bất kỳ một bên trung gian nào Công nghệ Blockchain mới sẽ giúp người giao dịch không cần qua bên thứ ba, từ đó giảm bớt chi phí không cần thiết nữa
Điều này mở ra cơ hội cho những giao dịch ngang hàng và xuyên biên giới giữa bên mua và bên bán mà không cần sự hiện diện của tổ chức trung gian như các hãng phát hành thẻ tín dụng, ngân hàng Giao dịch có thể được thực hiện tức thời, chính xác, bảo mật và không thể chỉnh sửa thông tin, từ đó hạn chế rủi ro gian lận, thao túng giao dịch
Việc sử dụng Blockchain có khả năng cách mạng trong ngành Ngân hàng Chi hiệu quả tốt hơn trong giao dịch đồng thời cơ sở dữ liệu được chia sẻ, nơi toàn bộ các bên liên quan bao gồm thông tin người gửi và nhận, số tiền giao dịch mà cả người gửi và người nhận có thể tương tác với thông tin quyền sở hữu hoặc lịch sử giao dịch một cách cởi mở và an toàn
phí-Với việc ứng dụng Blockchain vào các giao dịch của Ngân hàng, thể hiện tiềm năng rõ ràng trong việc tinh giản các quy trình không cần thiết Những lợi ích của việc này đã được công nhận bởi nhiều tổ chức tư nhân và cơ quan chính phủ trên thế giới như:
Ủy ban Châu Âu (EC) thành lập Đài quan sát Blockchain của Liên minh Châu Âu
để đáp ứng yêu cầu của Nghị viện Châu Âu nhằm tăng cường chuyên môn kỹ thuật
và năng lực điều tiết
Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC) xem các loại tiền kỹ thuật số là một bảo mật, trong khi Ủy ban Giao dịch hàng hóa tương lai (CFTC) là hàng hóa
Trang 29Cũng xuất phát từ nhu cầu đó, nhóm em cũng đã tìm hiểu và quyết định chọn cho
mình đề tài “TÌM HIỂU BLOCKCHAIN VÀ XÂY DỰNG ỨNG DỤNG TIỀN
GỬI NGÂN HÀNG”
Với đề tài này, nhóm em sẽ triển khai dựa trên nhiều công nghệ khác nhau như: Flutter, ReactJS, MySQL, … và kết hợp với nền tảng Ethereum là một nền tảng Blockchain về SmartContract IPO thành công nhất trong lịch sử Blockchain
Nội dung của khóa luận chia thành 5 chương, cụ thể như sau:
Chương 1: Tổng quan đề tài
Chương 2: Kiến thức nền tảng
Chương 3: Phân tích thiết kế hệ thống
Chương 4: Hiện thực hệ thống
Chương 5: Kết luận
Trang 30Chương 1 TỔNG QUAN ĐỀ TÀI
sự rõ ràng nhưng bản thân minh bạch là một khái niệm trừu tượng
Một số đặc thù của các giao dịch ngân hàng là có giá trị lớn, vì vậy nên thường mất nhiều thời gian, chi phí và thủ tục giấy tờ để hoàn thiện Điều này tạo ra nhiều vấn đề về thời gian cho giao dịch Ngoài ra, với việc phải thông qua các thủ tục rườm rà, tính minh bạc trong giao dịch cũng không được đảm bảo
Mặc dù, sự phát triển mạnh mẽ của công nghệ hiện nay đã làm thay đổi mạnh
mẽ xã hội theo hướng tích cực và ngày càng giúp đỡ con người về nhiều mặt góp phần tiết kiệm chi phí, sức lực, thời gian, giảm hạn chế về mặt địa lý và mang lại hiệu quả cao hơn trước gấp nhiều lần, qua đó mang lại sự phát triển cho xã hội Ngành Ngân hàng cũng luôn phải đối mặt với những khó khăn của riêng mình Từ việc minh bạch về giao dịch; hệ thống hợp đồng dựa trên giấy
tờ tốn rất nhiều thời gian, gây nhàm chán, thậm chí tiêu tốn thời gian quá nhiều
để xử lý Để giải quyết những vấn đề trên, Blockchain được xem là một trong những giải pháp tối ưu nhất để giúp ngành Ngân hàng khắc phục những khuyết điểm vốn có cũng như mang ngành Ngân hàng vươn lên một tầm cao mới
Blockchain là công nghệ tiềm năng để thay thế các quy trình bằng giấy và thay đổi cục diện bằng cách số hóa giao dịch, công nghệ này giảm thiểu thời gian
và chi phí đồng thời tăng tính minh bạch và an toàn
Công nghệ Blockchain có một số ứng dụng tiềm năng với Ngân hàng:
Trang 31 Thứ nhất, Blockchain ghi nhận thông tin liên quan đến một chuỗi giao dịch và phân bổ trên một mạng lưới các máy tính (hay còn được gọi là các nút) Đồng thời, Blockchain tạo ra các bản ghi kỹ thuật số có thể được chia sẻ trong mạng lưới Do đó, Blockchain có tính minh bạch, được cập nhập nhanh chóng và rất khó để đánh cắp thông tin
Thứ hai, một yếu tố then chốt là Blockchain không cần tới cơ quan trung ương
để phê duyệt giao dịch và xác nhận danh tính, vì đây là một cuốn sổ cái giao dịch phân tán thông qua mạng Nhờ đó, các giao dịch khó mà sai lệch và đạt được tính minh bạc cần thiết
Thứ ba, nhờ Blockchain mà việc xác minh quyền sở hữu và xác nhận giao dịch
có thể được thực hiện trong giây lát Giúp bỏ qua những thủ tục cũng như pháp
lý không cần thiết
Nhóm tác giả muốn ứng dụng công nghệ Blockchain vào ngành Ngân hàng để giúp cho việc giao dịch là nơi mà chỉ có sự “minh bạch” được đặt lên hàng đầu Công nghệ Blockchain mới sẽ giúp cho việc thực hiện giao dịch rút ngắn được thời gian đáng kể và không cần qua bên thứ ba, từ đó giảm bớt chi phí
và những vấn đề phát sinh khác Đồng thời hệ thống góp phần giúp nhà nước giảm thất thoát thuế giao dịch do tất cả giao dịch trên hệ thống Blockchain đều
có thể truy cập kiểm tra
Khi đó thời gian kiểm duyệt và độ chính xác của dữ liệu sẽ tăng lên đáng kể Hơn thế nữa, trong cuộc cách mạng công nghiệp 4.0, ứng dụng sẽ cung cấp cho tài khoản giao dịch của người dùng một mã QR CODE độc nhất Qua đó giúp người dùng có thể thực hiện giao dịch một cách dễ dàng, người dùng có thể thể hiện QR CODE ở bất kì đâu, người cần mua chỉ việc scan QR CODE
và thực hiện thao tác giao dịch ngay lập tức Đó là những gì tâm đắc và luôn thôi thúc nhóm thực hiện và phát triển đề tài này
1.3 Khảo sát hiện trạng
Các thủ tục cần thực hiện khi thực hiện giao dịch tại một số ngân hàng ở Việt Nam:
Trang 32 Giấy yêu cầu gửi tiền có kỳ hạn theo mẫu của Ngân hàng gửi hoặc Hợp đồng tiền gửi có kỳ hạn ký kết giữa khách hàng và ngân hàng;
Bảng kê thu tiền mặt (nếu có);
Bản gốc Giấy tờ xác minh thông tin khách hàng còn thời hạn hiệu lực;
Bản gốc Giấy tờ xác minh thông tin của người đại diện theo pháp luật
(Trường hợp giao dịch thông qua người đại diện/giám hộ);
Các giấy tờ liên quan khác (như văn bản ủy quyền trong giao dịch lần đầu/uỷ quyền từng lần, văn bản thỏa thuận đồng sở hữu trong trường hợp khách hàng thỏa thuận đồng sở hữu tiền gửi chung)
Ưu điểm:
o Nhân viên hướng dẫn chi tiết
o Có giấy tờ thông tin xác nhận
o Hạn chế:
o Không giao dịch trực tiếp trên hệ thống
o Tốn chi phí giao dịch
o Mọi giao dịch phải thông qua giấy tờ bên thứ ba
o Dữ liệu thông tin có thể sửa đổi, sai sót
Mọi giao dịch phải thông qua giấy tờ bên thứ ba
Dữ liệu thông tin có thể sửa đổi, sai sót
Tốn thời gian
Cần di chuyển đến ngân hàng để thực hiện giao dịch
1.5 Mục tiêu đề tài
Tìm hiểu và nắm vững cơ chế hoạt động của Blockchain
Tìm hiểu về nền tảng Ethereum và áp dụng SmartContract cùng các công
Trang 33nghệ khác vào hệ thống giao dịch để thực hiện được các chức năng bao gồm:
Tạo mới, lưu trữ thông tin người dùng
Tạo mới, lưu trữ các loại tài khoản giao dịch
Thực hiện, lưu trữ thông tin giao dịch
Cung cấp mã QR CODE độc quyền ứng với từng tài khoản giao dịch
Thông báo các thông tin quan trọng đến với người dùng
Tạo mới, lưu trữ các bài tin tức giúp người dùng có thể cập nhật tin tức một cách nhanh nhất
Tìm hiểu về Solidity và ứng dụng trong việc sử dụng viết Smart Contract trong hệ sinh thái Ethereum
Tìm hiểu về React Cms và xây dựng giao diện web
Tìm hiểu về Flutter và xây dựng App dành cho người dùng
Tìm hiểu về Laravel và ứng dụng trong việc giao tiếp giữa giao diện người dùng và cơ sở dữ liệu
Tìm hiểu về NodeJs và ứng dụng trong giao tiếp giữa Laravel và BlockChain đồng thời dùng để thu thập dữ liệu thông tin
Tìm hiểu MySQL và ứng dụng trong quản lý các thông tin dữ liệu: dữ liệu người dùng, thông tin giao tài khoản, thông tin giao dịch
Tìm hiểu về Nginx và ứng dụng trong việc xây dựng hệ thống Web hoạt động theo kiến trúc bất đồng bộ (asynchronous) giúp hệ thống xử lý yêu cầu với tốc độ cao, mang đến cho người dùng trải nghiệm mượt mà khi sử dụng
hệ thống
Xây dựng hệ thống quản lý tiền gửi ngân hàng gồm:
o Đăng ký: tạo mới và lưu trữ thông tin tải khoản người dùng với các thông tin cần thiết
o Đăng nhập: dùng tài khoản đã tạo để đăng nhập vào hệ thống
o Active Pin Code: cho phép người dùng kích hoạt tài khoản người dùng trước khi sử dụng
o Tạo tài khoản giao dịch/tiết kiệm: bao gồm những loại tài khoản sau:
Trang 34o Tài khoản giao dịch
o Tài khoản tiết kiệm
o Thông tin chi tiết tài khoản: bao gồm các thông tin sau:
Số tài khoản
Loại tài khoản
Số dư tài khoản
o Thực hiện giao dịch: cho phép người dùng thực hiện các giao dịch
o Lịch sử các giao dịch: hiển thị các giao dịch ứng với từng tài khoản hoặc tất cả tài khoản người dung
o Chi tiết giao dịch: bao gồm các thông tin sau:
Tài khoản gửi
Tài khoản nhận
Số tiền gửi
Thời gian giao dịch
o Hiển thị thông tin chi tiết từng người dùng: vời từng người dùng cụ thể có trang hiển thị thông tin cá nhân bao gồm:
Hiển thị thông tin cá nhân
Hiển thị danh sách tài khoản
Hiển thị danh sách giao dịch
Kiểm duyệt tài khoản dành cho Admin: hiển thị danh sách tài khoản, đồng thời cho phép Admin tạo tài khoản dành cho người dùng, sau khi tạo tài khoản, người dùng có thể tạo Pin Code và sử dụng tài khoản
Nạp tiền vào tài khoản dành cho Admin: Chức năng này giúp Admin có thể nạp tiền vào tài khoản người dùng
Tạo tin tức cho Admin: giúp Admin có thể tạo các bài đăng tin tức một cách
dễ dàng nhất
Danh sách các bài tin tức: hiện danh sách các bài tin tức hiện có
Xem chi tiết bài tin tức: bao gồm các thông tin sau:
o Hình ảnh
Trang 35o Nội dung
Biểu đồ thống kê
Thông báo đáng chú ý: thông báo các tin tức quan trọng đến với người dùng
Mã QR CODE: quét mã QR CODE để lấy thông tin tài khoản
Cài đặt thông số hệ thống: bao gồm cài đặt những thông số sau:
Tính năng deactive user cho admin
Trang Dashboard của Admin: bao gồm quản lý:
Trang 36 Khi nói về Blockchain (chuỗi khối) ta nói về một nền tảng công nghệ trong đó
sử dụng các đơn vị lưu trữ thông tin là các khối (block) được nối tạo thành
chuỗi (chain) Ta có thể hiểu Blockchain là “chain of block”
Blockchain, tên ban đầu block chain là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian Mỗi khối thông tin đều chứa thông tin về thời gian khởi
tạo và được liên kết tới khối trước đó, kèm theo thông tin về dữ liệu giao dịch
Nếu ta tưởng tượng Blockchain như một sổ cái (ledger) chứa các giao dịch
(transactions) thì mỗi trang có thể xem như một khối
Điều đặc biệt nhất của Blockchain là các khối nối với nhau theo thứ tự nhất định và ta không thể chèn thêm một khối Dựa vào mật mã học chuỗi khối được bảo toàn Nó trở thành chuỗi không thể phá vỡ Chúng ta chỉ có thể nối
thêm các khối vào cuối chuỗi
Các Block là Immuatable (bất biến) Khi một Block được thêm vào chain, nó không thể thay đổi được nữa, và các Block được nối với nhau bằng cách sử
dụng Hash (Block sau sẽ lưu Hash của Block trước)
Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được cập nhật trong mạng thì sẽ khó có thể thay đổi được nó Nếu một phần của hệ thống Blockchain sụp đổ, những máy tính và nút khác sẽ tiếp tục
hoạt động để bảo vệ thông tin
Công nghệ Blockchain là một loại chương trình để lưu, xác nhận, vận chuyển
và truyền thông dữ liệu trong mạng thông qua các nút phân phối của riêng nó
mà không phụ thuộc vào bên thứ ba
Trang 37 Blockchain là một kho lưu trữ, cơ sở dữ liệu phân tán toàn cầu, chạy trên hàng triệu thiết bị và mở cho mọi người, không chỉ đơn thuần là thông tin mà còn
cả những thứ có giá trị, cả danh hiệu, hành vi, danh tính - có thể được di chuyển, lưu trữ và quản lý một cách an toàn và tư nhân Sự tin tưởng được thiết lập thông qua hợp tác giữa số đông và mã thông minh chứ không phải bởi các nhà trung gian mạnh mẽ như các chính phủ và ngân hàng
Công nghệ Blockchain được phát triển dựa trên hai kỹ thuật chính là hàm băm
và chữ ký số Mỗi người dùng sẽ sở hữu một cặp khóa gồm khóa bí mật (Private Key) và khóa công khai (Public Key) Khóa bí mật được lưu trữ bí mật và sử dụng để ký kết các giao dịch Các giao dịch đã ký dùng chữ ký số được phát đi trên toàn bộ mạng Chữ ký số liên quan đến hai giai đoạn: giai đoạn ký kết và giai đoạn xác minh Ví dụ: người dùng A muốn gửi một thông báo cho người dùng B, trong giai đoạn ký, A mã hóa dữ liệu của mình bằng khóa bí mật và gửi cho B kết quả đã được mã hóa và dữ liệu gốc Trong giai đoạn xác minh, B xác nhận giao dịch bằng khóa công khai của A Bằng cách
đó, B có thể dễ dàng kiểm tra xem dữ liệu có bị giả mạo hay không
Hình 2.1 Thuật toán Blockchain
Trang 38 Tính tin cậy: Khi nhắc đến Blockchain, tính chất đầu tiên sẽ được nhắc tới là
tính tin cậy Giao dịch trong Blockchain được ký số bởi thuật toán ECDSA – một thuật toán ký số mà khả năng giả mạo chữ ký là rất nhỏ, bởi yêu cầu tài nguyên tính toán lớn Thêm nữa, việc sử dụng hàm băm mật mã trong cả quá trình từ lúc khởi tạo giao dịch tới lúc vào sổ là một yếu tố gia tăng thêm sự tin cây Toàn bộ các giao dịch đều được tóm lược và lưu trữ trong header của Block Quá trình kiểm tra các Block và giao dịch cũng diễn ra nhiều lần với nhiều lớp
Tính không thể đảo ngược: Dữ liệu giao dịch sẽ không thể thay đổi sau khi
vào sổ xác nhận đủ lâu, giao dịch được lưu trữ trong Block, các block lại được liên kết với nhau Trong ID của một block có “dấu vết” của toàn bộ các giao dịch từ đầu, cộng thêm các yếu tố ngẫu nhiên Do đó, việc làm lại sổ sẽ đòi hỏi tài nguyên tính toán rất lớn, vì liên quan đến các Block trước và chi phối toàn
bộ các Block sau
Tính bền vững: Hệ thống Blockchain hình thành và phát triển đến khi đủ lớn
thì sẽ trở nên không thể phá vỡ Nguyên tắc đồng thuận phân tán khiến việc kiểm tra và xác thực ngày càng được gia tăng theo số nút mạng tham gia Hơn thế, mạng ngang hàng mang lại khả năng tính toán cao, không có nút cổ chai nên việc tấn công DDoS rất khó xảy ra Nếu có sự cố ở một nút thì các nút còn lại vẫn có thể hoạt động bình thường với dữ liệu đã được đồng bộ Các
dữ liệu này cũng không thể xóa, chỉ ghi và đọc dữ liệu
Tính sẵn sàng: Các nút mạng của Blockchain được đặt ở nhiều nơi, nhiều khu
vực địa lý khác nhau, nên đảm bảo tính sẵn sàng Việc tham gia mạng blockchain không đòi hỏi sự cấp phép của một đơn vị quản lý tập trung, nên thường dẫn tới số nút mạng ngày càng gia tăng Khi một máy bị lỗi và khôi phục lại, sẽ tự động kết nối và đồng bộ lại dữ liệu Dữ liệu được lan truyền đi rộng khắp trên thế giới không phát sinh thêm chi phí địa lý, vận chuyển,… tiết kiệm thời gian và công sức
Trang 39Hình 2.2 Cách Blockchain hoạt động
2.1.2 Ứng dụng Blockchain
Blockchain đã hình thành một hệ thống có tính minh bạch, có dữ liệu và lịch
sử hình thành dữ liệu không thể đảo ngược, đặc biệt không có sự can thiệp của
cá nhân hay tổ chức nào trong quá trình vận hành hệ thống Minh bạch và dữ liệu sạch sẽ tạo nên lòng tin của người dùng đối với hệ thống Từ đó, Blockchain sẽ có thể trở thành cơ sở nền tảng tạo ra nhiều ngành kinh tế mới bên cạnh lĩnh vực tiền mã hóa: Nền kinh tế vi thanh toán (Micropayment), Tạo nền tảng cho giao diện M2M (Machine-to-Machine) nền tảng giao dịch cho thế giới kết nối hơn 30 tỷ thiết bị IoT, Hợp đồng thông minh (Smart Contract), ứng dụng phân tán (dApp)…
Quản lý định danh: Hiện nay, có thể quản lý thẻ chứng minh thư, bằng đại
học, bằng sáng chế hay những thứ tương tự với Blockchain Một vài tổ chức cung cấp dịch vụ xác minh trực tuyến như scan thẻ, hoặc đóng dấu bằng số và xác minh tính hợp lệ, tuy nhiên có thể rất tốn kém vì phải trả tiền cho đám mây lưu trữ Với blockchain, không cần phải xây dựng hạ tầng định dạng mà chỉ cần hỏi để mở Blockchain
Chứng thực: Hầu hết các chứng từ thể hiện quyền sở hữu được lưu bằng giấy,
Trang 40nên có thể bị giả mạo hay sửa đổi Dữ liệu trên Blockchain thì không thể thay đổi Blockchain là một chuỗi của nhiều khối, nằm trong nhiều máy tính, nên
có thể ngăn chặn được những tác nhân vật lý Thông tin kỹ thuật số được chia thành nhiều khối và liên kết với nhau
Tài sản kỹ thuật số: Initial Coin Offering (ICO) là một cách thức huy động
vốn thông qua việc sử dụng tiền mật mã Bất kỳ ai, ở bất kỳ đâu cũng có thể trở thành nhà đầu tư ICO sẽ cung cấp cho nhà đầu tư tài sản kĩ thuật số gọi là
“token” Những “token” này sẽ được giữ trong ví Blockchain và có thể sử dụng
để thanh toán cho các dịch vụ của công ty hoặc trao đổi khi giá trị của nó tăng lên
Bầu cử kỹ thuật số: Vấn đề lớn nhất của bầu cử trực tuyến là tính an toàn,
bởi phiếu bầu có thể bị thay đổi hoặc lộ lọt thông tin bầu cử Tuy nhiên, Blockchain có thể làm cho phiếu bầu cử trở thành ẩn danh và an toàn hơn Với tiềm năng của Blockchain, những ứng dụng của công nghệ này sẽ làm thay đổi đáng kể cuộc sống của con người trong thời gian không xa Tuy nhiên, việc áp dụng công nghệ Blockchain cũng cần được các nhà quản lý giám sát và điều tiết một cách phù hợp, nhằm tuân thủ các quy định của pháp luật
Hình 2.3 Các ứng dụng cơ bản của Blockchain