TỔNG QUAN VỀ BLOCKCHAIN
CÁC KHÁI NIỆM CƠ BẢN
2.4.11 Phân biệt giữa Blockchain và Bitcoin
2.4.13 Điểm khác biệt cơ bản giữa Bitcoin và Ethereum
CÁC KỸ THUẬT TRONG BLOCKCHAIN
2.5.1 Các nhân tố cốt lõi của Blockchain
2.5.2 Mật mã hóa khóa công khai
2.5.4 Cơ chế đồng thuận phi tập trung
2.7 CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN
2.7.1 Giao dịch được sinh ra
2.7.2 Giao dịch được phát đến một mạng ngang hàng
2.7.3 Cuộc đua tạo các khối mới
2.7.4 Hoàn thành một khối mới
2.7.5 Thêm một khối mới vào chuỗi
CHƯƠNG 3: TỔNG QUAN VỀ ETHEREUM
3.2 SỰ SỤP ĐỔ CỦA DỰ ÁN DAO
3.3 CÁC KHÁI NIỆM CƠ BẢN
3.3.6 Ứng dụng phi tập trung
3.4 NGÔN NGỮ LẬP TRÌNH HỢP ĐỒNG THÔNG MINH – SOLIDITY 3.4.1 Sơ lược các ngôn ngữ lập trình hợp đồng thông minh
3.4.4 Các kiểu dữ liệu cơ bản
3.4.8 Tính thừa kế trong Solidity
3.4.9 Lưu trữ dữ liệu trên Blockchain
CHƯƠNG 4: LỢI ÍCH VÀ THÁCH THỨC TRONG ỨNG DỤNG CÔNG NGHỆ BLOCKCHAIN
4.1 LỢI ÍCH CỦA CÔNG NGHỆ BLOCKCHAIN
4.1.4 Không phụ thuộc vào sự tin tưởng
4.2 NHỮNG THÁCH THỨC VÀ RỦI RO KHI ÁP DỤNG BLOCKCHAIN 4.2.1 Lãng phí năng lượng
4.2.2 Tốc độ giao dịch phụ thuộc vào chi phí
4.2.3 Sự gia tăng kích thước sổ cái
4.2.4 Tình trạng đầu cơ, lạm phát
4.2.5 Hợp đồng thiếu tính linh hoạt
CHƯƠNG 5: CÁC ỨNG DỤNG ĐIỂN HÌNH CỦA BLOCKCHAIN
CHƯƠNG 6: XÂY DỰNG SÀN GIAO DỊCH MUA BÁN TRỰC TUYẾN TRÊN NỀN TẢNG BLOCKCHAIN
6.2.2 Các đối tượng trong ứng dụng
6.2.5 Các công nghệ được sử dụng
6.2.6 Ưu điểm và hạn chế
STT Thời gian Công việc Ghi chú
- Tìm hiểu IPFS và Ethereum
- Tìm hiểu sơ lược các API và các thư viện hộ trợ việc xây dựng ứng dụng phi tập trung
- Xây dựng Proxy IPFS Server, blockchain dùng để lưu trữ file và dữ liệu cho ứng dụng
- Thiết kế cơ sở dữ liệu để xây dựng Discovery server
3 08/04/2019 – 21/04/2019 - Xây dựng hợp đồng thông minh trên nền tảng Smartcontract của Ethereum
- Xây dựng Discovery server để lắng nghe sự kiện trên blockchain và lưu vào database
- Tích hợp Elasticsearch hỗ trợ tìm kiếm trong ứng dụng
- Xây dựng webservice để ứng dụng có thể lấy dữ liệu từ Discovery server
- Khởi tạo Dapp và tích hợp các thư viện giúp giao tiếp với mạng Blockchain
- Xây dựng chức năng đăng bán sản phẩm, quản lý các sản phẩm
- Xây dựng chức năng hiển thị, tìm kiếm sản phẩm
- Xây dựng chức năng mua sản phẩm
- Xây dựng quy trình giao dịch giữa người bán và người mua
- Hoàn thiện báo cáo, chuẩn bị bài thuyết trình
- Deploy smartcontract lên testnet Ý kiến của giáo viên hướng dẫn
Hồ Chí Minh, ngày 18 tháng 02 năm 2019
Tôi xin chân thành cảm ơn những người đã hỗ trợ tôi trong quá trình hoàn thành luận văn tốt nghiệp, đặc biệt là trong việc nghiên cứu và tìm hiểu công nghệ Blockchain Sự giúp đỡ của các bạn đã góp phần quan trọng vào thành công của tôi.
Giảng viên TS Nguyễn Thiên Bảo đã hỗ trợ tôi trong việc chọn đề tài và định hướng nghiên cứu, đồng thời hướng dẫn và chỉ bảo tận tình trong suốt quá trình thực hiện tiểu luận chuyên ngành và luận văn tốt nghiệp.
Các thầy cô giáo khoa Công Nghệ Thông Tin tại Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã hỗ trợ và tư vấn tận tình cho tôi trong việc thực hiện đề tài này Nhờ vào sự dạy dỗ và truyền đạt kiến thức của các thầy cô, tôi đã xây dựng được một nền tảng kiến thức vững chắc trong suốt những năm học tập tại trường.
Ban giám hiệu trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh đã đầu tư vào cơ sở vật chất hiện đại, đáp ứng nhu cầu của sinh viên và giảng viên với các phòng học sạch đẹp, trang bị máy chiếu, wifi và máy lạnh Đặc biệt, thư viện chất lượng cao đã tạo ra không gian lý tưởng cho việc học tập và tìm kiếm thông tin.
Tôi xin chân thành cảm ơn các bạn sinh viên trong khoa và lớp đã luôn ủng hộ, giúp đỡ tôi trong quá trình học tập và nghiên cứu Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc đến bạn Nguyễn Văn Rum, người đã đồng hành cùng tôi trong nghiên cứu đề tài này.
Với kinh nghiệm còn hạn chế, tôi nhận thức được rằng sẽ không tránh khỏi những thiếu sót trong quá trình nghiên cứu Do đó, tôi rất mong nhận được ý kiến đóng góp từ các thầy cô để đề tài có thể được hoàn thiện hơn.
Tp Hồ Chí Minh, ngày … tháng … năm ……
1.2 TÍNH CẦN THIẾT CỦA ĐỀ TÀI 2
1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU 3
1.4 NHỮNG CÔNG TRÌNH LIÊN QUAN 3
1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC 3
CHƯƠNG 2: TỔNG QUAN VỀ BLOCKCHAIN 4
2.2 MỘT SỐ TRÍCH DẪN ĐÁNG CHÚ Ý 4
2.3 LỊCH SỬ RA ĐỜI CỦA BLOCKCHAIN 5
2.4 CÁC KHÁI NIỆM CƠ BẢN 5
2.4.11 Phân biệt giữa Blockchain và Bitcoin 10
2.4.13 Điểm khác biệt cơ bản giữa Bitcoin và Ethereum 11
2.5 CÁC KỸ THUẬT TRONG BLOCKCHAIN 12
2.5.1 Các nhân tố cốt lõi của Blockchain 12
2.5.2 Mật mã hóa khóa công khai 12
2.5.4 Cơ chế đồng thuận phi tập trung 13
2.6 CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN 17
2.6.1 Giao dịch được sinh ra 17
2.6.2 Giao dịch được phát đến một mạng ngang hàng 18
2.6.3 Cuộc đua tạo các khối mới 18
2.6.4 Hoàn thành một khối mới 19
2.6.5 Thêm một khối mới vào chuỗi 19
CHƯƠNG 3: TỔNG QUAN VỀ ETHEREUM 22
3.2 SỰ SỤP ĐỔ CỦA DỰ ÁN DAO 23
3.3 CÁC KHÁI NIỆM CƠ BẢN 24
3.3.6 Ứng dụng phi tập trung 27
3.4 NGÔN NGỮ LẬP TRÌNH HỢP ĐỒNG THÔNG MINH – SOLIDITY 28
3.4.1 Sơ lược các ngôn ngữ lập trình hợp đồng thông minh 28
3.4.4 Các kiểu dữ liệu cơ bản 30
3.4.8 Tính thừa kế trong Solidity 34
3.4.9 Lưu trữ dữ liệu trên Blockchain 34
CHƯƠNG 4: LỢI ÍCH VÀ THÁCH THỨC TRONG ỨNG DỤNG CÔNG NGHỆ
4.1 LỢI ÍCH CỦA CÔNG NGHỆ BLOCKCHAIN 35
4.1.4 Không phụ thuộc vào sự tin tưởng 35
4.2 NHỮNG THÁCH THỨC VÀ RỦI RO KHI ÁP DỤNG BLOCKCHAIN 36
4.2.2 Tốc độ giao dịch phụ thuộc vào chi phí 37
4.2.3 Sự gia tăng kích thước sổ cái 37
4.2.4 Tình trạng đầu cơ, lạm phát 38
4.2.5 Hợp đồng thiếu tính linh hoạt 38
CHƯƠNG 5: CÁC ỨNG DỤNG ĐIỂN HÌNH CỦA BLOCKCHAIN 41
CHƯƠNG 6: XÂY DỰNG SÀN GIAO DỊCH MUA BÁN TRỰC TUYẾN TRÊN NỀN TẢNG
6.2.2 Các đối tượng trong ứng dụng 45
6.2.5 Các công nghệ được sử dụng 46
6.2.6 Ưu điểm và hạn chế 48
Hình 2.1 Mỗi khối trong Blockchain đều chứa địa chỉ của khối trước đó 4
Hình 2.2 Cấu trúc dữ liệu Blockchain 8
Hình 2.3 Một số thuật toán đồng thuận đang được áp dụng 8
Hình 2.4 Các máy đào sẽ nhận được phần thưởng của block do mình khai thác 9
Hình 2.5 Cấu trúc của block gốc trong Bitcoin 14
Hình 2.6 Sự hình thành chuỗi hash của khối mới 14
Hình 2.7 Bằng chứng xử lý 16
Hình 2.8 Bằng chứng cổ phần 17
Hình 2.9 Giao dịch được sinh ra 18
Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng 18
Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain 19
Hình 2.12 Một máy trong mạng đã khai thác được khối mới 19
Hình 2.13 Mội khối mới được thêm vào Blockchain 20
Hình 2.14 Ba loại Blockchain phổ biến 21
Hình 3.16 Hợp đồng thông minh có thể tự động thực thi lệnh chuyển tiền 24
Hình 3.17 Mô hình ứng dụng truyền thống và ứng dụng phi tập trung 27
Hình 3.18 Hợp đồng thông minh được viết bằng ngôn ngữ Solidity 29
Hình 4.19 Tam giác DCS (Decentralised, Consistent, Scalable) 37
Hình 5.20 Một số tiền ảo mã hóa hiện trên thị trường 41
Hình 5.21 Fruitchain là dự án đã áp dụng thành công Blockchain vào chuỗi cung ứng 42
Hình 5.22 Một số nhà cung cấp dịch vụ lưu trữ dựa trên nền tảng Blockchain 42
Hình 5.23 Ứng dụng Blockchain vào xe tự hành 43
Hình 6.24 Kiến trúc tổng quan của ứng dụng 44
Hình 6.25 Lược đồ chức năng của ứng dụng 46
Bảng 3.1 liệt kê các hoạt động và chi phí liên quan trong Ethereum Virtual Machine, trong khi Bảng 6.2 mô tả các đối tượng có trong ứng dụng Ngoài ra, Bảng 6.3 trình bày các chức năng chính của ứng dụng, cung cấp cái nhìn tổng quan về cấu trúc và hoạt động của nó.
Trong quá khứ, các tài sản giá trị và giao dịch đều được ghi chép và lưu trữ bởi bên thứ ba như ngân hàng, chính phủ và các công ty, tạo nên một hệ thống tin cậy Người dân tin tưởng rằng ngân hàng sẽ bảo vệ tài sản của họ nhờ vào sự quản lý của chính phủ, và nếu ngân hàng gặp khó khăn, chính phủ sẽ đảm bảo an toàn cho khoản ký gửi Họ giao phó thông tin tài chính và dữ liệu cá nhân cho các tổ chức này, với niềm tin rằng ngân hàng sẽ bảo mật thông tin thẻ tín dụng và lưu trữ chính xác hồ sơ tài khoản cùng giao dịch Đồng thời, ngân hàng cũng tin tưởng vào việc chính phủ quản lý dữ liệu và hồ sơ tiền giấy đã phát hành.
Một vấn đề phổ biến trong các giao dịch hàng ngày là sự phụ thuộc vào các tổ chức và dữ liệu trung tâm để quản lý hồ sơ cá nhân một cách chính xác Tuy nhiên, có một vấn đề ngầm hiểu rằng chúng ta thường thiếu niềm tin lẫn nhau.
Vậy chuyện gì sẽ xảy ra khi thiếu tổ chức đáng tin cậy trong giao dịch?
Hãy tưởng tượng chúng ta sở hữu một cửa hàng và một khách lạ đưa cho chúng ta một mẩu giấy ghi "Tôi nợ anh 100.000đ" kèm chữ ký của họ Khách hàng cho biết rằng với mẩu giấy này, chúng ta có thể mua bất kỳ sản phẩm nào trị giá 100.000 đồng tại bất kỳ cửa hàng nào khác.
Liệu chúng ta có thể tin tưởng anh ta không?
Tiền giấy không có giá trị thực tế, nhưng chúng ta vẫn sử dụng nó hàng ngày như một phương tiện trao đổi Mỗi tờ tiền đều mang một con số và sự xác nhận từ chính phủ, tạo ra niềm tin giữa người tiêu dùng và các cửa hàng Niềm tin này tiếp tục được duy trì khi mỗi bên đều tin rằng giá trị của tiền giấy sẽ được chấp nhận trong các giao dịch tiếp theo.
Vậy vấn đề ở đây là gì?
Trong nhiều lĩnh vực, việc có một đơn vị uy tín làm trung gian cho các giao dịch là rất quan trọng Tuy nhiên, người dân ở các quốc gia kém phát triển thường gặp khó khăn trong việc tìm kiếm những đơn vị này.
Trong bối cảnh thiếu ổn định và lòng tin vào các công ty cũng như chính phủ, việc xây dựng một cơ sở dữ liệu phân tán trên nền tảng Blockchain trở nên cần thiết Công nghệ này loại bỏ sự phụ thuộc vào các cơ sở dữ liệu tập trung và các tổ chức trung gian Mọi cá nhân có thể quan sát và xác minh giao dịch trên Blockchain, từ đó đảm bảo tính minh bạch và độ tin cậy.
Niềm tin là cốt lõi của Blockchain, tạo nên hệ thống tín nhiệm giữa các cá nhân mà không cần tổ chức trung gian liên quan đến giao dịch
1.2 TÍNH CẦN THIẾT CỦA ĐỀ TÀI
Blockchain là một công nghệ đang thu hút sự chú ý mạnh mẽ trong những năm gần đây, với tiềm năng cách mạng hóa nhiều lĩnh vực trong cuộc sống Hệ thống này cho phép truyền tải dữ liệu một cách an toàn thông qua mã hóa phức tạp và có khả năng mở rộng theo thời gian Tất cả các thay đổi liên quan đến dữ liệu lớn đều được thực hiện một cách minh bạch và rõ ràng, mang lại sự tin cậy cho người dùng.
Một vấn đề lớn trong thế giới hiện nay là niềm tin, khi mọi giao dịch và sửa đổi dữ liệu đều phụ thuộc vào bên thứ ba như ngân hàng hay chính phủ Điều này có thể dẫn đến việc dữ liệu giao dịch bị thay đổi sai lệch Tuy nhiên, vấn đề này đã được giải quyết triệt để nhờ vào bản chất của công nghệ Blockchain.
CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN
2.6.1 Giao dịch được sinh ra
Trong Bitcoin, giao dịch chỉ đơn thuần là việc chuyển tiền điện tử từ người này (Alice) sang người khác (Bob) Ngược lại, Ethereum hỗ trợ nhiều loại giao dịch nhờ vào ngôn ngữ lập trình có sẵn, cho phép tự động hóa các giao dịch Alice có thể gửi tiền điện tử cho Bob, hoặc một người khác có thể tạo giao dịch bằng cách lập trình một hợp đồng thông minh trên Blockchain Hợp đồng này cho phép Alice và Bob gửi tiền vào tài khoản mà chương trình kiểm soát, kích hoạt khi các điều kiện được mã hóa trong hợp đồng được đáp ứng Ngoài ra, hợp đồng thông minh cũng có khả năng gửi các giao dịch đến Blockchain mà nó được tích hợp.
Hình 2.9 Giao dịch được sinh ra
2.6.2 Giao dịch được phát đến một mạng ngang hàng
Khi Alice muốn gửi tiền cho Bob, cô tạo một giao dịch trên máy tính, tham chiếu đến giao dịch trước đó trên Blockchain mà cô đã nhận đủ tiền Giao dịch này bao gồm khóa riêng của Alice và địa chỉ của Bob, sau đó được gửi đến các nút trong mạng Các nút này sẽ xác thực giao dịch nếu nó tuân thủ các quy tắc mạng, và các nút khai thác sẽ chấp nhận giao dịch, đưa nó vào một khối mới.
Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng
2.6.3 Cuộc đua tạo các khối mới
Các thợ mỏ, một tập con của các nút trong hệ thống Blockchain, tổ chức các giao dịch hợp lệ thành các khối Mỗi khối được xây dựng sẽ chứa danh sách các giao dịch gần đây và tham chiếu đến khối trước đó Trong các hệ thống như Bitcoin và Ethereum, thợ mỏ cạnh tranh để hoàn thành các khối mới thông qua việc giải quyết một câu đố toán học phức tạp, đây là yêu cầu duy nhất cho mỗi khối mới.
Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain
Người khai thác đầu tiên giải quyết câu đố sẽ nhận được phần thưởng bằng tiền ảo Các câu đố này liên quan đến việc phán đoán ngẫu nhiên tại một số nonce, và những nonce này được kết hợp với dữ liệu khác trong khối để tạo ra một dấu vân tay kỹ thuật số mã hóa, gọi là hash.
2.6.4 Hoàn thành một khối mới
Để tạo ra một hash hợp lệ, thợ mỏ phải thử nghiệm với nhiều nonce ngẫu nhiên, điều này đòi hỏi nhiều công sức Quá trình này giúp bảo vệ sổ cái khỏi sự can thiệp của tin tặc, vì việc sửa đổi thông tin trở nên rất khó khăn Mặc dù có nhiều phương pháp bảo vệ khác trên các Blockchain, nhưng phương pháp Proof of Work vẫn được sử dụng phổ biến.
Hình 2.12 Một máy trong mạng đã khai thác được khối mới
2.6.5 Thêm một khối mới vào chuỗi Đây là bước cuối cùng trong việc bảo vệ sổ cái Khi một nút khai thác trở thành nút đầu tiên giải quyết mảnh ghép của khối mới, nó sẽ gửi khối tới phần còn lại của mạng để phê duyệt, thu thập các token để nhận phần thưởng
Hình 2.13 minh họa một khối mới được thêm vào Blockchain, với độ khó được mã hóa trong giao thức của nó Cả Bitcoin và Ethereum đều được thiết kế nhằm tăng độ khó, đảm bảo thời gian sinh khối mới không bị thay đổi khi số lượng máy tham gia giải mã gia tăng.
Mỗi khối trong chuỗi đều chứa tham chiếu đến khối trước đó, tạo nên mối liên kết chặt chẽ bằng toán học Việc giả mạo một khối trước đó sẽ đòi hỏi phải thực hiện lại Proof of Work cho tất cả các khối tiếp theo trong chuỗi.
TỔNG QUAN VỀ ETHEREUM
CÁC KHÁI NIỆM CƠ BẢN
3.3.6 Ứng dụng phi tập trung
NGÔN NGỮ LẬP TRÌNH HỢP ĐỒNG THÔNG MINH – SOLIDITY
3.4.4 Các kiểu dữ liệu cơ bản
3.4.8 Tính thừa kế trong Solidity
3.4.9 Lưu trữ dữ liệu trên Blockchain
LỢI ÍCH VÀ THÁCH THỨC TRONG ỨNG DỤNG CÔNG NGHỆ
LỢI ÍCH CỦA CÔNG NGHỆ BLOCKCHAIN
4.1.4 Không phụ thuộc vào sự tin tưởng
NHỮNG THÁCH THỨC VÀ RỦI RO KHI ÁP DỤNG BLOCKCHAIN
4.2.2 Tốc độ giao dịch phụ thuộc vào chi phí
4.2.3 Sự gia tăng kích thước sổ cái
4.2.4 Tình trạng đầu cơ, lạm phát
4.2.5 Hợp đồng thiếu tính linh hoạt
XÂY DỰNG SÀN GIAO DỊCH MUA BÁN TRỰC TUYẾN TRÊN NỀN TẢNG
ĐẶC TẢ ỨNG DỤNG
6.2.2 Các đối tượng trong ứng dụng
6.2.5 Các công nghệ được sử dụng
6.2.6 Ưu điểm và hạn chế
STT Thời gian Công việc Ghi chú
- Tìm hiểu IPFS và Ethereum
- Tìm hiểu sơ lược các API và các thư viện hộ trợ việc xây dựng ứng dụng phi tập trung
- Xây dựng Proxy IPFS Server, blockchain dùng để lưu trữ file và dữ liệu cho ứng dụng
- Thiết kế cơ sở dữ liệu để xây dựng Discovery server
3 08/04/2019 – 21/04/2019 - Xây dựng hợp đồng thông minh trên nền tảng Smartcontract của Ethereum
- Xây dựng Discovery server để lắng nghe sự kiện trên blockchain và lưu vào database
- Tích hợp Elasticsearch hỗ trợ tìm kiếm trong ứng dụng
- Xây dựng webservice để ứng dụng có thể lấy dữ liệu từ Discovery server
- Khởi tạo Dapp và tích hợp các thư viện giúp giao tiếp với mạng Blockchain
- Xây dựng chức năng đăng bán sản phẩm, quản lý các sản phẩm
- Xây dựng chức năng hiển thị, tìm kiếm sản phẩm
- Xây dựng chức năng mua sản phẩm
- Xây dựng quy trình giao dịch giữa người bán và người mua
- Hoàn thiện báo cáo, chuẩn bị bài thuyết trình
- Deploy smartcontract lên testnet Ý kiến của giáo viên hướng dẫn
Hồ Chí Minh, ngày 18 tháng 02 năm 2019
Tôi xin gửi lời cảm ơn chân thành đến tất cả những người đã hỗ trợ tôi trong quá trình hoàn thành luận văn tốt nghiệp, đặc biệt là trong việc tìm hiểu và nghiên cứu công nghệ Blockchain Sự giúp đỡ và động viên của mọi người đã góp phần quan trọng vào thành công của tôi.
Giảng viên TS Nguyễn Thiên Bảo đã hỗ trợ tôi trong việc chọn đề tài và định hình hướng nghiên cứu, đồng thời tận tình hướng dẫn và chỉ bảo tôi trong suốt quá trình thực hiện tiểu luận chuyên ngành và luận văn tốt nghiệp.
Tôi xin gửi lời cảm ơn chân thành đến quý thầy cô giáo khoa Công Nghệ Thông Tin - Trường Đại Học Sư phạm Kỹ thuật thành phố Hồ Chí Minh, những người đã tạo điều kiện thuận lợi và tư vấn kiến thức cho tôi trong quá trình thực hiện đề tài này Nhờ sự dạy bảo và truyền đạt tận tình của các thầy cô, tôi đã tích lũy được một nền tảng kiến thức vững chắc sau nhiều năm học tập tại trường.
Ban giám hiệu trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh đã đầu tư cơ sở vật chất hiện đại, đáp ứng nhu cầu của sinh viên và giảng viên Trường cung cấp phòng học sạch đẹp, trang bị máy chiếu, wifi, máy lạnh, cùng với thư viện chất lượng cao, tạo điều kiện thuận lợi cho việc học tập và nghiên cứu thông tin.
Tôi xin chân thành cảm ơn các bạn sinh viên trong cùng khoa và lớp đã ủng hộ, giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu Đặc biệt, tôi muốn gửi lời cảm ơn đến bạn Nguyễn Văn Rum, người đã đồng hành cùng tôi trong nghiên cứu đề tài này.
Với kinh nghiệm còn hạn chế, tôi nhận thức rằng không thể tránh khỏi những thiếu sót trong quá trình nghiên cứu Do đó, tôi rất mong nhận được ý kiến đóng góp từ các thầy cô để đề tài có thể hoàn thiện hơn.
Tp Hồ Chí Minh, ngày … tháng … năm ……
1.2 TÍNH CẦN THIẾT CỦA ĐỀ TÀI 2
1.3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU 3
1.4 NHỮNG CÔNG TRÌNH LIÊN QUAN 3
1.5 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC 3
CHƯƠNG 2: TỔNG QUAN VỀ BLOCKCHAIN 4
2.2 MỘT SỐ TRÍCH DẪN ĐÁNG CHÚ Ý 4
2.3 LỊCH SỬ RA ĐỜI CỦA BLOCKCHAIN 5
2.4 CÁC KHÁI NIỆM CƠ BẢN 5
2.4.11 Phân biệt giữa Blockchain và Bitcoin 10
2.4.13 Điểm khác biệt cơ bản giữa Bitcoin và Ethereum 11
2.5 CÁC KỸ THUẬT TRONG BLOCKCHAIN 12
2.5.1 Các nhân tố cốt lõi của Blockchain 12
2.5.2 Mật mã hóa khóa công khai 12
2.5.4 Cơ chế đồng thuận phi tập trung 13
2.6 CÁCH HOẠT ĐỘNG CỦA BLOCKCHAIN 17
2.6.1 Giao dịch được sinh ra 17
2.6.2 Giao dịch được phát đến một mạng ngang hàng 18
2.6.3 Cuộc đua tạo các khối mới 18
2.6.4 Hoàn thành một khối mới 19
2.6.5 Thêm một khối mới vào chuỗi 19
CHƯƠNG 3: TỔNG QUAN VỀ ETHEREUM 22
3.2 SỰ SỤP ĐỔ CỦA DỰ ÁN DAO 23
3.3 CÁC KHÁI NIỆM CƠ BẢN 24
3.3.6 Ứng dụng phi tập trung 27
3.4 NGÔN NGỮ LẬP TRÌNH HỢP ĐỒNG THÔNG MINH – SOLIDITY 28
3.4.1 Sơ lược các ngôn ngữ lập trình hợp đồng thông minh 28
3.4.4 Các kiểu dữ liệu cơ bản 30
3.4.8 Tính thừa kế trong Solidity 34
3.4.9 Lưu trữ dữ liệu trên Blockchain 34
CHƯƠNG 4: LỢI ÍCH VÀ THÁCH THỨC TRONG ỨNG DỤNG CÔNG NGHỆ
4.1 LỢI ÍCH CỦA CÔNG NGHỆ BLOCKCHAIN 35
4.1.4 Không phụ thuộc vào sự tin tưởng 35
4.2 NHỮNG THÁCH THỨC VÀ RỦI RO KHI ÁP DỤNG BLOCKCHAIN 36
4.2.2 Tốc độ giao dịch phụ thuộc vào chi phí 37
4.2.3 Sự gia tăng kích thước sổ cái 37
4.2.4 Tình trạng đầu cơ, lạm phát 38
4.2.5 Hợp đồng thiếu tính linh hoạt 38
CHƯƠNG 5: CÁC ỨNG DỤNG ĐIỂN HÌNH CỦA BLOCKCHAIN 41
CHƯƠNG 6: XÂY DỰNG SÀN GIAO DỊCH MUA BÁN TRỰC TUYẾN TRÊN NỀN TẢNG
6.2.2 Các đối tượng trong ứng dụng 45
6.2.5 Các công nghệ được sử dụng 46
6.2.6 Ưu điểm và hạn chế 48
Hình 2.1 Mỗi khối trong Blockchain đều chứa địa chỉ của khối trước đó 4
Hình 2.2 Cấu trúc dữ liệu Blockchain 8
Hình 2.3 Một số thuật toán đồng thuận đang được áp dụng 8
Hình 2.4 Các máy đào sẽ nhận được phần thưởng của block do mình khai thác 9
Hình 2.5 Cấu trúc của block gốc trong Bitcoin 14
Hình 2.6 Sự hình thành chuỗi hash của khối mới 14
Hình 2.7 Bằng chứng xử lý 16
Hình 2.8 Bằng chứng cổ phần 17
Hình 2.9 Giao dịch được sinh ra 18
Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng 18
Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain 19
Hình 2.12 Một máy trong mạng đã khai thác được khối mới 19
Hình 2.13 Mội khối mới được thêm vào Blockchain 20
Hình 2.14 Ba loại Blockchain phổ biến 21
Hình 3.16 Hợp đồng thông minh có thể tự động thực thi lệnh chuyển tiền 24
Hình 3.17 Mô hình ứng dụng truyền thống và ứng dụng phi tập trung 27
Hình 3.18 Hợp đồng thông minh được viết bằng ngôn ngữ Solidity 29
Hình 4.19 Tam giác DCS (Decentralised, Consistent, Scalable) 37
Hình 5.20 Một số tiền ảo mã hóa hiện trên thị trường 41
Hình 5.21 Fruitchain là dự án đã áp dụng thành công Blockchain vào chuỗi cung ứng 42
Hình 5.22 Một số nhà cung cấp dịch vụ lưu trữ dựa trên nền tảng Blockchain 42
Hình 5.23 Ứng dụng Blockchain vào xe tự hành 43
Hình 6.24 Kiến trúc tổng quan của ứng dụng 44
Hình 6.25 Lược đồ chức năng của ứng dụng 46
Bảng 3.1 liệt kê các hoạt động và chi phí liên quan trong Ethereum Virtual Machine, cung cấp cái nhìn tổng quan về hiệu suất và chi phí Bảng 6.2 mô tả các đối tượng trong ứng dụng, giúp người đọc hiểu rõ hơn về cấu trúc của hệ thống Cuối cùng, Bảng 6.3 nêu rõ các chức năng chính của ứng dụng, làm nổi bật những tính năng quan trọng mà người dùng có thể khai thác.
Trong quá khứ, tài sản và giao dịch giá trị được ghi chép và lưu trữ bởi bên thứ ba như ngân hàng và chính phủ, với niềm tin rằng các tổ chức này sẽ bảo vệ thông tin và tiền bạc của họ Người dân tin tưởng rằng ngân hàng sẽ không đánh cắp tiền của họ và sẽ đảm bảo an toàn cho khoản ký gửi, ngay cả khi ngân hàng gặp khó khăn Họ cũng kỳ vọng rằng ngân hàng sẽ bảo vệ thông tin thẻ tín dụng và lưu trữ chính xác dữ liệu về tài khoản và giao dịch Đồng thời, ngân hàng tin rằng chính phủ sẽ quản lý và lưu trữ dữ liệu về tiền giấy phát hành.
Một vấn đề phổ biến trong các giao dịch hàng ngày là sự phụ thuộc vào các tổ chức và dữ liệu trung tâm mà họ quản lý để bảo đảm tính chính xác của hồ sơ cá nhân Đồng thời, một thực tế ngầm hiểu là sự thiếu niềm tin lẫn nhau giữa mọi người.
Vậy chuyện gì sẽ xảy ra khi thiếu tổ chức đáng tin cậy trong giao dịch?
Hãy tưởng tượng bạn sở hữu một cửa hàng và nhận được một mẩu giấy từ một khách lạ với nội dung "Tôi nợ anh 100.000đ" cùng chữ ký của họ Khách hàng cho biết rằng bạn có thể sử dụng mẩu giấy này để mua bất kỳ sản phẩm nào có giá trị 100.000 đồng tại bất kỳ cửa hàng nào khác.
Liệu chúng ta có thể tin tưởng anh ta không?
Câu trả lời cho câu hỏi về giá trị của tiền giấy là không, nhưng chúng ta vẫn sử dụng nó hàng ngày Tiền giấy, với giá trị ghi trên đó như "100.000đ", được chấp nhận và tin tưởng bởi mọi người Các cửa hàng tin rằng khách hàng sẽ chấp nhận tiền giấy, và điều này tạo ra một chuỗi niềm tin liên tục trong xã hội.
Vậy vấn đề ở đây là gì?
Trong nhiều lĩnh vực, việc có một đơn vị uy tín làm trung gian cho các giao dịch là rất cần thiết Tuy nhiên, những người sống ở các quốc gia kém phát triển thường gặp khó khăn trong việc tìm kiếm những đơn vị này.
Trong bối cảnh thiếu ổn định và lòng tin vào các công ty cũng như chính phủ, người dân cần một giải pháp đáng tin cậy như cơ sở dữ liệu phân tán được xây dựng trên công nghệ Blockchain Giải pháp này không chỉ loại bỏ sự phụ thuộc vào các cơ sở dữ liệu tập trung và tổ chức trung gian mà còn cho phép mọi cá nhân theo dõi và xác minh các giao dịch, từ đó đảm bảo tính minh bạch và độ tin cậy.
Niềm tin là cốt lõi của Blockchain, tạo nên hệ thống tín nhiệm giữa các cá nhân mà không cần tổ chức trung gian liên quan đến giao dịch
1.2 TÍNH CẦN THIẾT CỦA ĐỀ TÀI
Blockchain là một công nghệ đột phá đang thu hút sự chú ý mạnh mẽ trong những năm gần đây, hứa hẹn mang lại cuộc cách mạng cho nhiều lĩnh vực trong cuộc sống Công nghệ này cho phép truyền tải dữ liệu một cách an toàn thông qua hệ thống mã hóa phức tạp, đồng thời đảm bảo tính minh bạch và rõ ràng cho tất cả người dùng.
Một trong những vấn đề lớn hiện nay là niềm tin trong các giao dịch, khi mọi hoạt động đều phải thông qua bên thứ ba như ngân hàng hay chính phủ, dẫn đến khả năng dữ liệu bị sai lệch Tuy nhiên, vấn đề này đã được giải quyết triệt để nhờ vào bản chất của công nghệ Blockchain.