Đặ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á.