1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain

71 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 6,01 MB

Cấu trúc

  • Page 1

Nội dung

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.

Ngày đăng: 28/11/2021, 16:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
4. Lisk, 2018. Blockchain Cryptography Explained. [Internet]. Trích dẫn ngày 9/10/2018. Lấy từ URL: https://lisk.io/academy/blockchain-basics Link
5. Ethereum Foundation, 2018. Solidity documentation. [Internet]. Trích dẫn ngày 25/9/2018. Lấy từ URL: https://solidity.readthedocs.io/en/v0.4.25 Link
6. Warren Fauvel, 2017. Blockchain Advantage and Disadvantages. [Internet]. Trích dẫn ngày 27/9/2018. Lấy từ URL: https://medium.com/nudjed/blockchain-advantage-and-disadvantages-e76dfde3bbc0 Link
7. Ethereum Foundation, 2016. Ethereum Javascript API. [Internet]. Trích dẫn ngày 1/10/2018. Lấy từ URL: https://web3js.readthedocs.io/en/1.0 Link
8. Consensys, 2018. Truffle Framework documentation. [Internet]. Trích dẫn ngày 7/10/2018. Lấy từ URL: https://truffleframework.com Link
9. The go-ethereum Authors, 2016. Go Ethereum. [Internet]. Trích dẫn ngày 8/10/2018. Lấy từ URL: https://geth.ethereum.org/ Link
10. Dr. Gavin Wood, 2018. Etherum: A secure decentralised generalized transaction ledger. [Internet]. Trích dẫn ngày 11/10/2018. Lấy từ URL:https://ethereum.github.io/yellowpaper/paper.pdf Link
1. Andreas M.Antonopoulos, 2017. Mastering Bitcoin: Programming the Open Blockchain. O'Reilly Media Khác
2. Mark Gates, 2017. BLOCKCHAIN: Ultimate guide to understanding blockchain, bitcoin, cryptocurrencies, smart contracts and the future of money. CreateSpace Independent Publishing Platform Khác
3. Melanie Swan, 2015. Blockchain: Blueprint for a New Economy. O'Reilly Media Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Mỗi khối trong Blockchain đều chứa địa chỉ của khối trước đó - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.1 Mỗi khối trong Blockchain đều chứa địa chỉ của khối trước đó (Trang 20)
Hình 2.3 Một số thuật toán đồng thuận đang được áp dụng - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.3 Một số thuật toán đồng thuận đang được áp dụng (Trang 24)
Hình 2.2 Cấu trúc dữ liệu Blockchain - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.2 Cấu trúc dữ liệu Blockchain (Trang 24)
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 - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
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 (Trang 25)
Hình 2.5 Cấu trúc của block gốc trong Bitcoin - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.5 Cấu trúc của block gốc trong Bitcoin (Trang 30)
Hình 2.6 Sự hình thành chuỗi hash của khối mới - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.6 Sự hình thành chuỗi hash của khối mới (Trang 30)
Ta cần tìm giá trị “nonce” phù hợp (như hình 2.6) để có giá trị băm thỏa mãn điều kiện  của  Blockchain  (có  4  số  0  ở  đầu  giá  trị  băm) - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
a cần tìm giá trị “nonce” phù hợp (như hình 2.6) để có giá trị băm thỏa mãn điều kiện của Blockchain (có 4 số 0 ở đầu giá trị băm) (Trang 31)
2.5.5. Bằng chứng xử lý - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
2.5.5. Bằng chứng xử lý (Trang 31)
Hình 2.7 Bằng chứng xử lý - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.7 Bằng chứng xử lý (Trang 32)
Hình 2.8 Bằng chứng cổ phần - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.8 Bằng chứng cổ phần (Trang 33)
Hình 2.9 Giao dịch được sinh ra - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.9 Giao dịch được sinh ra (Trang 34)
Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.10 Giao dịch được chuyển đến mạng ngang hàng (Trang 34)
Hình 2.12 Một máy trong mạng đã khai thác được khối mới - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.12 Một máy trong mạng đã khai thác được khối mới (Trang 35)
Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.11 Quá trình sinh khối mới trong mạng Blockchain (Trang 35)
Hình 2.13 Mội khối mới được thêm vào Blockchain - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 2.13 Mội khối mới được thêm vào Blockchain (Trang 36)
Hình 3.16 Hợp đồng thông minh có thể tự động thực thi lệnh chuyển tiền - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 3.16 Hợp đồng thông minh có thể tự động thực thi lệnh chuyển tiền (Trang 40)
Bảng 3.1 Danh sách các hoạt động và chi phí của nó trong Ethereum Virtual Machine - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Bảng 3.1 Danh sách các hoạt động và chi phí của nó trong Ethereum Virtual Machine (Trang 42)
3.3.5. Ví đa chữ ký - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
3.3.5. Ví đa chữ ký (Trang 42)
Hình 3.17 Mô hình ứng dụng truyền thống và ứng dụng phi tập trung - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 3.17 Mô hình ứng dụng truyền thống và ứng dụng phi tập trung (Trang 43)
Hình 3.18 Hợp đồng thông minh được viết bằng ngôn ngữ Solidity - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 3.18 Hợp đồng thông minh được viết bằng ngôn ngữ Solidity (Trang 45)
Hình 4.19 Tam giác DCS (Decentralised, Consistent, Scalable) - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 4.19 Tam giác DCS (Decentralised, Consistent, Scalable) (Trang 53)
CHƯƠNG 5: CÁC ỨNG DỤNG ĐIỂN HÌNH CỦA BLOCKCHAIN - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
5 CÁC ỨNG DỤNG ĐIỂN HÌNH CỦA BLOCKCHAIN (Trang 57)
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 - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
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 (Trang 58)
Hình 5.23 Ứng dụng Blockchain vào xe tự hành - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 5.23 Ứng dụng Blockchain vào xe tự hành (Trang 59)
Hình 6.24 Kiến trúc tổng quan của ứng dụng - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Hình 6.24 Kiến trúc tổng quan của ứng dụng (Trang 60)
Bảng 6.2 Các đối tượng trong ứng dụng - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Bảng 6.2 Các đối tượng trong ứng dụng (Trang 61)
6.2.2. Các đối tượng trong ứng dụng - 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 (Trang 61)
Bảng 6.3 Các chức năng chính của ứng dụng - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
Bảng 6.3 Các chức năng chính của ứng dụng (Trang 62)
19 ICO Initial Coin Offering, một hình thức kêu gọi vốn đầu tư ban đầu  - Xây dựng sàn giao dịch mua bán trực tuyến trên nền tảng blockchain
19 ICO Initial Coin Offering, một hình thức kêu gọi vốn đầu tư ban đầu (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w