Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
3,12 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN - - BÁO CÁO Môn: Thương mại điện tử Lớp : IS334.L21 ĐỀ TÀI: BLOCKCHAIN - SOLIDITY GIÁO VIÊN HƯỚNG DẪN: Ths.Đỗ Duy Thanh NHÓM THỰC HIỆN: Trương Văn Thành – 17521062 Nguyễn Lương Toàn – 18521510 Phạm Ngọc Anh Vũ – 19522536 TPHCM, Ngày 16 tháng năm 2021 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Sau trình học tập rèn luyện trường Đại học Công nghệ Thông tin chúng em trang bị kiến thức bản, kỹ thực tế để hồn thành đồ án mơn học Chúng em xin gửi lời cảm ơn chân thành đến thầy Đỗ Duy Thanh quan tâm, hướng dẫn, truyền đạt kiến thức kinh nghiệm cho chúng em suốt thời gian học tập môn Thương Mại Điện Tử Trong q trình thực nhóm chúng em chăn khơng tránh khỏi sai sót, vậy, chúng em mong nhận góp ý thầy bạn nhằm hồn thiện kiến thức mà nhóm chúng em học tập hành trang để thực tiếp đề tài khác tương lai Nhóm em xin chân thành cảm ơn q Thầy Cơ! TP Hồ Chí Minh, ngày 16 tháng năm 2021 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NHẬN XÉT (của giảng viên) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI CẢM ƠN MỤC LỤC PHẦN 0: MỤC ĐÍCH ĐỀ TÀI PHẦN 1: TÌM HIỂU CƠNG NGHỆ BLOCKCHAIN CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN 1.1 Khái niệm 1.2 Các đặc tính blockchain 1.3 Nguyên lý hoạt động 14 1.4 Ứng dụng blockchain đời sống 14 CHƯƠNG 2: PHIÊN BẢN BLOCKCHAIN 15 2.1 Blockchain 1.0 (Tiền tệ) 15 2.2 Blockchain 2.0 (Smart contract) 17 2.3 Blockchain 3.0 (Ứng dụng phi tập trung Dapp) 17 2.4 Blockchain 4.0 (Ứng dụng thực tiễn) 19 CHƯƠNG 3: CÁC LOẠI BLOCKCHAIN 20 CHƯƠNG 4: THUẬT NGỮ QUAN TRỌNG TRONG BLOCKCHAIN 21 4.1 51% Attack 21 4.2 Public Key 21 4.3 Private Key 22 4.4 Mining pool 22 PHẦN 2: TÌM HIỂU SMART CONTRACT & SOLIDITY 23 CHƯƠNG 1: SMART CONTRACT 23 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.1 Khái niệm 23 1.2 Cách hoạt động 24 1.3 Lợi ích Smart contract 25 1.4 Ưu nhược điểm 26 1.5 Ứng dụng Smart contract (Blockchain 2.0) 27 CHƯƠNG 2: SOLIDITY 29 2.1 Khái niệm 29 2.2 Các khái niệm Solidity 29 2.3 Sử dụng Metamask triển khai Smart contract Solidity 30 PHẦN 3: HỆ SINH THÁI ETHEREUM 35 CHƯƠNG 1: TỔNG QUAN ETHEREUM 35 1.1 Ethereum (ETH) 35 1.2 Ethereum 2.0 35 1.3 Các giai đoạn để hoàn thành ETH 2.0 37 1.4 Cách thức hoạt động Ethereum 38 1.5 Ưu điểm nhược điểm đồng Ethereum 39 1.6 Sử dụng Ethereum 40 1.7 Cách tạo ví Ethereum 43 CHƯƠNG 2: ỨNG DỤNG ĐƯỢC XÂY DỰNG TRÊN ETHEREUM 45 2.1 Tài phi tập trung (Defi) Ethereum 45 2.2 Sàn giao dịch phi tập trung (DEX) Ethereum 46 2.3 Ứng dụng phi tập trung (Dapps) 47 CHƯƠNG 3: CÁCH ĐỂ KIẾM ETHEREUM 49 3.1 Các cách đầu tư ETH 49 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2 Hướng dẫn cách mua Ethereum 53 PHẦN 4: TÌM HIỂU GRT 60 4.2.Phương thức hoạt động The Graph 60 4.2.1 Vấn đề giải The Graph 60 4.2.2 Giải pháp The Graph 61 4.2.3 Hệ sinh thái The Graph 62 4.3 Token GRT 63 4.4 Một số thông tin token GRT 63 4.4.1 Phân bố token GRT 63 4.4.2 Public sale 64 4.4.3 Đội ngũ phát triển dự án 65 4.4.5 Cách kiếm sở hữu GRT Token 66 4.4.6 Sàn giao dịch GRT Token 66 4.4.7 Ví lưu trữ token GRT 66 4.5 Tương lai GRT Token 67 PHẦN 5: MÔ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG 68 Các bước để xây dựng project 68 BẢNG PHÂN CHIA CÔNG VIỆC 79 TÀI LIỆU THAM KHẢO 81 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN 0: MỤC ĐÍCH ĐỀ TÀI - Tìm hiểu blockchain - Minh họa chi tiết, cụ thể Block Chain 1.0, 2.0 Các ứng dụng - Tìm hiểu smart contract solidity - Tìm hiểu hệ sinh thái Etherium? - Mơ tả quy trình triển khai smart contract lên mạng lưới ethereum test - Tìm hiểu GRT LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN 1: TÌM HIỂU CƠNG NGHỆ BLOCKCHAIN CHƯƠNG 1: TỔNG QUAN BLOCKCHAIN 1.1 Khái niệm Blockchain sổ công khai thông tin thu thập thông qua hệ thống nằm internet Điều làm cho độc đáo khơng có quan trung ương phụ trách tệp blockchain liệu mà chứa Thay vào đó, máy tính giữ riêng tệp cập nhật cần có chấp thuận phần lớn máy bên hệ thống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Blockchain tạo thành từ “khối”- block, khối chứa phần liệu Dữ liệu gần thêm vào đầu chuỗi, liệu lâu đời đặt phía đáy, bên gọi “Khối nguyên thủy - genesis block” Hình 1.1 Chuỗi khối Các block liên kết với mật mã (các thuật toán phức tạp), cách chuỗi hình thành Tốn học liên quan có nghĩa thay đổi liệu phá vỡ chuỗi, đó, cố gắng thay đổi bị phát từ chối hệ thống Hình 1.2 Quy trình mã hóa khối 1.2 Các đặc tính blockchain a Cơ sở liệu phân tán (phi tập trung) Hầu hết Blockchain thiết kế sở liệu phi tập trung thay quản lí sổ tập trung ngân hàng tổ chức khác Các “tài sản” kỹ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thuật số phân phối thay chép chuyển giao Blockchain Nhờ đó, người chuỗi kiểm sốt thơng tin, liệu có khối Hình 1.3 Mơ hình sổ phân tán b Tính bền vững tăng cường bảo mật Trong Blockchain, khối có hàm băm riêng biệt tham chiếu đến hàm băm khối nằm trước Vì vậy, việc khai thác chuỗi phức tạp, đặc biệt chuỗi lớn Hinh 1.4 Liên kết block LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ▪ Metamask ▪ Myetherwallet ▪ Trust Wallet 4.5 Tương lai GRT Token The Graph giúp trình xây dựng Dapp nhanh chóng thơng qua việc truy xuất Data Blockchain Ethereum nhanh Cùng với phát triển hệ sinh thái Ethereum tin The Graph phát triển theo LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN 5: MƠ TẢ QUY TRÌNH TRIỂN KHAI ỨNG DỤNG 5.1 Mục tiêu 5.2 Mơ hình Use-case 5.3 Sơ đồ lớp 5.4 Sơ đồ Sequence Diagram 5.5 Các bước để xây dựng project ✓ Bước 1: Xây dựng Smart Contract (dBank) với chức Deposit, Withdraw, Borrow, Payoff Solidity - Giới thiệu Solidity: Solidity ngôn ngữ cấp cao, hướng đối tượng để thực hợp đồng thông minh Hợp đồng thơng minh chương trình điều chỉnh hành vi tài khoản trạng thái Ethereum LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Solidity thiết kế để nhắm mục tiêu Máy ảo Ethereum (EVM) Với Solidity, bạn tạo hợp đồng để sử dụng bỏ phiếu, huy động vốn từ cộng đồng, đấu giá ví nhiều chữ ký Khi triển khai hợp đồng, bạn nên sử dụng phiên Solidity phát hành Điều thay đổi đột phá tính sửa lỗi giới thiệu thường xuyên https://docs.soliditylang.org/en/v0.8.4/#solidity - Tạo Contract dBank với Solidity LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ✓ Bước 2: Cài đặt Ganache (Mạng Ethereum local) - Giới thiệu Genache: Ganache blockchain cá nhân để phát triển ứng dụng phân tán Ethereum Corda nhanh chóng Bạn sử dụng Ganache toàn chu kỳ phát triển; cho phép bạn phát triển, triển khai thử nghiệm dApp mơi trường an tồn xác định Ganache có hai phiên bản: UI CLI Ganache UI ứng dụng dành cho máy tính để bàn hỗ trợ cơng nghệ Ethereum Corda Cơng cụ dịng lệnh, ganache-cli (trước gọi TestRPC), có sẵn để phát triển Ethereum https://www.trufflesuite.com/ganache - Giao diện: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ✓ Bước 3: Triển khai Smart Contract lên mạng Ethereum local Truffle - Giới thiệu Truffle: Truffle môi trường phát triển đẳng cấp giới, khung thử nghiệm đường ống tài sản cho blockchain sử dụng Máy ảo Ethereum (EVM), nhằm mục đích làm cho sống nhà phát triển trở nên dễ dàng ▪ Tích hợp hợp đồng thơng minh biên dịch, liên kết, triển khai quản lý nhị phân ▪ Kiểm tra hợp đồng tự động để phát triển nhanh chóng ▪ Khung triển khai di chuyển mở rộng tập lệnh ▪ Quản lý mạng để triển khai cho số lượng mạng công cộng riêng tư ▪ Quản lý gói với EthPM & NPM, sử dụng tiêu chuẩn ERC190 ▪ Bảng điều khiển tương tác để giao tiếp hợp đồng trực tiếp https://www.trufflesuite.com/docs/truffle/getting-started/compiling-contracts - Xây dựng Folder chứa file cấu hình để triển khai hợp đồng thông minh: - Mỗi file định nghĩa hàm để triển khai hợp đồng thông minh lên mạng Ethereum LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Để thiết lập Truffle ▪ Cài đặt npm install –g truffle ▪ Khởi tạo truffle init - File truffle.js định nghĩa hợp đồng triển khai trực tiếp lên mạng Ở http://127.0.0.1:7545 ( mạng Ethereum local mà Ganache start trước đó) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Triển khai hợp đồng thông minh lên Ethereum lệnh “truffle migrate -network development” , không định network, truffle tự động lấy network - Sau compile, hợp đồng thông minh biên dịch thành file json Mỗi file chứa thông tin hợp đồng meta-data khác: ▪ Contract name: Tên hợp đồng ▪ abi: thông tin chức thuộc tính, miêu tả rõ ràng input output ▪ metadata: metadata khác hợp đồng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sau biên dịch thành công, hợp đồng truffle triển khai lên Ethereum tạo giao dịch tương ứng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ganache ghi giao dịch tự động thêm block vào mạng Ethereum LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Danh sách Block Thông tin chi tiết block LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ✓ Bước 4: Sử dụng web3 để tương tác với Smart Contract - web3.js tập hợp thư viện cho phép bạn tương tác với nút ethereum cục từ xa cách sử dụng HTTP, IPC WebSocket https://github.com/ChainSafe/web3.js#readme ✓ Bước 5: Xây dựng Service LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5.6 Danh sách hình 5.7 Nhận xét kết luận LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com BẢNG PHÂN CHIA CƠNG VIỆC STT MSSV Cơng việc giao Mức độ hồn thành (%) - Tìm hiểu Smart contract - Tìm hiểu Reactjs thiết kế lại giao 18521510 diện 100 - Tìm hiểu blockchain - Thử nghiệm smart contract Metamask - Tìm hiểu blockchain - Tìm hiểu Solidity 17521062 - Dựng format báo cáo 100 - Mô tả quy trình triển khai - Hỗ trợ tìm hiểu & xây dựng service để build project - Tìm hiểu GRT - Tìm hiểu Ethereum 19522536 - Tìm hiểu blockchain 100 - Thử nghiệm smart contract Metamask LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÀI LIỆU THAM KHẢO https://coin98.net/the-graph-grt https://coin68.com/the-graph-la-gi/ https://www.mitrade.com/vn/forex/cryptocurrency/ethereum/Ethereum-ETH-lagi#linkTo-article-para2 https://blogtienao.com/ethereum/#ftoc-heading-26 https://www.slideshare.net/CngthngtinTininT/ethereum-la-gi-nhung-khai-niemxung-quanh-ethereum-eth-ma-ban-nen-biet-137466881 https://kgold.vn/blockchain-la-gi.html https://www.mitrade.com/vn/forex/cryptocurrency/cryptocurrency-la-gi/cong-ngheblockchain https://bytesoft.vn/cong-nghe-blockchain-1-0-la-gi https://ethereum.stackexchange.com/questions/32233/how-to-install-truffle-3-xcurrent-release-is-truffle-4-0?rq=1 https://github.com/Sudhanmanoharan/MarketPlace-BlockChain https://reactjs.org/ https://www.youtube.com/watch?v=ctLFWAanxcI https://www.trufflesuite.com/docs/truffle/getting-started/interacting-with-yourcontracts https://web3js.readthedocs.io/en/v1.3.4/ https://docs.soliditylang.org/en/v0.8.4/ https://vn.bitdegree.org/crypto/huong-dan/smart-contract-la-gi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... động 1.4 Ứng dụng blockchain đời sống Blockchain ứng dụng vào nhiều lĩnh vực đời sống - Ứng dụng blockchain thương mại điện tử - Ứng dụng Blockchain chuỗi cung ứng - Ứng dụng blockchain dịch vụ... số Đối với nhà đầu tư giống đồng tiền điện tử khác ➢ Giao dịch ETH với tiền điện tử khác Sàn giao dịch Hiện có hàng trăm mã thơng báo thay hệ sinh thái Blockchain Các Altcoin có giá trị dao động,... 2.1 Blockchain 1.0 (Tiền tệ) Năm 2005, người ta cho đời ý tưởng việc tạo loại tiền điện tử Sổ Blockchain đời phương tiện hỗ trợ hoạt động loại tiền Nói cách khác, Bitcoin, loại crypto ứng dụng Blockchain