Xây dựng ứng dụng Blockchain trên Ethereum Virtual Machine và Solidity

Chuyên khảo kỹ thuật phân tích Xây dựng ứng dụng mạng blockchain dựa trên ethereum virtual machine và solidity, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp

Trường đại học

Đại học Công Nghệ Thông Tin

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Đồ án

2022

80
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

NHẬN XÉT CỦA GIÁO VIÊN

LỜI CẢM ƠN

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

MỤC LỤC

GIỚI THIỆU CHUNG

1. GIỚI THIỆU CHUNG

1.1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU

1.2. LÝ DO LỰA CHỌN ĐỀ TÀI

1.3. MỤC TIÊU NGHIÊN CỨU

1.4. GIỚI THIỆU

1.5. TẠI SAO CẦN BLOCKCHAIN

1.6. DỮ LIỆU ĐỘNG, CẦN CẬP NHẬT LIÊN TỤC, CẦN LƯU TRỮ TẤT CẢ LỊCH SỬ TRƯỚC ĐÂY

1.7. THÔNG TIN, DỮ LIỆU CẦN BẢO MẬT CỰC CAO VÀ BẠN LO SỢ MÔ HÌNH MẠNG CÓ TRUNG GIAN THỨ BA KHÔNG THỂ ĐẢM BẢO AN TOÀN

1.8. LỊCH SỬ BLOCKCHAIN

1.9. KIẾN TRÚC BLOCKCHAIN

1.10. NGUYÊN LÝ HOẠT ĐỘNG CỦA BLOCKCHAIN

1.11. NGUYÊN LÝ MÃ HOÁ

1.12. Hệ sinh thái

1.13. Ứng dụng Blockchain trong đời sống

1.14. Giới thiệu chung

1.15. Ethereum và Bitcoin

1.16. Các khái niỆm trong Ethereum

1.17. Hợp đồng thông minh (Smart Contract)

1.18. Smart contract là gì?

1.19. Smart contract hoạt động như thế nào?

1.20. Lợi ích của smart contract

1.21. Ưu nhược điểm

1.22. Ứng dụng phi tập trung (Dapps)

1.23. Phân loại Dapps

1.24. Dapps hoạt động như thế nào?

64. LẬP TRÌNH SOLIDITY

64.1. Kiểu dữ liệu

64.2. Phương thức

64.3. Các công cụ mà Solidity cung cấp

64.4. Các trường hợp sử dụng Solidity

64.5. Ưu điểm và nhược điểm của Solidity

64.6. Ưu điểm của Solidity

64.7. Nhược điểm của Solidity

72. ỨNG DỤNG MINH HOẠ

72.1. Giới thiệu bài toán

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

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

75. KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN

75.1. Kết quả đạt được

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

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Blockchain Ethereum Solidity Cơ Hội Thách Thức

Blockchain đã mở ra kỷ nguyên mới cho việc trao đổi giá trị trên Internet. Ethereum, với ngôn ngữ lập trình Solidity, nổi lên như một nền tảng hàng đầu cho việc xây dựng các ứng dụng phi tập trung (DApps). Ban đầu, Blockchain được biết đến nhiều nhất với vai trò là nền tảng cho Cryptocurrency, đặc biệt là Bitcoin. Tuy nhiên, tiềm năng thực sự của nó vượt xa lĩnh vực tài chính. Các ứng dụng của Blockchain đang được khám phá rộng rãi trong các ngành công nghiệp khác nhau, từ chuỗi cung ứng đến dịch vụ công. Một trong những động lực chính của sự phát triển này là khả năng thực hiện thanh toán mà không cần trung gian tài chính, giảm chi phí và tăng tính minh bạch. Tuy nhiên, sự phát triển của Internet cũng đi kèm với những thách thức về an ninh mạng. Các cuộc tấn công mạng gây thiệt hại lớn cho nền kinh tế và xã hội. Do đó, nhu cầu về các công nghệ bảo mật mới, như Blockchain, ngày càng tăng cao. Blockchain được kỳ vọng sẽ không chỉ cắt giảm chi phí ngân hàng mà còn đảm bảo tính an toàn và bảo mật dữ liệu. Công nghệ này tạo ra một sổ cái bất biến (Immutable ledger) phân tán, nơi mọi giao dịch được ghi lại và xác minh bởi nhiều bên, giảm thiểu rủi ro gian lận và can thiệp. Sự ra đời của Smart contract trên nền tảng Ethereum đã mở ra khả năng tự động hóa các thỏa thuận và quy trình, tăng tính hiệu quả và giảm chi phí quản lý. Tuy nhiên, vẫn còn nhiều thách thức cần vượt qua, bao gồm khả năng mở rộng (Blockchain scalability), chi phí Gas fee và các vấn đề liên quan đến bảo mật.

1.1. Giới Thiệu Blockchain Nền Tảng Của Ethereum Solidity

Blockchain là một công nghệ lưu trữ và truyền tải thông tin bằng các khối (block) được liên kết với nhau theo thời gian, tạo thành chuỗi (Blockchain Technology). Mỗi block chứa thông tin về thời gian khởi tạo, các giao dịch và liên kết với khối trước thông qua hàm băm (Hash). Blockchain hoạt động như một sổ cái phi tập trung (Decentralization), với nhiều bản sao được phân tán trên mạng lưới. Khi một giao dịch được chấp nhận, nó sẽ được ghi lại vĩnh viễn và không thể thay đổi, đảm bảo tính minh bạch và an toàn. Dữ liệu được cập nhật thường xuyên và đồng bộ với tất cả người dùng, tạo ra một hệ thống phân tán được duy trì bởi nhiều người dùng trên toàn thế giới. Những người dùng này, còn gọi là node, tham gia vào quá trình xác minh và xác thực giao dịch theo các quy tắc của hệ thống. Quyền lực được phân tán, không tập trung vào một tổ chức duy nhất.

1.2. Tầm Quan Trọng Của Ethereum Solidity Trong Phát Triển DApp

Ethereum là một nền tảng Blockchain có thể lập trình, cho phép các nhà phát triển xây dựng các ứng dụng phi tập trung (DApp (Decentralized Application)). Solidity là ngôn ngữ lập trình chính được sử dụng để viết Smart contract trên Ethereum. Smart contract là các đoạn mã tự động thực thi các điều khoản của hợp đồng khi các điều kiện được đáp ứng. Ethereum Virtual Machine (EVM) là môi trường thực thi cho Smart contract trên mạng Ethereum. Nó đảm bảo rằng các hợp đồng được thực thi một cách nhất quán và an toàn trên tất cả các node trong mạng. Sự kết hợp giữa Ethereum và Solidity đã tạo ra một hệ sinh thái mạnh mẽ cho việc phát triển các ứng dụng phi tập trung trong nhiều lĩnh vực khác nhau, bao gồm tài chính phi tập trung (DeFi (Decentralized Finance)), token không thể thay thế (NFT (Non-Fungible Token)) và các tổ chức tự trị phi tập trung (DAO (Decentralized Autonomous Organization)).

II. Tại Sao Cần Blockchain Giải Quyết Vấn Đề Lưu Trữ An Toàn

Trong thế giới hiện đại, dữ liệu đóng vai trò quan trọng trong mọi hoạt động. Tuy nhiên, việc lưu trữ và bảo mật dữ liệu trở thành một thách thức lớn. Các hệ thống lưu trữ tập trung dễ bị tấn công và gian lận. Blockchain cung cấp một giải pháp thay thế an toàn và hiệu quả. Blockchain là một công nghệ lý tưởng cho việc lưu trữ dữ liệu động, cần cập nhật liên tục và lưu trữ lịch sử. Vì dữ liệu được ghi lại trên nhiều node trong mạng, không có một điểm thất bại duy nhất. Nếu một node bị tấn công, các node khác vẫn giữ bản sao của dữ liệu, đảm bảo tính toàn vẹn. Blockchain đặc biệt hữu ích trong các trường hợp cần bảo mật cực cao và mô hình mạng có trung gian thứ ba không thể đảm bảo an toàn. Với Blockchain, dữ liệu được mã hóa và xác minh bởi nhiều bên, giảm thiểu rủi ro can thiệp và gian lận. Private key được sử dụng để xác thực các giao dịch, loại bỏ sự cần thiết của hệ thống tập trung. Công nghệ này có tiềm năng cách mạng hóa các giải pháp bảo mật trong nhiều lĩnh vực khác nhau.

2.1. Lưu Trữ Dữ Liệu Lịch Sử Ưu Điểm Của Blockchain So Với Truyền Thống

Trong các hệ thống truyền thống, việc lưu trữ dữ liệu lịch sử thường gặp nhiều khó khăn. Các tài liệu giấy dễ bị giả mạo và có thời gian tồn tại nhất định. Việc nhập liệu thủ công tốn nhiều thời gian và nguồn lực. Blockchain cung cấp một giải pháp linh hoạt và hiệu quả hơn. Dữ liệu được ghi lại trên Blockchain không thể thay đổi, đảm bảo tính toàn vẹn của lịch sử giao dịch. Nhiều bên có thể cùng tham gia nhập liệu và bảo quản dữ liệu, giảm thiểu rủi ro mất mát và gian lận. Immutable ledger là một trong những tính năng quan trọng nhất của Blockchain, đảm bảo rằng mọi thay đổi đều được ghi lại và có thể kiểm tra được.

2.2. Bảo Mật Dữ Liệu Tuyệt Đối Blockchain Giải Quyết Bài Toán An Ninh Mạng

An ninh mạng là một vấn đề ngày càng nghiêm trọng trong thế giới kỹ thuật số. Các cuộc tấn công mạng gây thiệt hại lớn cho các tổ chức và cá nhân. Blockchain cung cấp một lớp bảo mật bổ sung cho dữ liệu. Dữ liệu được mã hóa và phân tán trên nhiều node, khiến việc tấn công và xâm nhập trở nên khó khăn hơn nhiều so với các hệ thống tập trung. Các giao dịch được xác minh bởi nhiều bên, giảm thiểu rủi ro gian lận và can thiệp. Công nghệ Blockchain có tiềm năng cách mạng hóa các giải pháp bảo mật trong nhiều lĩnh vực khác nhau, từ tài chính đến chăm sóc sức khỏe. Byzantine Fault Tolerance (BFT) là một trong những cơ chế đồng thuận giúp Blockchain chống lại các cuộc tấn công mạng.

III. Hướng Dẫn Phát Triển Smart Contract Với Ethereum Solidity

Phát triển Smart contract là một trong những ứng dụng quan trọng nhất của Ethereum. Smart contract là các chương trình tự động thực thi các điều khoản của hợp đồng khi các điều kiện được đáp ứng. Để phát triển Smart contract trên Ethereum, cần sử dụng ngôn ngữ lập trình Solidity. Solidity là một ngôn ngữ cấp cao, được thiết kế đặc biệt cho việc viết Smart contract trên Ethereum. Nó cung cấp các tính năng như kiểu dữ liệu, hàm, lớp và kế thừa, giúp các nhà phát triển xây dựng các hợp đồng phức tạp và mạnh mẽ. Quá trình phát triển Smart contract thường bao gồm các bước sau: viết mã Solidity, biên dịch mã, triển khai hợp đồng lên mạng Ethereum và kiểm tra hợp đồng. Có nhiều công cụ hỗ trợ phát triển Smart contract, bao gồm Remix IDE, Truffle, GanacheHardhat.

3.1. Các Bước Xây Dựng Smart Contract Từ Ý Tưởng Đến Triển Khai

Quá trình xây dựng Smart contract bao gồm nhiều bước, từ việc xác định yêu cầu đến triển khai hợp đồng trên mạng Ethereum. Đầu tiên, cần xác định rõ mục tiêu và chức năng của hợp đồng. Tiếp theo, cần thiết kế cấu trúc dữ liệu và các hàm của hợp đồng. Sau đó, mã Solidity được viết và biên dịch. Sau khi biên dịch, hợp đồng được triển khai lên mạng Ethereum bằng cách sử dụng các công cụ như Truffle hoặc Hardhat. Cuối cùng, hợp đồng được kiểm tra kỹ lưỡng để đảm bảo rằng nó hoạt động đúng như mong đợi và không có lỗ hổng bảo mật.

3.2. Công Cụ Hỗ Trợ Phát Triển Remix IDE Truffle Ganache Hardhat

Có nhiều công cụ hỗ trợ phát triển Smart contract trên Ethereum. Remix IDE là một môi trường phát triển tích hợp trực tuyến, cho phép các nhà phát triển viết, biên dịch và triển khai Smart contract trực tiếp trên trình duyệt. Truffle là một framework phát triển mạnh mẽ, cung cấp các công cụ để quản lý dự án, biên dịch mã, triển khai hợp đồng và chạy kiểm tra. Ganache là một Blockchain cá nhân, được sử dụng để kiểm tra Smart contract trước khi triển khai lên mạng chính thức. Hardhat là một framework phát triển hiện đại, cung cấp các tính năng nâng cao như gỡ lỗi và xác minh mã. Các công cụ này giúp các nhà phát triển tăng tốc quá trình phát triển và đảm bảo chất lượng của Smart contract.

IV. Ứng Dụng Thực Tế Của Blockchain DeFi NFT DAO Với Ethereum

Ethereum đã trở thành nền tảng hàng đầu cho các ứng dụng phi tập trung trong nhiều lĩnh vực khác nhau. DeFi (Decentralized Finance) là một lĩnh vực đang phát triển nhanh chóng, sử dụng Blockchain để xây dựng các dịch vụ tài chính phi tập trung như vay, cho vay, giao dịch và quản lý tài sản. NFT (Non-Fungible Token) là các token độc nhất, đại diện cho quyền sở hữu tài sản kỹ thuật số hoặc vật lý. Ethereum là nền tảng phổ biến nhất cho việc tạo và giao dịch NFT. DAO (Decentralized Autonomous Organization) là các tổ chức tự trị phi tập trung, được quản lý bởi các Smart contract trên Blockchain. Các DAO cho phép các thành viên tham gia vào quá trình quản lý và ra quyết định một cách minh bạch và dân chủ.

4.1. DeFi Cách Mạng Hóa Ngành Tài Chính Với Blockchain Ethereum

DeFi đang cách mạng hóa ngành tài chính bằng cách cung cấp các dịch vụ tài chính phi tập trung, minh bạch và dễ tiếp cận. Các ứng dụng DeFi như Aave, CompoundUniswap cho phép người dùng vay, cho vay, giao dịch và quản lý tài sản mà không cần trung gian tài chính truyền thống. DeFi sử dụng Smart contract để tự động hóa các quy trình và đảm bảo tính an toàn của các giao dịch. Ethereum là nền tảng chính cho các ứng dụng DeFi, nhờ vào tính linh hoạt và khả năng lập trình của nó.

4.2. NFT Token Độc Nhất Vô Nhị Tạo Nên Kỷ Nguyên Sở Hữu Kỹ Thuật Số

NFT đang tạo ra một kỷ nguyên mới về sở hữu kỹ thuật số. Các nghệ sĩ, nhạc sĩ và nhà sáng tạo có thể sử dụng NFT để bán tác phẩm của họ trực tiếp cho người hâm mộ, mà không cần trung gian. NFT cũng được sử dụng để đại diện cho quyền sở hữu các tài sản vật lý, như bất động sản và đồ sưu tầm. Ethereum là nền tảng phổ biến nhất cho việc tạo và giao dịch NFT, với các thị trường NFT như OpenSeaRarible cho phép người dùng mua, bán và trao đổi NFT một cách dễ dàng.

V. Bảo Mật Smart Contract Bí Quyết Chống Lại Lỗ Hổng Tấn Công

Bảo mật là một trong những yếu tố quan trọng nhất trong việc phát triển Smart contract. Các lỗ hổng bảo mật có thể dẫn đến mất mát tài sản và uy tín. Có nhiều loại tấn công Smart contract khác nhau, bao gồm tấn công tràn số, tấn công reentrancy và tấn công denial-of-service. Để bảo vệ Smart contract khỏi các cuộc tấn công, cần tuân thủ các nguyên tắc bảo mật và sử dụng các công cụ và kỹ thuật bảo mật. Security audit là một quá trình quan trọng để xác định và khắc phục các lỗ hổng bảo mật trong Smart contract. Có nhiều công ty chuyên về kiểm tra bảo mật Smart contract, như OpenZeppelinConsenSys Diligence.

5.1. Các Loại Tấn Công Smart Contract Tràn Số Reentrancy DoS

Có nhiều loại tấn công Smart contract khác nhau, mỗi loại nhắm vào một lỗ hổng cụ thể. Tấn công tràn số xảy ra khi một biến số vượt quá giới hạn tối đa hoặc tối thiểu của kiểu dữ liệu của nó. Tấn công reentrancy xảy ra khi một hợp đồng gọi lại chính nó trong quá trình thực thi. Tấn công denial-of-service (DoS) xảy ra khi một kẻ tấn công làm cho một hợp đồng không thể sử dụng được bằng cách làm quá tải nó với các yêu cầu.

5.2. Phương Pháp Phòng Ngừa Nguyên Tắc Công Cụ Bảo Mật Smart Contract

Để phòng ngừa các cuộc tấn công Smart contract, cần tuân thủ các nguyên tắc bảo mật như kiểm tra đầu vào, sử dụng các thư viện an toàn và hạn chế quyền truy cập. Các công cụ bảo mật như MythrilSlither có thể được sử dụng để phân tích mã Solidity và xác định các lỗ hổng bảo mật tiềm ẩn. Kiểm tra bảo mật thường xuyên là cần thiết để đảm bảo rằng Smart contract được bảo vệ khỏi các cuộc tấn công.

VI. Tương Lai Blockchain Ethereum Solidity Cơ Hội Phát Triển

Tương lai của Blockchain, Ethereum và Solidity rất hứa hẹn. Công nghệ Blockchain đang được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau, và Ethereum tiếp tục là nền tảng hàng đầu cho việc phát triển các ứng dụng phi tập trung. Solidity vẫn là ngôn ngữ lập trình chính cho Smart contract trên Ethereum, và các công cụ và kỹ thuật phát triển đang ngày càng được cải thiện. Tuy nhiên, vẫn còn nhiều thách thức cần vượt qua, bao gồm khả năng mở rộng, chi phí giao dịch và bảo mật. Các giải pháp mở rộng lớp 2 (Layer 2 scaling solutions), như Rollups, SidechainsState channels, đang được phát triển để tăng khả năng mở rộng của Ethereum. Nghiên cứu và phát triển liên tục là cần thiết để đảm bảo rằng Blockchain, Ethereum và Solidity tiếp tục phát triển và đáp ứng nhu cầu của thế giới kỹ thuật số.

6.1. Blockchain Scalability Giải Pháp Tăng Tốc Độ Giảm Chi Phí Giao Dịch

Khả năng mở rộng là một trong những thách thức lớn nhất đối với Blockchain và Ethereum. Các giải pháp mở rộng lớp 2 đang được phát triển để tăng tốc độ và giảm chi phí giao dịch. Rollups là một giải pháp mở rộng lớp 2, cho phép các giao dịch được xử lý ngoài chuỗi chính và sau đó được gộp lại thành một giao dịch duy nhất trên chuỗi chính. Sidechains là các Blockchain độc lập, được kết nối với chuỗi chính Ethereum thông qua cầu nối. State channels cho phép các bên thực hiện nhiều giao dịch ngoài chuỗi và chỉ ghi lại kết quả cuối cùng trên chuỗi chính.

6.2. Nghiên Cứu Phát Triển Hướng Đi Mới Cho Ethereum Solidity

Nghiên cứu và phát triển liên tục là cần thiết để đảm bảo rằng Ethereum và Solidity tiếp tục phát triển và đáp ứng nhu cầu của thế giới kỹ thuật số. Các nhà nghiên cứu đang khám phá các thuật toán đồng thuận mới, như Proof of Stake (PoS), để thay thế Proof of Work (PoW) và giảm tiêu thụ năng lượng. Các nhà phát triển đang cải thiện các công cụ và kỹ thuật phát triển Solidity để tăng hiệu quả và giảm rủi ro. Cộng đồng Ethereum đang tích cực tham gia vào quá trình phát triển và định hình tương lai của nền tảng.

22/09/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa trên Ethereum Virtual Machine và Solidity Môn học: Đồ án 1 Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Xây dựng ứng dụng mạng blockchain dựa trên Ethereum Virtual Machine và Solidity Môn học: Đồ án 1 Giảng viên hướng dẫn: ThS. Nguyễn Thị Thanh Trúc Sinh viên thực hiện: 19522183 – Trương Gia Thạch 19522339 – Nguyễn Tấn Tiến Thành phố Hồ Chí Minh, tháng 03 năm 2022 1 NHẬN XÉT CỦA GIÁO VIÊN …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………… 2 LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Thanh Trúc, giảng viên hướng dẫn môn đồ án 1, đã trang bị giúp em những kỹ năng cơ bản và kiến thức cần thiết để hoàn thành được đồ án này. Tuy nhiên, dù đã cố gắng rất nhiều để hoàn thành đồ án được kết quả tốt nhất thì trong quá trình làm đồ án do kiến thức chuyên ngành của em còn hạn chế, cũng như sự thiếu sót về kinh nghiệm, nên không thể tránh khỏi một vài thiếu sót khi trình bày và đánh giá vấn đề.

Rất mong nhận được sự góp ý, đánh giá của cô để đề tài của chúng em thêm hoàn thiện hơn. Chúng em xin chân thành cảm ơn! 3 DANH MỤC HÌNH ẢNH Hình 1 Blockchain. 13 Hình 2 Trong "Khối Nguyên Thủy", Satoshi Nakamoto để lại một thông điệp: "Tờ Times, ngày 03/01/2009, Thủ tướng đứng bên bờ vực phải viện trợ ngân hàng lần thứ hai"[21]. 16 Hình 3 Nội dung trong mỗi khối.

20 Hình 6 Digital Signature transaction encryption simplified [22]. 22 Hình 7 Merkle Tree ví dụ. 23 Hình 8 Xác minh giao dịch với Merkle Tree. 25 Hình 9 Phân loại blockchain.

29 Hình 10 Ứng dụng blockchain trong công nghiệp dịch vụ. 32 Hình 11 Transforming Food Supply chain with Blockchain and IoT - DreamzIoT. 36 Hình 13 Ethereum chain. 41 Hình 14 Tài khoản trên Ethereum.

48 Hình 15 Transaction trên Ethereum. 49 Hình 16 Node Ethereum. 52 Hình 17 Phí gas. 54 Hình 18 Ethereum virtual machine.

56 Hình 19 Geth (Go ethereum ) & Mist. 57 4 Hình 20 Smart contract. 59 Hình 21 Phân loại kiến trúc. 65 Hình 23 Kiểu dữ liệu trong solidity.

67 Hình 24 Kiến trúc hệ thống demo. 75 5 DANH MỤC BẢNG BIỂU Bảng 1 Ethereum và Bitcoin. 43 Bảng 2 Web2 và Web3. 45 6 MỤC LỤC Mục lục.

7 GIỚI THIỆU CHUNG. Tổng quan tình hình nghiên cứu. Lý do lựa chọn đề tài. Mục tiêu nghiên cứu.

Tại sao cần blockchain. Dữ liệu động, cần cập nhật liên tục, cần lưu trữ tất cả lịch sử trước đây. Thông tin, dữ liệu cần bảo mật cực cao và bạn lo sợ mô hình mạng có trung gian thứ ba không thể đảm bảo an toàn. Lịch sử Blockchain.

Kiến trúc blockchain. Nguyên lý hoạt động của Blockchain. Quy tắc của sổ cái. Nguyên lý tạo khối.

Thuật toán bảo mật Blockchain. Nhược điểm. Cơ chế đồng thuận. Hệ sinh thái.

Ứng dụng Blockchain trong đời sống. Ứng dụng trong ngành công nghiệp và dịch vụ. Ứng dụng trong ngành nông nghiệp, thủy hải sản. Ứng dụng Blockchain trong xây dựng.

Ứng dụng blockchain trong vận tải kho bãi. Ứng dụng trong hoạt động tài chính, ngân hàng và bảo hiểm. Ứng dụng blockchain trong khai khoáng. Giới thiệu chung.

Ethereum và Bitcoin. Các khái niỆm trong Ethereum. Hợp đồng thông minh (Smart Contract). Smart contract là gì?.

Smart contract hoạt động như thế nào?. Lợi ích của smart contract. Ưu nhược điểm. Ứng dụng phi tập trung (Dapps).

Phân loại Dapps. Dapps hoạt động như thế nào?. 64 LẬP TRÌNH SOLIDITY. Kiểu dữ liệu.

Phương thức. Các công cụ mà Solidity cung cấp. Các trường hợp sử dụng Solidity. Ưu điểm và nhược điểm của Solidity.

Ưu điểm của Solidity. Nhược điểm của Solidity. 72 ỨNG DỤNG MINH HOẠ. Giới thiệu bài toán.

Kiến trúc hệ thống. Công nghệ sử dụng. 75 KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN. Kết quả đạt được.

Hướng phát triển. 76 TÀI LIỆU THAM KHẢO. 77 9 10 GIỚI THIỆU CHUNG 1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU Sự xuất hiện của hệ thống web dùng trên Internet đã hiện thực hóa việc trao đổi thông tin trên toàn thế giới.

Trong khi đó, hệ thống blockchain lại giúp thực hiện các giao dịch trao đổi giá trị toàn cầu trên Internet. Bởi vậy, hai hệ thống này tuy song song tồn tại nhưng lại khác nhau về bản chất. Sau khi Satoshi Nakamoto công bố luận văn về đồng tiền ảo bitcoin vào năm 2009, nền tảng công nghệ của bitcoin – blockchain – đã trở thành tâm điểm chú ý. Với khởi đầu như vậy nên hiển nhiên giá trị tiền tệ của blockchain, tức là chức năng trao đổi và tích lũy giá trị, sẽ được chú ý nhiều nhất.

Nhưng từ khoảng năm 2012-2013, không chỉ tiền kỹ thuật số, công nghệ blockchain bắt đầu được kỳ vọng có thể mạng lại thay đổi lớn trong cách vận hành kinh doanh (không chỉ trong ngành tài chính) cũng như ứng dụng trong lĩnh vực hành chính công. Trong xu thế đó, các ứng dụng sử dụng công nghệ blockchain được phát triển ngày càng nhiều. Các ứng dụng này không được sử dụng trên hệ thống blockchain mà còn có khả năng tích hợp vào các ứng dụng hiện có trên web. Điều này có nghĩa là blockchain không chỉ đơn thuần là một công nghệ mới mà nó còn có thể bổ trợ hoặc thay thế các công nghệ hiện hữu.

Vì khả năng cho phép hoàn thành thanh toán mà không cần bất kỳ ngân hàng hay trung gian nào, Blockchain được dùng trong các dịch vụ tài chính khác nhau như tài sản kỹ thuật số, chuyển tiền hay thanh toán. Thêm vào đó, nó còn có thể áp dụng cho các lĩnh vực khác như hợp đồng thông minh, dịch vụ công cộng, Internet vạn vật, hệ thống danh tiếng và dịch vụ bảo mật [8]. Sự phát triển của Internet cũng đồng hành với những tổn thất sau các cuộc tấn công mạng, gây ảnh hưởng lớn đến nền kinh tế cũng như xã hội. Theo cuộc khảo sát của hãng phân tích Grant Thornton, khoản tiền mà doanh nghiệp mất vào tay tin tặc ở Châu Á-Thái Bình Dương lên tới 81,3 tỉ đô la trong vòng 12 tháng (tính đến cuối tháng 9/2015).

Mức tổn thất từ các đợt tấn công mạng ở châu Á nhiều hơn Bắc Mỹ tới 20 tỉ USD và EU với con số tương tự, và chiếm đến hơn 25% tổng mức tổn thất của thế giới (315 tỉ USD). Tại Việt Nam cũng xảy ra tình trạng mất an toàn với các tài khoản gửi ngân hàng, điển hình như vụ tấn 11 công vào Vietcombank. Tháng 2/2016, thông tin về việc Ngân hàng Trung ương Bangladesh bị tin tặc đánh cắp 101 triệu USD gây chấn động thế giới là một bài học cho bất cứ tổ chức nào. Sự cố xảy ra được cho là do Ngân hàng nước này sử dụng bộ định tuyến cũ giá 10 USD mà không có bất cứ một hệ thống tường lửa nào.

Số tiền tổn thất trong vụ này có thể lên đến hơn 1 tỷ USD nếu như tin tặc không viết sai lỗi chính tả. Từ những rủi ro từ an ninh mạng nên các tổ chức tài chính cần những công nghệ mới, ví dụ như nền tảng của đồng tiền số Bitcoin, chính là Blockchain, được kì vọng không chỉ nhằm cắt giảm chi phí ngân hàng mà còn đảm bảo tính an toàn và xa hơn nữa là cách mạng hóa các giải pháp bảo mật. LÝ DO LỰA CHỌN ĐỀ TÀI Khách quan: Trong những năm gần đây, công nghệ chuỗi khối (Blockchain) đang trở thành xu hướng “hot” trên toàn cầu và tại Việt Nam. Công nghệ này có tiềm năng ứng dụng to lớn trong các ngành từ dịch vụ tài chính, sản xuất và khu vực công cho đến chuỗi cung ứng, giáo dục và năng lượng[9].

Trong đó, Ethereum là nền tảng điện toán phân tán, mã nguồn mở dựa trên công nghệ chuỗi khối (Blockchain) là chuỗi khối có thể lập trình hàng đầu thế giới. Các nhà phát triển có thể sử dụng nó để xây dựng các loại ứng dụng mới. Chủ quan: Trong suốt quá trình học tập, nhóm chúng em muốn được trải nghiệm các đề tài khác nhau và hoạt động trên nhiều nền tảng. Cảm thấy hứng thú và muốn tìm hiểu công nghệ Blockchain nên nhóm em đã lựa chọn tìm hiểu về blockchain và cụ thể là Ethereum và Solidity, nghiên cứu, ứng dụng công nghệ Blockchain trong việc thực hiện các giao dịch.

MỤC TIÊU NGHIÊN CỨU Mục tiêu của đồ án này là có một cái nhìn tổng quan về công nghệ BlockChain, biết được các nền tảng lý thuyết và các kỹ thuật chính sử dụng trong BlockChain, đặc biệt là ứng dụng của hợp đồng thông minh trong công nghệ này. Bên cạnh đó hiểu được Ethereum là nền tảng BlockChain đã và đang rất phổ biến và có được ứng dụng minh họa. GIỚI THIỆU Theo ấn bản “Mastering Bitcoin” của tác giả Antonopoulos, Blockchain được định nghĩa là công nghệ lưu trữ và truyền tải thông tin bằng các khối (block) được liên kết với nhau và mở rộng theo thời gian, do đó được gọi là chuỗi khối (blockchain). Mỗi block chứa đựng các thông tin về thời gian khởi tạo, các thông tin giao dịch và được liên kết với các khối trước đó thông qua thông tin hàm băm (hash) [19].

Block cũng được định nghĩa như một cấu trúc dữ liệu, là một danh sách liên kết sử dụng hàm băm con trỏ thay vì các con trỏ thông thường. Hàm băm con trỏ này được sử dụng để trỏ tới khối trước đó. Hình 1 Blockchain Cụ thể hơn, một blockchain là một chuỗi tuyến tính gồm nhiều khối được kết nối và được bảo đảm bằng các bằng chứng mật mã. Một blockchain thường được xây dựng như một hệ thống phân tán có chức năng như một sổ cái phi tập trung.

Điều này có nghĩa là có nhiều bản sổ cái (phân tán) và không có tổ chức nào nắm quyền kiểm soát duy nhất (phi tập trung). Nói một cách đơn giản, mỗi người dùng tham gia vào mạng blockchain sẽ giữ một bản sao điện tử của dữ liệu blockchain. Dữ liệu khi đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được. Dữ liệu blockchain được cập nhật thường xuyên tất cả các giao dịch mới nhất và đồng bộ với bản sao của người dùng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ