Đồ án tìm hiểu BLOCKCHAIN và ứng dụng minh họa

43 716 9
Đồ án tìm hiểu BLOCKCHAIN và ứng dụng minh họa

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO CUỐI KỲ ĐỀ TÀI: TÌM HIỂU BLOCKCHAIN VÀ ỨNG DỤNG MINH HOẠ Giáo viên hướng dẫn: Ths Huỳnh Nguyễn Khắc Huy Nhóm sinh viên thực hiện: Võ Thanh Bình 18520007 Trương Hữu Minh Đức 18520626 Thành phố Hồ Chí Minh, tháng năm 2021 MỤC LỤC A GIỚI THIỆU CHUNG Tổng quan tình hình nghiên cứu Internet xuất không phục vụ cho việc gửi email hay tải phần mềm mà cịn động lực để phát triển kinh tế toàn cầu Trong thực tế, Internet trở thành trình điều khiển kinh tế Sự xuất Internet mạng cục giúp cho việc trao đổi thơng tin trở nên nhanh chóng, dễ dàng Email cho phép nhận hay gửi thư máy tính mình, Ebusiness cho phép thực giao dịch, buôn bán mạng… Cũng giống Internet, blockchain xuất phát trào lưu với đồng tiền ảo Bitcoin Sự phát triển Internet đồng hành với tổn thất sau công mạng, gây ảnh hưởng lớn đến kinh tế xã hội Theo khảo sát hãng phân tích Grant Thornton, khoản tiền mà doanh nghiệp vào tay tin tặc Châu Á-Thái Bình Dương lên tới 81,3 tỉ la vịng 12 tháng (tính đến cuối tháng 9/2015) Mức tổn thất từ đợt công mạng châu Á nhiều Bắc Mỹ tới 20 tỉ USD EU với số tương tự, chiếm đến 25% tổng mức tổn thất giới (315 tỉ USD) Tại Việt Nam xảy tình trạng an tồn với tài khoản gửi ngân hàng, điển vụ cơng vào Vietcombank Tháng 2/2016, thông tin 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 giới học cho tổ chức Sự cố xảy cho Ngân hàng nước sử dụng định tuyến cũ giá 10 USD mà khơng có hệ thống tường lửa Số tiền tổn thất vụ lên đến tỷ USD tin tặc khơng viết sai lỗi tả Từ rủi ro từ an ninh mạng nên tổ chức tài cần cơng nghệ mới, ví dụ tảng đồng tiền số Bitcoin, Blockchain, kì vọng khơng nhằm cắt giảm chi phí ngân hàng mà cịn đảm bảo tính an tồn xa cách mạng hóa giải pháp bảo mật Với thực trạng đó, đồ án có mục tiêu nghiên cứu, ứng dụng cơng nghệ Blockchain việc thực giao dịch Lý lựa chọn đề tài Nhận thấy Blockchain công nghệ phù hợp với mức độ bảo mật cao, tính minh bạch cao khơng thể chối bỏ lịch sử giao dịch Nhóm định nghiên cứu thực triển khai ứng dụng minh họa để hiểu công nghệ nhằm mục đích xóa bỏ gian lận giao dịch đại Mục tiêu nghiên cứu Mục tiêu đồ án có nhìn tổng quan công nghệ BlockChain, biết tảng lý thuyết kỹ thuật sử dụng BlockChain, đặc biệt ứng dụng hợp đồng thông minh cơng nghệ Bên cạnh hiểu Ethereum tảng BlockChain phổ biến có ứng dụng minh họa B BLOCKCHAIN Giới thiệu Blockchain tên gọi ban đầu block chain (chuỗi khối) – sổ ghi lại thông tin số dư lịch sử tất tài khoản tham gia vào chuỗi giao dịch Mỗi khối chứa thơng tin hệ thống blockchain thường gọi "block" Các block chứa thông tin thời gian khởi tạo liên kết với khối trước đó, kèm theo mã thời gian liệu giao dịch Dữ liệu mạng lưới chấp nhận khơng có cách thay đổi Vì vậy, nói Blockchain đời để chống gian lận thay đổi liệu giao dịch Cụ thể hơn, blockchain chuỗi tuyến tính gồm nhiều khối kết nối bảo đảm chứng mật mã Một blockchain thường xây dựng hệ thống phân tán có chức sổ phi tập trung Điều có nghĩa có nhiều sổ (phân tán) khơng có tổ chức nắm quyền kiểm soát (phi tập trung) Nói cách đơn giản, người dùng tham gia vào mạng blockchain giữ điện tử liệu blockchain Dữ liệu blockchain cập nhật thường xuyên tất giao dịch đồng với người dùng Nói cách khác, hệ thống phân tán trì cơng việc tập thể nhiều người dùng khắp giới Những người dùng gọi node mạng, tất node tham gia vào trình xác minh xác thực giao dịch theo quy tắc hệ thống Do đó, quyền lực phi tập trung Cơng nghệ Blockchain áp dụng lĩnh vực khác khơng thiết phải có hoạt động tài Trong bối cảnh tiền điện tử, blockchain có vai trị lưu giữ hồ sơ vĩnh viễn tất giao dịch xác nhận Lịch sử Blockchain Ý tưởng đằng sau công nghệ blockchain mô tả từ năm 1991 nhà nghiên cứu Stuart Haber W Scott Stornetta giới thiệu giải pháp thực tế mặt tính tốn để đánh dấu thời gian văn số để chúng không bị đề lùi ngày trước can thiệp vào Hệ thống sử dụng chuỗi gồm khối bảo mật mật mã để lưu trữ văn đánh dấu thời gian, năm 1992, Merkle tích hợp vào thiết kế, khiến trở nên hiệu cách cho phép khối tập hợp vài văn Tuy nhiên, công nghệ không sử dụng sáng chế hết hạn vào năm 2004, bốn năm trước Bitcoin đời Năm 2004, nhà khoa học máy tính người theo chủ nghĩa mật mã Hal Finney (Harold Thomas Finney II) đưa hệ thống gọi RPoW, Proof Of Work Tái sử dụng Hệ thống hoạt động cách nhận Hashcash thay đổi thay dựa token proof of work, đổi lại tạo token ký RSA mà sau trao đổi trực tiếp từ người sang người khác RPoW giải vấn đề tiêu dùng hai lần cách lưu giữ quyền sở hữu token đăng ký máy chủ đáng tin cậy; máy chủ thiết kế phép người dùng toàn giới xác minh tính xác liêm thời gian thực RPoW xem thử nghiệm ban đầu bước quan trọng lịch sử tiền điện tử Vào cuối năm 2008, sách trắng giới thiệu hệ thống tiền mặt điện tử mạng ngang hàng, phi tập trung – tên Bitcoin – đăng danh sách nhận thư mật mã học người tổ chức lấy biệt danh Satoshi Nakamoto Dựa thuật tốn proof of work Hashcash, thay sử dụng hàm tính tốn dựa phần cứng RPoW, tính chống chi tiêu hai lần Bitcoin cung cấp giao thức mạng ngang hàng để theo dõi xác thực giao dịch Nói ngắn gọn, thợ đào “đào” Bitcoin để nhận phần thưởng cách sử dụng chế proof-of-work sau xác minh node phi tập trung mạng Vào ngày tháng năm 2009, Bitcoin đời Satoshi Nakamoto đào khối bitcoin đầu tiên, đem lại phần thưởng 50 bitcoin Người nhận Bitcoin Hal Finney, ông ta nhận 10 bitcoin từ Satoshi Nakamoto giao dịch bitcoin giới vào ngày 12 tháng năm 2009 Nguyên lý hoạt động Blockchain 3.1 Nguyên lý mã hoá Hệ thống blockchain thiết kế theo cách không yêu cầu tin cậy bảo đảm độ tin cậy có thơng qua hàm mã hóa tốn học đặc biệt Để thực giao dịch blockchain, cần phần mềm cho phép lưu trữ trao đổi đồng Bitcoin gọi ví tiền điện tử Ví tiền điện tử bảo vệ phương pháp mã hóa đặc biệt sử dụng cặp khóa bảo mật nhất: khóa riêng tư (private key) khóa cơng khai (public key) Nếu thơng điệp mã hóa khóa cơng khai cụ thể chủ sở hữu khóa riêng tư cặp với khóa cơng khai giải mã đọc nội dung thông điệp 3.2 Quy tắc sổ Mỗi nút blockchain lưu giữ sổ công khai Do vậy, nút biết số dư tài khoản giao dịch thực địa Hệ thống blockchain ghi lại giao dịch yêu cầu không theo dõi số dư tài khoản 3.3 Nguyên lý tạo khối Các giao dịch sau gửi lên mạng lưới blockchain nhóm vào khối giao dịch khối (block) coi xảy thời điểm Các giao dịch chưa thực khối coi chưa xác nhận Mỗi nút nhóm giao dịch với thành khối gửi vào mạng lưới hàm ý cho khối gắn vào sau Để thêm vào blockchain, khối phải chứa đoạn mã đóng vai trị đáp án cho vấn đề toán học phức tạp tạo hàm mã hóa băm đảo ngược Cách để giải vấn đề toán học đoán số ngẫu nhiên, số mà kết hợp với nội dung khối trước tạo kết hệ thống định nghĩa Điều nhiều khoảng năm cho máy tính điển hình với cấu hình đốn số đáp án vấn đề toán học 3.4 Thuật tốn bảo mật Blockchain Nếu có bất đồng khối đại diện sau chuỗi điều dẫn đến khả gian lận Nếu giao dịch xảy khối thuộc đuôi ngắn khối giải quyết, giao dịch trở lại thành giao dịch chưa xác nhận tất giao dịch khác nhóm vào khối Mỗi block chứa tham chiếu đến khối trước đó, tham chiếu phần vấn đề toán học cần giải để truyền khối sau tới mạng lưới Vì vậy, khó để tính tốn trước loạt block cần tính số lượng lớn số ngẫu nhiên cần thiết để giải khối đặt blockchain Các giao dịch mạng lưới blockchain bitcoin bảo vệ chạy đua tính tốn tốn học: với kẻ công muốn cạnh tranh với tồn mạng lưới Do đó, giao dịch ngày an toàn theo thời gian Và khối thêm vào chuỗi khứ an toàn so với khối thêm vào Bởi block thêm vào chuỗi trung bình 10p lần khoảng 1h kể từ giao dịch nhóm vào khối tạo xác suất cao giao dịch xử lý đảo ngược Đặc điểm 4.1.Ưu điểm Cơng nghệ Blockchain (Blockchain technology) đóng vai trị giống sổ ghi lại tất giao dịch xảy hệ thống Các đặc điểm blockchain kể đến như: Khơng thể làm giả, phá hủy chuỗi blockchain: Các chuỗi Blockchian gần bị phá hủy được, theo lý thuyết có máy tính lượng tử can thiệp vào giải mã chuỗi blockchain bị phá hủy hồn tồn khơng cịn internet tồn cầu Bất biến: Dữ liệu blockchan gần sửa đổi (chỉ sửa đổi người tạo nó, phải đồng thuận nút mạng) liệu lưu giữ mãi Bảo mật Dữ liệu: Các thông tin, liệu chuỗi blockchain phân tán an tồn tuyệt đối có người nắm giữ private key có quyền truy xuất liệu Minh bạch: Ai theo dõi đường liệu blockchain từ địa tới địa khác thống kê tồn lịch sử địa Hợp đồng thơng minh: kỹ thuật số nhúng đoạn code if-this-thenthat (IFTTT) hệ thống, cho phép chúng tự thực thi mà không cần bên thứ ba Blockchain không cần bên thứ ba tham gia vào hệ thống, bảo đảm tất bên tham gia biết chi tiết hợp đồng điều khoản tự động thực điều kiện bảo đảm 4.2.Nhược điểm Tấn công 51%: Blockchain có tính an tồn cao nhiên bị cơng, đặc biệt nhắc tới nhiều công 51% Cuộc công xảy có đơn vị kiểm soát 50% sức mạnh mạng lưới Điều cho phép đơn vị phá vỡ mạng lưới cách cố ý ngăn chặn sửa đổi việc đặt giao dịch Rất khó sửa đổi liệu: Một liệu thêm vào Blockchain việc sửa đổi khó Việc thay đổi liệu mã Blockchain thường phức tạp thường cần có hard fork (trong chuỗi bị bỏ chuỗi đưa lên) Chìa khóa cá nhân: Người dùng cần chìa khóa cá nhân để truy cập vào block họ, nghĩa tự họ đóng vai trị ngân hàng tự giữ tiền Nếu người dùng chìa khóa cá nhân, tiền bị khơng thể mở khóa để lấy lại Rất tốn điện: Quy trình sử dụng nhiều điện Vì Blockchain chép đến nút Blockchain nên tạo số lượng lớn dư thừa Phân loại Trong hệ thống Blockchain chia thành loại gồm: Public: Đây hệ thống blockchain mà có quyền đọc ghi liệu Blockchain Quá trình xác thực giao dịch Blockchain địi hỏi phải có hàng nghìn hay chí hàng vạn nút tham gia Do để công vào hệ thống Blockchain điều bất khả thi chi phí cao Ví dụ public blockchain: Bitcoin, Ethereum… Private: Đây hệ thống blockchain cho phép người dùng quyền đọc liệu, khơng có quyền ghi điều thuộc bên thứ ba tuyệt đối tin cậy Bên thứ ba khơng cho phép người dùng đọc liệu số trường hợp Bên thứ ba tồn quyền định thay đổi Blockchain Vì Private Blockchain, thời gian xác nhận giao dịch nhanh cần lượng nhỏ thiết bị tham gia xác thực giao dịch Ví dụ: Ripple dạng Private Blockchain, hệ thống cho phép 20% nút gian dối cần 80% lại hoạt động ổn định Permissioned: Hay gọi Consortium, dạng Private Blockchain bổ sung thêm số tính định, kết hợp “niềm tin” tham gia vào Public “niềm tin tuyệt đối” tham gia vào Private Ví dụ: Các ngân hàng hay tổ chức tài liên doanh sử dụng Blockchain cho riêng Các phiên Hiện cơng nghệ blockchain có phiên gồm: Blockchain 1.0 – Tiền tệ Thanh toán: Là phiên sơ khai blockchain, ưng dụng phiên công việc liên quan đến tiền mã hoá: bao gồm việc chuyển đổi tiền tệ, kiều hối tạo lập hệ thống toán kỹ thuật số Đây lĩnh vực quen thuộc với nhiều ngườt nhất, nhiều người lầm tưởng Bitcoin Blockchain Blockchain 2.0 – Tài Thị trường: Đây phiên thứ blockchain, ứng dụng xử lý tài ngân hàng: mở rộng quy mô Blockchain, đưa 10 EVM nói cách đơn giản phần mạng Ethereum có nhiệm vụ xử lý việc triển khai thực thi smart contract Một giao dịch chuyển ETH từ tài khoản qua tài khoản khác khơng cần EVM xử lý EVM có tất client (node) mạng Ethereum, hướng đến mục tiêu máy tính phi tập trung tồn cầu EVM máy trạng thái Turing hoàn chỉnh, tất bước thực thi giới hạn lượng hữu hạn bước tính tốn Đây điều khác biệt so với Bitcoin bitcoin Stack Machine máy Turing khơng hồn chỉnh EVM có kiến trúc dựa ngăn xếp (stack-based) Chạy theo nguyên tắc First in Last out Kích thước ngăn xếp EVM 256-bit ngăn xếp có kích thước tối đa 1024 Các thành phần lưu trữ thông tin EVM chia thành phần: - Một mã ROM cố định, thay đổi Được load byte code smart contract xử lý contract - Memory: liệu lưu trữ dạng mảng byte Memory không ổn định, nhớ ngắn hạn, có nghĩa liệu memory không lưu trữ lâu dài - Storage: nhớ dài hạn Không giống memory, storage khơng biến động trì phần trạng thái hệ thống EVM lưu mã chương trình riêng biệt, ROM ảo truy cập thông qua lệnh đặc biệt Khác với máy tính theo kiến trúc von Neumann điển hình, mã chương trình lưu trữ memory storage EVM có ngơn ngữ nó: “EVM bytecode” Khi viết hợp đồng thông minh hoạt động Ethereum, thường viết mã ngôn ngữ bậc cao Solidity hay Vyper Sau chúng biên dịch bytecode mà EVM hiểu 29 Hợp đồng thông minh (Smart Contract) 3.1.Smart contract gì? Một “hợp đồng thơng minh (smart contract)” chương trình chạy Etherem Blockchain, chấp nhận lưu trữ ether, liệu kết hợp hai Đây giao thức đặc biệt có khả tự động thực điều khoản, thoả thuận bên hợp đồng (ở trường hợp hệ thống máy tính) nhờ hỗ trợ cơng nghệ Blockchain Tồn hoạt động Smart Contract thực cách tự động khơng có can thiệp từ bên ngồi, hay thơng qua bên thứ ba trung gian Những giao dịch thực hợp đồng thơng minh minh bạch, dễ dàng truy xuất bị can thiệp đảo chiều Các điều khoản Smart Contract tương đương với hợp đồng có pháp lý ghi lại ngơn ngữ lập trình Điểm bật Smart Contract cho phép hai bên tham gia thực hợp đồng cách xác, an tồn nhanh chóng; mà khơng cần bên biết từ trước, 30 không cần phải gặp trực tiếp để làm việc với nhau, hay bên trung gian thứ ba mà cần có kết nối Internet * Lấy ví dụ: Smart Contract bảo hiểm, đính kèm API điều kiện hưởng bảo hiểm Đầu vào hóa đơn bệnh viện Nếu người tham gia có đủ chấn thương, tự động số tiền nhảy vào tài khoản họ, không cần cơng làm hồ sơ địi số tiền bảo hiểm 3.2.Smart contract hoạt động nào? Cơ chế hoạt động Smart Contract nói giống với máy bán hàng tự động Có nghĩa chúng tự động thực điều khoản lập trình sẵn từ trước điều khoản đáp ứng đủ yêu cầu cần thiết Đầu tiên, điều khoản hợp đồng viết ngơn ngữ lập trình, sau mã hóa chuyển vào block thuộc Blockchain Sau chuyển vào block, Smart Contract phân phối chép lại node hoạt động tảng Sau có nhận lệnh triển khai hợp đồng triển khai theo điều khoản định sẵn Đồng thời, Smart Contract tự động kiểm tra trình thực cam kết, điều khoản nêu hợp đồng 31 * Lấy ví dụ: Giả sử A muốn thuê hộ từ B A trả tiền thuê nhà tiền điện tử qua Blockchain Sau biên nhận đưa vào hợp đồng thông minh bên B; B đưa A mật mã vào hộ vào ngày định Nếu mật mã khơng đến thời hạn hai bên thống nhất, hợp đồng thông minh trả lại tiền Nếu đến trước hạn, hệ thống giữ lại tiền mật mã kì hạn Hệ thống hoạt động dựa mệnh đề “If – Then” giám sát hàng trăm người, khơng thể có lỗi sai xảy việc giao nhận 3.3.Lợi ích smart contract Hợp đồng thông minh tận dụng nhiều điểm mạnh cơng nghệ Blockchain nên có nhiều lợi ích: - Tự động hóa: Q trình thực hợp đồng tự động Đồng thời bạn người tạo hợp đồng, khơng cịn phải phụ thuộc vào mơi giới, luật sư hay khác Như vậy, xóa bỏ nguy đến từ bên thứ ba - Không bị thất lạc: Tài liệu bạn mã hóa sổ chung, có nghĩa khơng thể bị thất lạc Với Blockchain, tất người bạn có lưu trữ lại tài liệu bạn - An toàn: Blockchain đảm an toàn cho tài liệu bạn Khơng hacker đe dọa đến chúng - Tốc độ: Hợp đồng thông minh sử dụng ngơn ngữ lập trình, code phần mềm để tự động hóa điều khoản, tiết kiệm hàng tiếng đồng hồ cho công việc không cần thiết - Tiết kiệm: Hợp đồng thông minh tiết kiệm cho bạn hàng đống tiền nhờ xóa bỏ khâu trung gian - Chính xác: Các hợp đồng tự động không nhanh rẻ mà tránh lỗi thường thấy viết giấy tờ 3.4.Ưu nhược điểm 32 - Ưu điểm: o Ứng dụng Smart Contract sử dụng nhiều lĩnh vực tương lai, số lĩnh vực triển khai smart contract bao gồm: Tiền điện tử, logistic, ngân hàng, bất động sản chí việc bầu cử, … o Tự do: Không bị quan quản lý o An tồn minh bạch - Nhược điểm: o Tính pháp lý: Bạn không bảo vệ quyền lợi xảy lỗi phát sinh pháp luật nước chưa có sách để khai thác, quản lý smart contract o Chi phí triển khai: Cần chi trả cho hệ thống sở hạ tầng, máy tính, lập trình viên giỏi để họ triển khai o Rủi ro từ internet: Bản chất Smart Contract an toàn, bạn để lộ số thông tin nhạy cảm bị hacker khai thác thơng tin chắn gặp trường hợp rắc rối Ứng dụng phi tập trung (Dapps) 4.1.Dapps gì?  Khái niệm phi tập trung Đầu tiên, phi tập trung gì? Phi tập trung hiểu đơn giản khơng có máy chủ trung tâm để xử lí Việc xử lí thực thi máy tham gia vào mạng lưới Để hiểu rõ phi tập trung, ta phân dạng mạng lưới bản: Tâp trung, phân tán phi tập trung 33 - Tập trung (Centralize) Ở mạng lưới tập trung, có máy chủ đóng vai trị xử lí tập trung cho tồn giao dịch Một ví dụ mạng lưới tập trung hệ thống ebanking ngân hàng Trong hệ thống này, giao dịch chuyển tiền xử lí tập trung hệ thống máy chủ để đảm bảo đồng liệu Ưu điểm hệ thống tập trung việc dễ dàng cập nhật có điểm xử lí lưu trữ Tuy nhiên việc lại làm hệ thống dễ dàng bị sụp đỗ điểm trung tâm bị chết - Phân tán (Distributed) Trong mạng lưới phân tán, ngồi điểm xử lí trung tâm, ta có thêm điểm xử lí nhỏ để hỗ trợ xử lí Ngồi ra, sở liệu phân tán Ví dụ: Hệ thống mạng xã hội Facebook Ngồi điểm xử lí trung tâm, Facebook cịn đặt điểm xử lí khác khác châu lục khác để xử lí cho người dùng châu lục Hệ thống phân tán làm tăng khả chịu lỗi hệ thống so với hệ thống tập trung Tuy nhiên, cần phải xây dựng thêm chế đồng liệu máy chủ - Phi tập trung (Decentralize) 34 Quay trở lại với nhân vật Ứng dụng phi tập trung mà Ethereum mang lại Trong mạng lưới phi tập trung, khơng có điểm xử lí lưu trữ tập trung Các máy mạng lưới tham gia vào xử lí giao dịch Ngồi ra, máy tham gia q trình xử lí, kèm theo việc lưu trữ liệu đồng toàn mạng lưới Đối với mạng lưới phi tập trung, việc cập nhật phiên phầm mềm vơ khó khăn phải đạt đồng thuận toàn mạng lưới Ngoài ra, việc xử lí giao dịch chậm hệ thống tập trung Tuy nhiên, máy mạng lưới giao tiếp ngang hàng, có quyền xử lí nhau, lưu trữ liệu nên hệ thống phi tập trung không bị hủy diệt người chấp nhập sử dụng hệ thống  Khái niệm ứng dụng phi tập trung Cho đến tại, chưa có khái niệm cụ thể, rõ ràng ứng dụng phi tập trung Có thể hiểu ứng dụng phi tập trung (decentralized application - Dapp) ứng dụng xây dựng mạng ngang hàng phi tập trung, phân quyền kết hợp hợp đồng thông minh giao diện người dùng Một ứng dụng cần có đặc tính cụ thể sau để trở thành Dapp: - Open Source: source code ứng dụng xem tất người - Decentralized: sử dụng cơng nghệ mã hố giống blockchain - Incentive: ứng dụng có token mã hố/ tài sản ảo để cung cấp cho - Algorithm/Protocal: tạo token có chế đồng thuận có sẵn Một số ví dụ ứng dụng phi tập trung bản: - Augur: ứng dụng thị trường dự đoán kết kiện thực tế, xếp vào loại thứ ứng dụng Dapp Thơng qua trình duyệt Ethereum đặc biệt 35 đưa ra, Dapp phân quyền giao tiếp trực tiếp tới mạng lưới Ethereum mà khơng cần qua máy chủ trung gian - Ví Mist MetaMask: Dapp ứng dụng lâu đời mạng lưới Ethereum Thông qua ứng dụng phi tập trung, phân quyền, cho phép người dùng tương tác ví họ với mạng lưới, mà không cần “hỏi ý kiến” - SAFE Network: sử dụng ứng dụng phân cấp để bảo vệ liệu cá nhân giao tiếp riêng tư người dùng hệ thống Ứng dụng sử dụng công nghệ mạng hàng ngang peer-to-peer để kết nối với người dùng, tạo mạng lưới ngang hàng, riêng tư, không cần tập trung vào máy chủ - Golem: xem “thị trường toàn cầu đầu tiên”, giúp thúc đẩy sức mạnh tính tốn tạo điều kiện thuận lợi giao dịch Tự thân tảng phi tập trung này, giúp trở thành siêu máy tính tồn cầu, có mở nguồn mở - Aragon: xây dựng blcokchain Ethereum, Aragon tảng quản lí phi tập trung đầy tham vọng Với mạng Aagon Token, cá nhân hệ thống tham gia vào q trình vận chuyển đưa định cho hệ thống 4.2.Phân loại Dapps Người ta chia Dapps thành nhóm: sàn giao dịch, ví, ứng dụng cá cược, game, tài chính, mạng xã hội số lĩnh vực khác Tuy nhiên, dựa vào đặc tính sở hữu blockchain riêng hay xây dựng blockchain khác, người ta lại chia thành loại: - Loại 1: Loại DApps có blockchain riêng nó, chẳng hạng Bitcoin hay Ethereum - Loại 2: Đây ứng dụng phân quyền sử dụng blockchain ứng dụng phân quyền loại Dapp loại thực giao thức phát hành mã token để thực chức cho ứng dụng Ví dụ DApp loại Omni Protocol 36 - Loại 3: Cũng Dapp loại 2, ứng dụng phân quyền loại sử dụng giao thức blockchain loại Ứng dụng thực chức cần thiết dựa vào giao thức mã token Ví dụ, SAFE network sử dụng Omni Protocal để phát hành SafeCoin sử dụng để tạo file storage phân phối 4.3.Dapps hoạt động nào? DApps hoạt cách thực tất bốn tiêu chí: Open Source, Decentralized, Incentive, Algorithm/Protocal Do đó, ứng dụng phải ứng dụng mã nguồn mở, thực phi tập trung nhìn thấy đóng góp cho source code Nó đẩy nhanh trình cho khả mở rộng phát triển sản phẩm chất lượng số lượng Tiếp theo phi tập trung hóa ứng dụng cách sử dụng blockchain Blockchain phục vụ sổ vĩnh viễn hồ sơ / giao dịch mà tham khảo lúc Và cuối cùng, để thêm records / giao dịch vào sổ vậy, token sử dụng khai thác tiền khai thác cách sử dụng thuật toán / giao thức khác Hiện nay, giao thức phổ biến sử dụng Proof-of-work (POW) Proof-of-stake (POS) Ngôn ngữ Solidity 5.1 Khái niệm Solidity ngôn ngữ bậc cao (high-level) dùng để triển khai ứng dụng smart contract Đây ngôn ngữ hướng đối tượng, tương tự C++, Python hay JavaScript thiết kế dành riêng cho Ethereum Virtual Machine (EVM) Solidity ngôn ngữ kịch nhập tĩnh Nó thực q trình xác minh thực thi ràng buộc thời điểm biên dịch (compile-time) thay runtime 5.2 Chức 37 Trái ngược với ngôn ngữ dựa Máy ảo Ethereum khác, Solidity bao gồm chức sau: - Hỗ trợ nhiều kế thừa với tuyến tính hóa C3 - Hỗ trợ đối tượng biến trạng thái, kiểu liệu nhiều hàm lập trình khác - Các biến thành viên phức tạp cho contract chứa cấu trúc ánh xạ phân cấp tùy ý - Giao diện nhị phân ứng dụng tạo điều kiện cho số chức an toàn kiểu contract Nhiều tảng blockchain bao gồm Ethereum, Tendermint, Ethereum Classic, Counterparty ErisDB hỗ trợ Solidity 5.3 Kiểu liệu Solidity hỗ trợ kiểu liệu: - Integers (số nguyên): Solidity hỗ trợ miền số ngun khơng dấu có dấu Ví dụ: từ khóa “uint256” sử dụng để phân bổ kích thước 256 bit hỗ trợ ngoại lệ thời gian chạy - Boolean: Kiểu liệu boolean trả giá trị “0” false “1” true, tùy thuộc vào độ xác điều kiện Đầu thường tạo dạng giá trị boolean toán tử logic sử dụng - Modifiers (công cụ sử đổi): Công cụ sửa đổi sử dụng để xác định tính quán điều kiện trước mã hợp đồng thông minh thực thi - String Literals (chuỗi chữ viết): Các chữ chuỗi biểu diễn dấu ngoặc kép dấu nháy đơn Bên cạnh đó, Solidity cung cấp enum, tốn tử, mảng, để tạo thành cấu trúc liệu gọi “mappings” Nó sử dụng để trả giá trị liên kết với 38 vị trí lưu trữ Vì cú pháp giống với ngơn ngữ lập trình chung Cho nên hỗ trợ mảng đơn mảng đa chiều 39 D ỨNG DỤNG MINH HOẠ Giới thiệu toán Hệ thống lưu trữ hoá đơn blockchain Kiến trúc hệ thống Trong hệ thống này, liệu hoá đơn lưu trữ mạng blockchain ethereum thay lưu database server 40 Server đảm nhận việc lưu thông tin user dùng để đăng nhập, đăng xuất khỏi ứng dụng Mạng Ethereum sử dụng mạng testnet Rosten – mạng blockchain ethereum dùng để deloy smart contract nhằm thực việc test trước đưa smart contract lên mạng ethereum thức – mainnet Cơng nghệ sử dụng • • • • Backend: ExpressJs, MongoDb Fontend: ReactJs, Web3Js Compile Deploy Smart Contract: Truffe Framework Tool khác: Ganache – Phần mềm giả lập mạng blockchain local (1 node), Ví điện tử MetaMask 41 E KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN Kết đạt Qua q trình tìm hiểu nghiên cứu blockchain nói chung mạng ethereum nói riêng, nhóm chúng em tích luỹ thêm hiểu biết Blockchain như: • • • • Hiểu blockchain Cách vận hành node mạng blockchain Tại mạng blockchain lại có tính bảo mật cao minh bạch Ứng dụng blockchain vào việc lưu trữ hoá đơn mang đến độ tin cậy Hướng phát triển Bên cạnh kết đạt được, nhóm cịn vấn đề cần phải làm rõ tương lai: • Các thuật toán mã hoá sử dụng việc tạo private key, public key, address hay tạo chữ ký cho giao dịch • Cách thức hoạt động mạng P2P phương thức truyền thông node mạng Blockchain • Làm rõ chế đồng thuận sử dụng Blockchain 42 F TÀI LIỆU THAM KHẢO [1] https://ethereum.org/en/developers/docs/ [2] https://docs.soliditylang.org/en/v0.8.2/# [3] https://viblo.asia/p/ethereum-hoat-dong-nhu-the-nao-6J3ZgwoEZmB [4] https://inseclab.uit.edu.vn/hop-dong-thong-minh-smart-contract-trong-lap-trinhdapp-voi-ethereum [5] https://coin98.net/web3 [6] https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ [7] https://www.geeksforgeeks.org/blockchain-technology-introduction/?ref=rp 43 ... thuyết kỹ thuật sử dụng BlockChain, đặc biệt ứng dụng hợp đồng thông minh cơng nghệ Bên cạnh hiểu Ethereum tảng BlockChain phổ biến có ứng dụng minh họa B BLOCKCHAIN Giới thiệu Blockchain tên gọi... Hợp đồng - hợp đồng thông minh triển khai vào mạng, kiểm sốt mã Tìm hiểu hợp đồng thông minh Cả hai loại tài khoản có khả năng: - Nhận, giữ gửi ETH mã thông báo - Tương tác với hợp đồng thông minh. .. gia xây dựng ứng dụng tảng này, đem ứng dụng Blockchain thoát khỏi đánh đồng với tiền ảo mắt nhiều người 1.1.Ethereum ? Ethereum tảng điện tốn phân tán, mã nguồn mở dựa cơng nghệ Blockchain có

Ngày đăng: 05/09/2021, 20:46

Mục lục

    1. Tổng quan tình hình nghiên cứu

    2. Lý do lựa chọn đề tài

    3. Mục tiêu nghiên cứu

    3. Nguyên lý hoạt động của Blockchain

    3.1. Nguyên lý mã hoá

    3.2. Quy tắc của sổ cái

    3.3. Nguyên lý tạo khối

    3.4. Thuật toán bảo mật Blockchain

    7. Cơ chế đồng thuận

    2. Các khái niệm trong Ethereum

Tài liệu cùng người dùng

Tài liệu liên quan