Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
9,93 MB
Nội dung
HỌC VIỆN HÀNG KHÔNG VIỆT NAM KHOA KỸ THUẬT HÀNG KHÔNG - ĐỒ ÁN TỐT NGHIỆP Nghiên cứu ứng dụng công nghệ blockchain vào việc xây dựng hệ thống đặt giữ chỗ vé máy bay tảng Solana Giảng viên hướng dẫn: Lưu Văn Thuần Sinh viên thực : Bùi Võ Ngọc Quế Trân MSSV : 1751200024 TP HỒ CHÍ MINH 2022 MỤC LỤC Lời nói đầu 1.Tổng quan hệ thống Booking vé máy bay lí chọn đề tài 2.Mục tiêu cấu trúc luận văn 3.Tổng quan blockchain 4.Thành phần blockchain 11 4.1.Phân loại sơ loại blockchain nay: 13 4.1.1.Mạng blockchain công khai (Public blockchain networks): 13 4.1.2.Mạng blockchain riêng tư (Private blockchain networks): 13 4.1.3.Mạng blockchain có phân quyền (Permissioned blockchain networks): 13 4.1.4.Consortium blockchains: 13 4.2.Trạng thái blockchain (State) 15 4.3.Mơ hình dựa giao dịch 15 4.4.Mơ hình tài khoản (Account-based Model) 18 4.5.Cấu trúc chuỗi blockchain 19 4.6.Node blockchain 20 4.6.1.Node Block: 20 4.7.Tổng quan chế đồng thuận thuật toán đồng thuận blockchain 20 4.7.1.Bài toán hai vị tướng (Two generals problem) 23 4.7.2.Bài toán vị tướng Byzantine (Byzantine General's problem) 23 4.7.3.Cách giải toán đồng thuận tảng blockchain 25 4.8.Blockchain lưu trữ đâu 27 4.9.Cây Merkle 29 4.10.Sơ lược hợp đồng thông minh (smart contract) 30 4.10.1.Smart Contract hoạt động nào? 31 4.10.2.Ưu & nhược điểm Hợp đồng thông minh 32 5.Nền tảng mã hóa blockchain 32 6.Tổng quan DeFi 35 6.1.Phân biệt tài tập trung (CeFi) tài phi tập trung (DeFi) 36 6.2.Những điểm lợi DeFi 36 6.3.Escrow 37 6.4.Các ứng dụng tiềm DeFi 38 6.4.1.Vay cho vay 38 6.4.2.Các dịch vụ ngân hàng liên quan đến tiền tệ 38 6.4.3.Các sàn phi tập trung 38 6.5.Vai trò smart contract DeFi 40 6.6.Tiềm DeFi 41 6.7.Thách thức DeFi 42 6.8.Sơ lược ứng dụng phi tập trung 42 6.8.1.Các đặc điểm Dapp: 42 6.8.2.Phân loại Dapp: 43 6.8.3.Phân biệt Coin Token: 43 6.8.4.Các lỗi thường gặp phát triển ứng dụng DeFi 45 tiêu chuẩn cho token mạng blockchain hướng ứng dụng (Smart contract blockchain) 46 7.Các 7.1.Sơ lược FT 46 7.2.Sơ lược NFT 46 7.3.Tính chất NFT 47 7.4.Các chuẩn NFT Ethereum 47 8.Tổng quan Solana Network xây dựng ứng dụng Solana 47 8.1.Cách thực hoạt động Solana 48 8.2.Tiềm dự án Solana 49 8.2.1.Điểm bật chế đồng thuận Solana 50 8.3.Mơ hình lập trình solana 52 8.4.Mơ hình Account (Account Model) Solana 53 8.5.So sánh với smart contract Ethereum 56 8.6.Cấu trúc Solana Program 58 8.7.Native program Solana Program Library 58 8.8.Solana Program Library 60 8.9.Deploy program lên chain 60 8.10.Cấu trúc Program 62 8.11.Transactions 63 8.12.Fees 67 8.12.1.Transaction fee để lan truyền xử lý transaction hay hiểu gas fee 67 8.12.2.Rent fee chi phí để lưu trữ liệu on-chain 68 8.13.Cross-Program Invocations 68 8.14.Program Derived Address 68 8.15.Cơ chế PDA 69 8.16.Solana Program Library 70 8.16.1.Mint Account 70 8.16.2.Token Account 71 8.16.3.Token Program 72 8.16.4.Associated Token Account Program 72 9.Triển khai marketplace trao đổi boarding pass 73 9.1.Một số kí hiệu ý nghĩa sơ đồ minh hoạ 73 9.1.1.Các kí hiệu, sơ đồ liên quan đến Account: 73 9.1.2.Các kí hiệu sơ đồ liên quan đến PDAs [3]: 74 9.1.3.Các kí hiệu sơ đồ liên quan đến Instructions [3]: 76 9.2.Metaplex Token Metadata Program [3] 77 9.2.1.Các tiêu chuẩn JSON [3] 78 9.2.2.Fungible Standard: 80 9.2.3.Fungible Asset Standard: 80 9.2.4.Non-Fungible Standard 81 9.2.5.NFT hệ sinh thái Solana Metaplex [3]: 83 9.2.6.Printing Editions [3] 85 9.2.7.Semi-Fungible Token [3] 86 9.3.Flow để mint NFT token [3] 88 Quy trình deploy NFT, mint NFT chuyển giao vé máy bay NFT marketplace 96 9.4 9.4.1.Mint NFT 96 9.4.2.Người bán 104 9.4.3.Người mua 105 10.Tài liệu tham khảo 109 MỤC LỤC HÌNH ẢNH Hình 11: Kiến trúc hệ thống giữ chỗ vé máy bay đơn giản Hình 12: Các giai đoạn phát triển web Hình 31: Tổng quan blockchain Hình 41: Các thành phần blockchain Hình 42: Cấu trúc header block Hình 43: Tổng kết điểm loại blockchain Hình 44: Mơ hình điện tốn blockchain Hình 45: Flow giao dịch theo mơ hình UTXO 12 Hình 46: So sánh chế PoW PoS 21 Hình 47: Merkle tree - nhị phân nút bên lưu trữ giá trị băm nút 23 Hình 48: Thuật tốn đào Proof-Of-Work Bitcoin 24 Hình 49: Cơng dụng smart contract để thay bên thứ ba giao dịch 25 Hình 61: So sánh CeFi DeFi 30 Hình 62: Các bước giao dịch kí quỹ 31 Hình 63: So sánh chế CLOB AMM 34 Hình 64: Số liệu ngày 21 tháng 11 năm 2020 35 Hình 65: Số liệu ngày tháng năm 2021 35 Hình 81: Solana 42 Hình 82: Dòng hoạt động mạng lưới Solana 43 Hình 83: Mơ hình lập trình Solana 45 Hình 84: Input, output state EVM-based smart contract 46 Hình 85: Data Account thuộc sở hữu Program Account 46 Hình 86: Cấu trúc liệu account 47 Hình 87: Ánh xạ số dư Ethereum 49 Hình 88: Hình ảnh thơng tin sau deploy program 52 Hình 89: Một program hiểu executable account sở hữu BPF Loader 53 Hình 810: Cấu trúc program Solana 54 Hình 811: Các RPC connection cung cấp từ Solana 54 Hình 812: Cấu trúc transaction Solana 55 Hình 813: Sự thay đổi nonce account ethereum transaction 56 Hình 814: Một transaction solana bao gồm danh sách accounts giá trị “recentBlockhash”, Previos Blockhash list signatures khơng thể trang explore lí bảo mật 57 Hình 815: Ví dụ instruction Solana transaction giới thiệu 59 Hình 816: Cách tìm PDA Solana 62 Hình 817 State Mint Account 63 Hình 818 Mối quan hệ Token Account, Mint Account Token Program 64 Hình 91: Một vài kí hiệu sơ đồ liên quan đến Account 65 Hình 92: Một vài kí hiệu sơ đồ giải thích liên quan đến Account 66 Hình 93: Một vài kí hiệu sơ đồ liên quan đến PDAs 66 Hình 94: Một vài kí hiệu sơ đồ liên quan đến PDAs 67 Hình 95: Một vài kí hiệu sơ đồ liên quan đến instruction 67 Hình 96: Một vài kí hiệu sơ đồ liên quan đến instruction 68 Hình 97: Mối quan hệ Token account Mint account 68 Hình 98: Các thuộc tính, field metadata account 69 Hình 99: Thuộc tính URI Metadata account 70 Hình 910: Token standard Fungible Token Metaplex 71 Hình 911: Token standard Fungible Assets Metaplex 72 Hình 912: Token standard Non-Fungible Token Metaplex 73 Hình 913: Ví dụ JSON Schema NFT theo Token standard 73 Hình 914: Mối quan hệ Metadata account với Mint account 74 Hình 915: Seeds Field Master Edition Account 75 Hình 916: Mint Authority Freeze Authority Mint Account gán cho Master Edition Account 76 Hình 917: Seed Field Edition Account 77 Hình 918: Mint Account đính kèm hai Master Edition Account Edition Account 77 Hình 919: Mối quan hệ Metadata Account (Master) Edition Account loại token 78 Hình 920: Sequence Diagram bước 79 Hình 921: Sequence Diagram bước 79 Hình 922: Sequence Diagram cập nhật thêm bước 80 Hình 923: Sequence Diagram thực Instruction CreateAccountMetadata Token Metadata Program 81 Hình 924: Mơ tả tổng quan instruction CreateAccountMetadata 81 Hình 925: Account cần thiết để thực instruction CreateMetadataAccountV2 82 Hình 926: Sequence Diagram sau bổ sung bước 82 Hình 927: Sequence diagram bước upload data 83 Hình 928: Sequence diagram transaction thứ từ bước trở 83 Hình 929: Sequence Diagram bước tạo Master Edition Account 84 Hình 930: Sequence Diagram transaction thứ để mint token tạo Master Edition Account 85 Hình 931: Metadata Account lưu trữ on-chain đính kèm với Mint Account 85 Hình 932: Giao diện để điền attribute cần thiết để khởi tạo NFT Metadata Account 86 Hình 933: Các bước chạy Token Metadata Program để khởi tạo Metadata Account cho Mint Account 86 Hình 934: Các NFT Boarding sau khởi tạo thuộc sở hữu Candy Machine Program 87 Hình 935: Mint NFT Token từ Candy Machine Program 88 Hình 936: JSON Schema NFT Boarding Pass mint 88 Hình 937: Thơng tin on-chain NFT Boarding Pass 90 Hình 938: Thơng tin Off-chain lấy cách request URI field Token Metadata Account 91 Hình 939: Các NFT Boarding Pass thuộc collection Boarding Pass 92 Hình 940: Kết nối đến ví hỗ trợ giao dịch Solana 93 Hình 941: Sơ đồ kiến trúc marketplace actor 93 Hình 942: Người bán tạo Sell offer 94 Hình 943: Người bán xác thực giao dịch Sell Offer 94 Hình 944: Sell Offer sau xác nhận người bán 95 Hình 945: Sell offer hiển thị profile người mua 95 Hình 946: Người bán kí xác nhận mua 96 Hình 947: Sell offer chấp nhận thực thành cơng 96 Hình 948: NFT Boarding Pass hiển thị profile người mua sau mua thành công 97 Hình 949: NFT Boarding Pass đổi Update Authority thành địa người mua 97 MỤC LỤC BẢNG Bảng 61: Thuộc tính mơ tả account 47 Bảng 82: Mơ tả thuộc tính nonce, balance 50 Bảng 83: Thuộc tính lưu trữ code account Sealevel 50 Lời nói đầu Nhằm thích nghi với xu hướng công nghệ đột phá, cụ thể Web 3.0, Luận văn giới thiệu sở blockchain giới thiệu ứng dụng Blockchain vào hệ thống đặt giữ chỗ vé máy bay Điều giúp có nhìn tổng quan hệ thống thành phần cần phát triển để hệ thống đặt giữ chỗ vé máy bay ngày hồn thiện tương thích với Web 3.0, xu hướng công nghệ tương lai Cám ơn thầy Lưu Văn Thuần, thầy Lê Tấn Lộc chia sẻ nhiều góp ý quý báu, cảm ơn bạn bè động viên giúp em hồn thành luận văn Hồ Chí Minh, ngày 24 tháng 06 năm 2022 ... quan hệ thống Booking vé máy bay lí chọn đề tài Hệ thống booking vé máy bay ứng dụng quan trọng bậc hệ thống thương mại điện tử Hình 11: Kiến trúc hệ thống giữ chỗ vé máy bay đơn giản Hệ thống. .. xu hướng cơng nghệ đột phá, cụ thể Web 3.0, Luận văn giới thiệu sở blockchain giới thiệu ứng dụng Blockchain vào hệ thống đặt giữ chỗ vé máy bay Điều giúp có nhìn tổng quan hệ thống thành phần... người dùng sử dụng mã đặt chỗ sân bay tiến hành checking in vé để lên tàu bay Kiến trúc hệ thống đặt chỗ vé máy bay online có nghiệp vụ giống hệ thống thương mại điện tử truyền thống phi tập