Đặt vấn đề Dựa trên các nghiên cứu, vấn đề đặt ra của nghiên cứu này là thiết kế hệ thống xử lý luồng dữ liệu dựa trên mô hình điện toán biên và điện toán đám mây. Trong đó, hệ thống có các tính năng cụ thể như sau: Hệ thống phải xử lý được dữ liệu từ nhiều nguồn dữ liệu khác nhau. Hệ thống sử dụng tối ưu ba khía cạnh tài nguyên là hạ tầng mạng (network), hiệu năng tính toán (computing), và khả năng lưu trữ (storage).5 Cấu trúc phi tập trung Cơ chế này ngược lại với mô hình truyền thống – cơ sở dữ liệu được tập trung và được dùng để quản lý và xác thực giao dịch. Công nghệ Blockchain không dựa 11 vào các tổ chức thứ ba để quản lý và xác thực, không có kiểm soát trung tâm, tất cả các nút nhận được thông tin tự kiểm tra, truyền tải, và quản lý, đặt sự tin tưởng vào các nút, cho phép các nút lưu trữ các giao dịch trong một khối (block) [7].
Các block được ghép nối với nhau tạo nên một chuỗi khối (blockchain). Cấu trúc của một block được mô tả như hình 1. Cấu trúc phi tập chung là đặc điểm nổi bật và quan trọng nhất của Blockchain.5: Cấu trúc của block gốc trong blockchain Mỗi block trong Blockchain bao gồm các thành phần sau: • Index (Block #): Thứ tự của block (block gốc có thứ tự 0) • Hash: Giá trị băm của block • Previous Hash: Giá trị băm của block trước • Timestamp: Thời gian tạo của block • Data: Thông tin lưu trữ trong block • Nonce: Giá trị biến thiên để tìm ra giá trị băm thỏa mãn yêu cầu của mỗi Blockchain. Giá trị băm (Hash) sẽ băm toàn bộ các thông tin cần thiết như timestamp, 12 previous hash, index, data, nonce.
Khi có một block mới được thêm vào, block mới sẽ có giá trị “Previous Hash” là giá trị băm của block được thêm trước nó. Blockchain tìm kiếm block được thêm vào gần nhất để lấy giá trị index và previous hash. Block tiếp theo của hình 1.3 sẽ được tính như sau: • Index: 0+1 = 1 • Previous Hash: 0000018035a828da0 Ta cần tìm giá trị “nonce” phù hợp để có giá trị băm Hash thỏa mãn điều kiện của Blockchain (có 4 số 0 ở đầu giá trị băm). Số lượng số 0 ở đầu được gọi là “difficulty” [7].
Mã giả của hàm kiểm tra giá trị Hash có thỏa mãn điều kiện hay không được viết như sau function isValidHashDifficulty(hash, difficulty) { for (var i = 0, b = hash. Quá trình tìm kiếm giá trị Nonce được thực hiện bằng mã giả sau: let nonce = 0; let hash; let input; while(!isValidHashDifficulty(hash)) { nonce = nonce + 1; input = index + previousHash + timestamp + data + nonce; hash = CryptoJS.SHA256(input) } Bằng cách lưu trữ dữ liệu trên tất cả các nút của mình, mạng blockchain loại bỏ các rủi ro đi kèm với dữ liệu được tổ chức lưu trữ tập trung. Trong mạng không có các điểm tập trung dễ bị tổn thương cho hệ thống, không có các điểm trung tâm làm cho hệ thống dừng hoạt động (central point of failure). Bất kỳ nút nào trong mạng khi dừng hoạt động sẽ không ảnh hưởng đến sự vận hành của hệ thống 13 1.6 Phân loại các hệ thống Blockchain Phân chia theo tính công khai, các hệ thống Blockchain hiện tại được chia làm 3 loại: blockchain công khai, blockchain bí mật và blockchain liên kết [7].
Trong blockchain công khai, tất cả các dữ liệu được hiển thị công khai và tất cả mọi người có thể tham gia và trở thành một nút vào trong mạng blockchain. Trong blockchain liên kết, chỉ có các nút được chỉ định để tham gia vào mạng blockchain. Blockchain bí mật chỉ bao gồm các nút của một tổ chức cụ thể Có thể phân loại các hệ thống blockchain dựa trên một số tiêu chí khác nhau. Dưới đây là ba phân loại phổ biến:Phân loại dựa trên quyền kiểm soát: Blockchain công cộng (Public Blockchain): Công cộng blockchain là một hệ thống mở, nơi mọi người có thể tham gia vào mạng lưới, thực hiện giao dịch và kiểm tra tính toàn vẹn của dữ liệu.
Ví dụ điển hình là Bitcoin và Ethereum.6 Phân loại các loại Blockchain Blockchain riêng tư (Private Blockchain): Tư nhân blockchain là một hệ thống được giới hạn cho một nhóm người dùng cụ thể. Chỉ có những người được mời hoặc được phép tham gia mới có thể thực hiện và xác minh giao dịch. Ví dụ điển hình là các hệ thống blockchain được triển khai trong các doanh nghiệp hoặc tổ chức.7 Sự giao thoa các thành phần Permissionless và Permissioned Phân loại dựa trên cơ chế đồng thuận (Consensus Mechanism): Proof of Work (PoW): PoW yêu cầu người tham gia trong mạng lưới phải giải quyết một vấn đề tính toán khó để chứng minh rằng họ đã thực hiện một lượng công việc xác định. Ví dụ điển hình là Bitcoin.8 Kiến trúc Client 1,2,3,4,5,6,7 bước xác thực với Server.
15 Proof of Stake (PoS): PoS yêu cầu người tham gia cầm giữ một số lượng tiền điện tử nhất định để có quyền tạo khối mới và kiểm soát mạng lưới. Ví dụ điển hình là Ethereum 2.9 Mô tả tương tác các thành phần trong chuỗi khối Delegated Proof of Stake (DPoS): DPoS cho phép các chủ sở hữu cổ phiếu trong hệ thống bỏ phiếu để chọn các nhà điều hành khối. Các nhà điều hành này lại có trách nhiệm xác minh và tạo khối mới. Ví dụ điển hình là EOS.1 Mainet hệ thống sau khi xây dựng public lên môi trường thực tế Proof of Authority (PoA): PoA yêu cầu những người được uỷ quyền được xác định trước để tạo khối mới và xác minh giao dịch.
Ví dụ điển hình là hệ thống blockchain được triển khai trong các tổ chức, nơi các thành viên đã được xác minh và có độ tin cậy cao.2 Phân loại dựa trên mức độ ủy quyền (Permission) Blockchain không ủy quyền (Permissionless Blockchain): Mọi người có thể tham gia vào mạng lưới và thực hiện giao dịch mà không cần sự cho phép từ bất kỳ ai. Ví dụ điển hình là Bitcoin.[8] Blockchain ủy quyền (Permissioned Blockchain): Chỉ những người được phép hoặc được mời mới có thể tham gia vào mạng lưới và thực hiện giao dịch. Ví dụ điển hình là các hệ thống blockchain được triển khai trong các doanh nghiệp hoặc tổ chức. Đây chỉ là một số phân loại phổ biến và không phải là toàn bộ.
Có thể tồn tại các hệ thống blockchain kết hợp các tính chất và phân loại khác nhau tùy thuộc vào yêu cầu cụ thể của mỗi dự án.7 Các ứng dụng điển hình trong hợp đồng thông minh (Smart Contracts) Smart Contract [9] (Hợp đồng thông minh) là một thuật ngữ mô tả khả năng tự đưa ra các điều khoản và thực thi thỏa thuận của hệ thống máy tính bằng cách sử dụng công nghệ Blockchain. Toàn bộ quá trình hoạt động của Smart Contract là hoàn toàn tự động và không có sự can thiệp từ các yếu tố bên ngoài. Xe tự lái, hợp đồng thuê nhà dạng chìa khóa trao tay hay thu phí bảo hiểm.vv chỉ là một số ví dụ về cách Smart Contract có thể chi phối hoạt động kinh doanh và đời sống của con người trong tương lai. Smart Contract giúp đảm bảo việc thực thi hợp đồng hiệu quả hơn hợp đồng truyền thống và giảm thiểu những chi phí giao dịch gây lãng phí cho các bên.
Các điều khoản của Smart Contract tương đương với một hợp đồng pháp lý và được ghi lại dưới dạng ngôn ngữ lập trình và không thể thay đổi. Mục tiêu chính của Smart Contract là cho phép hai bên không cần xác định danh tính có thể làm việc hay giao dịch với nhau trên Internet mà không cần thông qua trung gian.Sự khác biệt giữa Truyền thống và hiện đại hợp đồng truyền thống được tạo ra bởi các chuyên gia pháp lý với một lượng lớn tài liệu và cần bên thứ ba chứng thực. Điều này rất mất thời gian và trên thực tế vẫn thường xảy ra các trường hợp lừa đảo, làm giả. Nếu hợp đồng xảy ra sự cố thì cần dựa vào sự giải quyết của tư pháp, điều này dẫn đến tốn kém nhiều chi phí liên quan.
Thậm chí trường hợp xấu xảy ra là mâu thuẫn. Với Smart Contract được tạo ra bởi hệ thống máy tính bằng các ngôn ngữ lập trình. Trong đó đã nêu rõ các điều khoản và hình phạt tương đương giống như hợp đồng truyền thống đưa ra. Điều khác biệt là, Smart Contract không cần bất cứ sự can thiệp nào của con người, do vậy đảm bảo việc thực thi là chính xác và công bằng nhất.
Toàn bộ đoạn mã của Smart Contract được thực hiện bởi hệ thống sổ cái phân tán của Blockchain. Như vậy, dựa trên công nghệ Blockchain, ứng dụng Smart Contract tiếp tục cho chúng ta thấy mức độ tin cậy cao về mặt thỏa thuận và triển khai thực thi. Điều này giúp chúng ta liên tưởng tới việc ứng dụng Smart Contract sẽ làm thay đổi hoàn toàn suy nghĩ của con người trong các mối quan hệ có sự ràng buộc. Đặc biệt trong kinh doanh, điều này là vô cùng cần thiết Blockchain đã tạo ra một loạt ứng dụng quan trọng và đột phá trong nhiều lĩnh vực khác nhau.
Dưới đây là một số ứng dụng điển hình của blockchain: 18 Hình 1.3 Chuỗi khối trong giao dịch Tiền điện tử (Cryptocurrencies): Bitcoin là tiền điện tử đầu tiên được tạo ra trên nền tảng blockchain. Blockchain cho phép ghi lại các giao dịch tiền điện tử và cung cấp tính bảo mật và không thể thay đổi, giúp tạo ra một hệ thống thanh toán phân quyền.4 Các loại tiền điện tử phổ biến 19 Sổ cái phân quyền (Smart Contracts): Ethereum là một blockchain nổi tiếng cho phép sử dụng smart contract. Smart contract là các hợp đồng tự động, thực thi dựa trên điều kiện đã định trước. Chúng có thể được sử dụng trong nhiều ngữ cảnh, từ giao dịch tài sản đến hợp đồng bảo hiểm[9] Hình 1.5 Mô hình smart Contracts 20 Tài sản số (Digital Assets) Blockchain được sử dụng để tạo và quản lý các tài sản số như NFTs (Non-Fungible Tokens), tokenized real estate, và tokenized stocks.
Điều này mở ra cơ hội cho việc giao dịch và sở hữu tài sản trên nền tảng blockchain[10].5 Quản lý chuỗi cung ứng (Supply Chain Management): Blockchain giúp theo dõi nguồn gốc và lịch sử của sản phẩm trong chuỗi cung ứng. Điều này giúp cải thiện tính minh bạch và giám sát, đặc biệt trong lĩnh vực thực phẩm và dược phẩm[11].6 Bầu cử và Tự trị (Voting and Governance) Blockchain có thể được sử dụng để tạo các hệ thống bầu cử điện tử an toàn và trong trắng. Điều này giúp giảm gian lận và tăng tính minh bạch trong quy trình bầu cử và quản lý tự trị.