Chương 1: Tổng quan về đề tài Chương 2: Cơ sở lý thuyết Chương 3: Phân tích và thiết kế hệ thống Chương 4: Phát triển ứng dụng Chương 5: Kết luận và đưa ra hướng phát triển Chương 2: CO SỞ LÝ THUYET 2.1 Khao sát ứng dụng liên quan 2.1 Khảo sát giao diện và chức năng Về ý tưởng xây dựng ứng dụng, chúng tôi nhận ra hiện nay trên thị trường gần như không có. Vì vậy dựa trên chức năng của ứng dụng thì chúng tôi sẽ tìm hiểu các ứng dụng tương tự phù hợp với chức năng chính của ứng dụng nhóm chúng tôi. Ứng dụng của chúng tôi liên quan tới xác thực CV. Vì vậy chúng tôi sẽ tập trung tìm hiểu các ứng dụng liên quan tới scan tài liệu văn bản hoặc các ứng dụng có chức năng liên quan dé có thé phục vụ việc đăng tải và ứng dụng liên quan đến quản lý, giao dịch tiền ảo.
Từ những khảo sát chúng tôi sẽ có cái nhìn tổng quan cùng với kiến thức dé tiễn hàng xây dựng giao diện và chức năng cho ứng dụng của chúng tôi.2 Ứng dụng Instagram Instagram (thường được viết tắt là IG hoặc Instagram) là một dịch vụ mạng xã hội chia sẻ hình ảnh và video của Mỹ được tạo ra bởi Kevin Systrom và Mike Krieger. Ứng dụng cho phép người dùng tải lên các phương tiện có thé được chỉnh sửa bằng các bộ lọc và được sắp xếp theo các thẻ bắt đầu bằng # và gắn thẻ địa lý. Bài đăng có thể được chia sẻ công khai hoặc với những người theo dõi đã được phê duyệt trước. Người dùng có thé duyệt nội dung của người dùng khác theo thẻ và vi trí và xem nội dung thịnh hành.
Người dùng có thé thích anh và theo dõi những người dùng khác dé thêm nội dung của họ vào nguôn câp dữ liệu cá nhân. Qua việc tìm hiểu ứng dụng Instagram chúng tôi đưa ra một số nhận xét về giao diện cùng với các chức năng. + Trang chủ giao diện có chức năng rõ ràng, các bài post được thé hiện một cách rõ ràng và được định vi bởi ảnh của bài post đó. + Chức năng upload bài đăng rõ ràng, sử dụng ảnh làm thumbnail của bài post dé hiển thị danh sách trên trang chủ + Có thanh Navbar chứa các chức năng chính của ứng dụng như trang chủ, tìm kiếm, video ngắn (Hay còn gọi là reels), thông báo, tuỳ chỉnh tài khoản cá nhân.3 Ứng dụng TrustWallet Trust Wallet được thành lập bởi công ty Six Days do Viktor Radchenko điều hành.
Đến ngày 01/08/2018, một trong các san giao dịch tiền mã hóa lớn nhất thé giới - Binance đã chính thức mua lại Trust Wallet. Trust Wallet được biết đến là ví tiền mã hóa phi tập trung cho phép người dùng quản lý hiệu quả và an toàn các tài sản mã hóa của mình. Mỗi ví lưu trữ như vậy sẽ đi kèm với một khóa cá nhân (Private Key), chỉ chủ sở hữu của ví mới có quyên kiêm soát và giao dịch tài sản trong ví Trust Wallet. Từ những trải nghiệm vê ứng dụng chúng tôi đưa ra một sô đánh giá vê giao diện va về các chức năng.
+ Giao diện ứng dùng nỗi bat với tông màu xanh trắng. Các tab chức năng được làm một cách tối giản không quá phức tạp hay mắt thời gian dé tìm hiéu, dé sử dụng cho người TỚI. Có các chức năng như xem lịch sử gửi/ nhận đồng token. Nói tóm lại chức năng của ứng dụng không quá phức tạp nhưng phù hợp và đủ chức năng của một ứng dụng giao dịch đồng token.
Giao diện Từ những khảo trải nghiệm, tìm hiểu các ứng dụng trên chúng tôi đưa ra các gợi ý cho việc thiết kế giao diện cho ứng dụng của minh: + Màu nên và màu chữ cần phải có độ tương phan dé nội dung được hién thị rõ ràng và không gây cảm giác khó nhìn cho người dùng. Màu nền hay được sử dụng là nền trắng chữ sáng (Xanh dương), lý do là màu xanh biểu tượng cho hoà bình sự an toàn. Đặc biệt là các giao dịch liên quan tới tiền. + Các nút điều hướng khi được nhắn cần có màu khác biệt dé người dùng biết minh đang ở đâu trong ứng dụng.
+ Màn hình chính sẽ hiển thị các bài post đăng CV gợi ý khi người dùng đăng nhập. + Thông tin hiển thị CV gồm hình ảnh của CV và caption của bài đăng đó được thé hiện trong một khung chữ nhật ngang. Dưới ảnh của CV sẽ là số lượt like tương tác, comment của người khác vê CV của người dùng.3 Chức nang Một ứng dụng có thê có rất nhiều chức năng, tùy theo đặc thù của từng ứng dụng mà có những chức năng cần phải có trong ứng dụng đó. Qua việc đã trải nghiệm và tìm hiểu thì đối với ứng dụng xác thực CV của chúng tôi cần có các chức năng là: Đăng nhập, đăng ký, đăng post, ví tiền điện tử, thông tin tài khoản cá nhân,.
+ Đăng nhập vào ứng dụng bang tên đăng nhập va mật khẩu mà người dùng đã đăng ký. + Đăng ký gồm các thông tin như: Tên đăng nhập, mật khẩu. + Cho phép chụp hình CV và đăng dưới dang post ở trên Instagram. + Bình luận ở mỗi bai post sẽ là các đánh giá, nhận xét, bày tỏ cảm xúc của người dùng khác qua từ ngữ, ký tự biểu cảm.4 Công nghệ Blockchain 2.1 Nền tảng cốt lõi Mật mã học là nên tảng côt lõi của công nghệ Blockchain.
Trải qua chiêu dài lịch sử, mật mã học đã chứng minh khả năng bảo vệ thông tin trước các mối de doa. Cùng với sự phát triển và bùng nỗ của thông tin vào những năm cuối cùng của thé kỉ XX, mật mã học đã phát triển vượt bậc và trở thành công cụ bảo mật tối cần thiết cho các dữ liệu trên Internet. Blockchain đã ứng dụng và đây mật mã học lên một mức độ cao hơn với khả năng mã hoá phức tạp và kết nối chặt chẽ dữ liệu.2 Lich sử hình thành ; ; Năm 1982, David Chaum đã viết 1 bài nghiên cứu có nhan dé Blind Signatures for Untraceable Payments, David Chaum được vinh danh là nhà phát minh tiền ảo và chữ ký mù nhờ bai viết này. Chữ ký mù (blind signature) an nội dung thông điệp trước khi được ký, chữ ký số có thé được xác thực với chữ ký gốc tuy nhiên nội dung vẫn được an.
Đây là phiên bản sơ khai của chữ ký mã hóa dùng cho đồng tiền ảo. Vào năm 2008, Satoshi Nakamoto (thường được coi là bút danh của tác gia) đăng 1 bài luận trên mang Internet với nhan đề Bitcoin: A peer-to-peer Electronic Cash System. Năm 2009, Bitcoin được thực hoá bởi Satoshi Nakamoto đặt nền móng vững chắc cho công nghệ Blockchain. Bitcoin được xem là hệ thống Blockchain đầu tiên va là đồng tiền ảo mạnh nhất cho đến bây giờ.
Từ năm 2011, các hệ thống Blockchain với ứng dụng chính là tiền ảo dựa trên nền tảng Bitcoin lần lượt ra đời như Litecoin, Namecoin, Swiftcoin,. đây nhanh sự phát triển của công nghệ Blockchain. Đến năm 2015, Vitalik Buterin cho ra đời một nền tảng Blockchain được gọi là Ethereum. Ethereum đã đây cao tiềm năng của công nghệ Blockchain vượt qua khỏi phạm vi tiền ảo và ứng dụng rộng rãi cho các lĩnh vực khác.
Các ứng dụng chạy trên môi trường Ethereum được gọi là Dapp (Decentralize Application) - ứng dụng phi tập trung. Công nghệ này được gọi là Blockchain 2.0 và được xem là tương lai của công nghệ Blockchain. Từ năm 2017, khái niệm Blockchain 3.0 ra đời, là nền tảng mở rộng của công nghệ Blockchain, khắc phục những hạn chế của công nghệ Blockchain cũ như khả năng mở rộng, tôc độ xử lý,.1 O mức dữ liệu a) Mã hoá trong Blockchain: Hàm băm (hash functions) là một hàm số học lay một chuỗi dau vào và mã hóa nó thành một chuỗi có độ dài có định. Nó thường rất nhanh đề thực hiện.
Độ phức tạp của hàm thường rat thấp (thường có độ phức tap O(n) khi mã hóa trên chuỗi n-bit) khi so sánh với tốc độ tính toán. Hàm băm mật mã có các chức năng này thường được sử dụng trong các hệ thống Blockchain dé tăng cường bảo mật cho dữ liệu của chúng. Khả năng chống va chạm là một thuộc tính của hàm ngăn không cho tìm thấy hai chuỗi có cùng giá trị. Đồng thời, quá trình mã hóa là một chiều và không thé đảo ngược.
Một số các hàm băm phổ biến được sử dụng trong Blockchain như SHA-256, RIPEMD- 160. ECDSA (Elliptic Curve Digital Signature Algorithm) — thuật toán chữ ky điện tử dựa trên đường cong Elliptic, là một thuật toán mã hóa thường được sử dung trong các hệ thống Blockchain như Bitcoin, Ethereum,. để tạo ra cặp khóa công khai — khóa bí mật (public key — private key). Một đường cong Elliptic được biểu diễn bởi phương trình số học y? = x3 + ax + b và được gọi là hàm số ECDSA.
Khóa bí mật (private key) là một chuỗi với độ dài 256 bit được sinh ra ngẫu nhiên từ thuật toán ECDSA với chuẩn Secp256 kI cùng với khóa công khai. Khóa bí mật được dùng để tạo chữ ký điện tử xác thực các giao dịch trên Blockchain. Một giao dich chi được ghi nhận trên Blockchain khi chữ ký điện tử đính kèm trong giao dịch khớp với dia chỉ vi của họ trong giao dịch. Khóa công khai (public key) là một chuỗi được sinh ra cùng với khóa bí mật từ thuật toán ECDSA với chuẩn Secp256 k1.
Từ khóa bí mật có thé tạo ra khóa công khai thông qua thuật toán ECDSA nhưng không thé làm ngược lai. Từ khóa công khai có thé tạo ra địa chỉ ví thông qua các thuật toán mã hóa. Khóa công khai được đính kèm trong các giao dịch để chứng thực tính hợp lệ của giao dịch xem khóa công khai có hợp lệ với chữ ký hay không thông qua các bước giải mã chữ ký. 10 Địa chỉ vi (Wallet address) Một chuỗi được khởi tạo từ khóa công khai được sử dụng dé xác định người dùng trên Blockchain được gọi là Dia chi.
Dé tạo địa chỉ ví Ethereum, hãy làm theo các bước sau: Dé tạo một cặp khóa bí mật-công khai với khóa bi mật 64 byte (256-bit), hay sử dụng thuật toán ECDSA và tiêu chuẩn secp256k1. Mã hóa khóa công khai với Keccak-256 để có một chuỗi 32 byte (128 bit). Lay 20 byte cuối cùng của chuỗi.Đây là địa chi vi ma mã công khai tạo ra. Khái niệm dia chi hợp đồng lần đầu tiên xuất hiện trong Ethereum với sự ra đời của hợp đồng thông minh (smart contract).
Công nghệ tạo ra địa chi hợp đồng dé xác định các hợp đồng thông minh. Mỗi một hợp đồng thông minh được xác định bởi duy nhất một địa chỉ.