Blockchain là một cơ sở dữ liệu phân tán, được bảo mật bằng mật mã, chỉ có thể thêm dữ liệu, cực kỳ khó thay đổi và cập nhật dữ liệu thông qua sự đồng thuận hoặc thỏa thuận giữa các nút tham gia vào mạng [1]. Mạng Blockchain là một mạng ngang hàng phi tập trung, các nút trong mạng có vai trò như nhau, quyền kiểm soát được phân phối giữa nhiều nút thông qua cơ chế đồng thuận. Mỗi nút sẽ lưu trữ một bản sao dữ liệu của Blockchain. Một Blockchain có thể được xem như một cơ chế chuyển đổi trạng thái, theo đó một trạng thái được sửa đổi từ dạng ban đầu sang dạng tiếp theo bởi các nút trên mạng Blockchain do kết quả của việc thực hiện giao dịch. Điểm mạnh của Blockchain là công nghệ lưu trữ phi tập trung và sử dụng mật mã giúp hạn chế tối đa tình trạng giả mạo thông tin.
Cơ chế hoạt động của Blockchain: một nút trong mạng tạo một giao dịch và ký giao dịch này bằng khóa riêng của nút. Tiếp theo giao dịch sẽ được quảng bá tới các nút trong mạng dựa trên các thiết lập có sẵn. Các nút trong mạng Blockchain sau khi nhận được giao dịch sẽ xác thực tính hợp lệ của giao dịch bằng cách sử dụng thuật toán đồng thuận. Có rất nhiều thuật toán đồng thuận như Proof of work, Proof of Stake, Delegated proof of Stake... và mỗi thuật toán có cơ chế hoạt động khác nhau. Sau khi được xác nhận hợp lệ, khối mới chứa giao dịch được tạo, được thêm vào sổ cái và liên kết với khối trước đó bằng mã băm. Đồng thời khối này cũng được phân phối tới toàn bộ các nút trong mạng Blockchain để xác nhận và cập nhật vào sổ cái phân tán trên mỗi nút.
Hình 1. Sự khác nhau về kiến trúc giữa ứng dụng web truyền thống và Dapp
Sự khác nhau cơ bản về kiến trúc giữa một ứng dụng web truyền thống và ứng dụng phi tập trung (Decentralized application - Dapp) [2] được xây dựng trên nền tảng Blockchain. Bài báo này tác giả sử dụng kiến trúc của public Blockchain Ethereum.
Một số thành phần cơ bản của mạng Blockchain được thể hiện như Hình 2:
Hình 2. Cấu trúc chung của mạng Blockchain, Block, Transaction
Giao dịch (Transaction) là đơn vị cơ bản của Blockchain. Một giao dịch thể hiện sự chuyển giao giá trị từ địa chỉ này sang địa chỉ khác.
Hợp đồng thông minh (Smart contract) là các chương trình chạy trên Blockchain bao gồm các thỏa thuận, các quy tắc nghiệp vụ chi phối việc thực hiện giao dịch và thực thi tự động khi các điều kiện được đáp ứng.
Khối (Block) bao gồm phần header và body. Phần Header của mỗi khối bao gồm các thành phần như giá trị băm của header khối trước đó, dấu thời gian, số nonce, giá trị merkle root,... Phần Body của khối chứa các giao dịch [1].
Chuyển đổi số là một phần tất yếu trong quá trình phát triển của giáo dục đại học. Trong đó ứng dụng công nghệ Blockchain để đảm bảo tính toàn vẹn, minh bạch cũng đang được quan tâm. Hiện nay, các trường đại học hầu như đang sử dụng các hệ quản trị cơ sở dữ liệu truyền thống để lưu trữ dữ liệu học tập của sinh viên. Tuy nhiên nếu ứng dụng công nghệ Blockchain để lưu trữ, quản lý dữ liệu sinh viên sẽ mang lại một số lợi ích sau so với cách lưu trữ truyền thống:
Cung cấp thông tin tin cậy của sinh viên như điểm số trong suốt quá trình học, điều này sẽ đảm bảo công khai minh bạch cho tất cả các bên liên quan, gồm sinh viên, giảng viên cũng như cho các phòng, ban chức năng.
- Tạo một cổng thông tin tra cứu thông tin về điểm, văn bằng, chứng chỉ, đề tài nghiên cứu trong quá trình học của sinh viên một cách tin cậy, xác thực giữa trường học và doanh nghiệp do dữ liệu không thể làm giả, đồng thời giảm bớt các thủ tục hành chính rườm rà.
- Giảm thiểu đáng kể rủi ro về mất dữ liệu do đặc tính của Blockchain là các bản sao của dữ liệu sẽ được lưu trên nhiều nút phân tán.
Có thể thấy rằng dữ liệu sinh viên cần phải do bên tin cậy nhập vào hệ thống lưu trữ, năng lực tính toán của các nút trong mạng không cần quá mạnh, không yêu cầu quá nhiều nút trong mạng. Vì vậy cần phải xây dựng một mạng được quản trị, vận hành mà trong đó các bên tham gia phải tin cậy lẫn nhau nhưng vẫn giữ được những đặc tính của công nghệ Blockchain. Do đó cần phải lựa chọn ứng dụng loại Blockchain đáp ứng được nhu cầu này nên tác giả lựa chọn ứng dụng private Blockchain. Phần tiếp theo tác giả sẽ trình bày chi tiết về nền tảng private Blockchain Hyperledger Fabric đã được lựa chọn và đưa ra mô hình đề xuất để triển khai ứng dụng Blockchain vào quản lý dữ liệu sinh viên.
Hyperledger Fabric là nền tảng được phát triển chính thức bởi IBM và Digital Asset. Hyperledger Fabric là một mạng Blockchain phân quyền và có cơ chế đồng thuận linh hoạt. Khác với public Blockchain, Hyperledger Fabric có các mô-đun như Membership service provider, Peer, Ledger, Chaincode, Ordering service với các chức năng riêng biệt để giúp hệ thống Blockchain hoạt động. Đối với mạng public Blockchain là bất kỳ nút nào cũng có thể tham gia vào quá trình đồng thuận, trong mạng Blockchain dựa trên nền tảng Hyperledger Fabric các nút orderer sẽ thực hiện việc đồng thuận trên mạng. Từ Hyperledger Fabric phiên bản 2.x sẽ chỉ sử dụng cơ chế đồng thuận Raft. Trong cơ chế đồng thuận này mỗi nút Orderer sẽ có 3 trạng thái Leader, Candidate, Follower. Một nút có thể trở thành Leader nếu nhận được đa số phiếu bầu từ đa số nút Follower trong quá trình bầu Leader.
Quá trình bầu cử Leader [3]: Raft có một giá trị thời gian ngẫu nhiên trong khoảng từ 150ms đến 300ms được gọi là election timeout để kiểm soát các cuộc bầu cử. Sau khoảng thời gian election timeout các Follower không nhận được thông báo heartbeat từ Leader thì Follower sẽ tự nâng hạng lên thành Candidate, tự bầu cho chính mình và sẽ gửi yêu cầu bầu cử tới các nút khác. Nếu nút nhận được chưa bỏ phiếu trong nhiệm kỳ này thì nút sẽ bỏ phiếu cho Candidate và đặt lại thời gian chờ bầu cử. Mỗi một nút sẽ bỏ phiếu cho một ứng cử viên trong một thời hạn nhất định trên cơ sở yêu cầu đến trước bỏ phiếu trước. Một Candidate có đa số phiếu bầu sẽ trở thành Leader. Leader này sẽ định kỳ gửi thông báo heartbeat tới Follower để thiết lập và duy trì quyền hạn. Nhiệm kỳ bầu cử này sẽ tiếp tục đến khi một Follower ngừng nhận được thông báo này trong khoảng thời gian chờ selection timout và trở thành Candidate.
Quá trình sao chép bản ghi [3]: Tất cả những thay đổi trong hệ thống hiện tại đều phải thông qua Leader. Mỗi thay đổi được thêm vào nút dưới dạng bản ghi.
Bản ghi này chưa được xác nhận nên sẽ không làm thay đổi giá trị của nút. Để bản ghi này được xác nhận thì Leader cần gửi các bản ghi này đến các nút Follower. Thay đổi được xác nhận khi đa số Follower nhận được nó. Lúc này bản ghi sẽ được xác nhận trên nút Leader và cập nhật giá trị của nút. Leader sẽ thông báo cho các Follower bản ghi đã được xác nhận và trạng thái của hệ thống được thống nhất.
Sổ cái trong mạng Fabric được chia làm hai phần là World State và Blockchain. World State là một hệ cơ sở dữ liệu lưu trữ trạng thái hiện tại của dữ liệu. Khi một giao dịch làm thay đổi dữ liệu trên Blockchain được xác minh là hợp lệ, dữ liệu mới sẽ được cập nhật lên World State. Dữ liệu sẽ được lưu trữ kèm trường version tương ứng với lịch sử cập nhật của Blockchain để có thể theo dõi sự thay đổi của dữ liệu. Phần Blockchain sẽ lưu lại toàn bộ lịch sử giao dịch và các thay đổi dẫn đến giá trị hiện tại được lưu trữ ở World State.
Có hai loại giao dịch xảy ra trong mạng Blockchains đó là truy vấn giao dịch và cập nhật giao dịch. Đối với các truy vấn giao dịch các nút trong mạng có thể gọi chaincode để truy vấn vào sổ cái và trả về giá trị mà người sử dụng mong muốn. Tuy nhiên đối với các cập nhật giao dịch cần phải có sự đồng thuận của các nút trong mạng. Cơ chế hoạt động trong quá trình cập nhật giao dịch gồm 3 giai đoạn [3]:
Giai đoạn 1 đề xuất giao dịch: Khi người dùng tương tác qua các ứng dụng sẽ tạo ra một đề xuất giao dịch và gửi tới tất cả các nút có chức năng xác thực giao dịch. Các nút này sẽ thực thi độc lập một chaincode sử dụng đề xuất giao dịch nhận được từ ứng dụng làm đầu vào để tạo ra một phản hồi gửi lại cho ứng dụng. Các nút này sẽ không áp dụng bản cập nhật này cho sổ cái mà chỉ ký số giao dịch bằng khóa riêng của nó và gửi lại cho ứng dụng. Khi ứng dụng đã nhận đủ số lượng đề xuất đã được ký (đa số các nút) thì giai đoạn này sẽ hoàn tất.
Giai đoạn 2 sắp xếp và đóng gói các giao dịch thành các khối: Trong giai đoạn này các ứng dụng sẽ gửi các giao dịch có chứa phản hồi nhận được trong giai đoạn 1 cho nút Leader Orderer. Và tiếp theo sẽ thực hiện quá trình đồng thuận (đã trình bày ở trên). Nút này sẽ sắp xếp các giao dịch theo một trình tự nhất định và đóng gói thành các khối.
Giai đoạn 3 xác thực và thêm giao dịch vào khối: Các nút Orderer sẽ phân phối khối tới các nút kết nối với nó. Các nút này sẽ xử lý giao dịch một cách độc lập theo trình tự xem các giao dịch này đã được xác nhận bởi các nút được yêu cầu trong chính sách định trước chưa? Kiểm tra tính nhất quán bằng cách kiểm tra trạng thái hiện tại của sổ cái có tương thích với trạng thái của sổ cái sau khi bản cập nhật được thêm vào. Sau khi nút xác minh thành công sẽ cập nhật sổ cái. Các giao dịch không thành công sẽ không được áp dụng cho sổ cái, tuy nhiên chúng vẫn được giữ lại để phục vụ cho mục đích kiểm toán nhưng được thêm thông tin để thể hiện việc giao dịch không hợp lệ.
Đề xuất mô hình
Hệ thống sẽ được chia làm 3 phần chính:
- Phần client: người sử dụng sẽ sử dụng web browser để tương tác với hệ thống. Vue.js framework được sử dụng để xây dựng giao diện người dùng.
- Phần máy chủ trung gian sẽ xử lý các tác vụ của người dùng, gọi các chaincode trong mạng Blockchain, chứa các thông tin kết nối đến CA, kênh, nút trong Hyperledger Fabric sử dụng Fabric SDK.
Phần cơ sở dữ liệu: là hệ thống Hyperledger Fabric. Trong mô hình đề xuất hệ thống Fabric bao gồm 03 nút có chức năng xác thực, 03 nút Orderer tham gia vào quá trình đồng thuận và 01 nút chỉ có chức năng lưu trữ sổ cái. Các nút này có thể đặt tại các phòng ban chức năng như phòng đào tạo, phòng khảo thí, phòng giáo vụ... 01 máy chủ CA có chức năng định danh cho toàn bộ các nút, kênh tham gia vào hệ thống Blockchain. Mỗi nút này đều sẽ được cài đặt mô-đun Local Membership service provider để xác định quyền của các nút và mô-đun này cũng chứa khóa công khai của các nút khác để xác minh danh tính và tính toàn vẹn của dữ liệu nhận được. Các nút này sẽ cùng nằm trên một kênh do cùng chia sẻ một số cái chứa dữ liệu học tập của sinh viên. Mỗi nút đều sẽ lưu trữ một bản sao của sổ cái (Lsv) và một chaincode (Ssv) có chức năng cập nhật dữ liệu sinh viên nếu hợp lệ. Dữ liệu có thể được nhập vào từ người dùng hoặc chuyển từ các hệ thống phần mềm hỗ trợ thi, kiểm tra của sinh viên (việc này cần phải có giải pháp hỗ trợ là Decentralized Oracle). Luồng dữ liệu giao dịch sẽ được thực hiện như sau:
(1) Khi người dùng muốn cập nhật dữ liệu sinh viên (thêm, sửa, xóa) thì người dùng cần đăng nhập vào hệ thống.
Hình 3. Mô hình hệ thống
(2) Khi người dùng tạo một giao dịch cập nhật dữ liệu hệ thống sẽ sử dụng private key của người dùng để ký, sau đó gửi giao dịch đến nút xác thực.
(3) Nút xác thực nhận được giao dịch sẽ chạy chaincode để thực hiện nhưng chưa cập nhật giao dịch này vào sổ cái mà chỉ ký nếu giao dịch hợp lệ và gửi lại cho máy chủ.
(4) Máy chủ trung gian sẽ đợi nhận được đa số các phản hồi từ các nút xác thực và gửi các phản hồi này tới nút Orderer để thực hiện cơ chế đồng thuận.
(5) Thực hiện cơ chế đồng thuận Raft tại Ordering Services và tạo ra các khối mới.
(6) Các khối mới này sẽ được gửi tới các nút trong mạng Blockchain để cập nhật. Trước khi cập nhật các nút này sẽ tiến hành kiểm tra tính hợp lệ một lần nữa dựa vào cơ sở dữ liệu World State nội bộ.
Bài viết đã nêu được các cơ chế hoạt động, các thành phần cơ bản của mạng Blockchain nói chung và mạng private Blockchain Hyperledger Fabric nói riêng.
Đồng thời tác giả cũng đưa ra mô hình đề xuất để triển khai một hệ thống private Blockchain quản lý dữ liệu sinh viên sử dụng nền tảng Hyperledger Fabric.
TÀI LIỆU THAM KHẢO 1. Imran Bashir, (2020) "Mastering Blockchain", Third Edition, Packt, Birmingham. 2. https://codluck.com/the-architecture-of-a-web-3-0-application-dapps/ 3. https://hyperledger-fabric.readthedocs.io/en/release-2.2/ |
Vương Thị Hải Hà, Nguyễn Anh Tuấn (Học viện Kỹ thuật mật mã)
09:00 | 13/12/2022
13:00 | 17/04/2023
16:00 | 19/10/2022
10:00 | 26/05/2023
08:00 | 29/08/2018
13:00 | 19/03/2024
Hiện nay, khi mức độ phổ biến của Hệ thống tệp liên mạng (Interplanetary File System - IPFS) ngày càng phát triển thì cũng kéo theo những rủi ro và mối đe dọa bởi tội phạm mạng nhanh chóng phát triển các kỹ thuật tấn công và lợi dụng công nghệ IPFS để mở rộng hoạt động phạm tội của chúng. Các cuộc tấn công này thậm chí còn trở nên nguy hiểm hơn khi nhiều dịch vụ lưu trữ tệp, lưu trữ web và đám mây hiện đang sử dụng IPFS. Xu hướng gần đây cho thấy sự gia tăng đáng lo ngại về các cuộc tấn công lừa đảo tận dụng IPFS, trong đó kẻ tấn công lạm dụng tính chất phi tập trung của công nghệ này để lưu trữ và phân phối nội dung độc hại. Bài báo trình bày tổng quan và thực trạng tấn công lừa đảo IPFS, từ đó đưa ra phương pháp phù hợp để phòng tránh trước các cuộc tấn công lừa đảo IPFS.
09:00 | 06/12/2023
Các cuộc chiến tranh giành lãnh địa trên không gian mạng trong tương lai sẽ xuất hiện và gia tăng giữa các nhóm tội phạm mạng khi nhiều đối thủ tập trung vào cùng một mục tiêu. Vừa qua Fortinet đã công bố Báo cáo Dự báo về các mối đe dọa an ninh mạng năm 2024 từ đội ngũ nghiên cứu FortiGuard Labs đưa ra những tác động của AI tới mô hình chiến tranh mạng, đồng thời nhấn mạnh xu hướng các mối đe dọa mới nổi có thể định hình bối cảnh chuyển đổi số trong năm tới và những năm sau.
11:00 | 27/01/2023
Nhà máy thông minh hay sản xuất thông minh là sự phát triển vượt bậc từ một hệ thống sản xuất truyền thống sang một hệ thống sản xuất thông minh dựa trên dữ liệu có thể kết nối và xử lý liên tục, được thu thập từ các máy móc thiết bị sản xuất, đến các quy trình sản xuất và kinh doanh. Việc kết nối với điện toán đám mây và môi trường Internet mang lại nhiều lợi thế cho hệ thống, tuy nhiên nó cũng dẫn đến nguy cơ bị tấn công mạng. Các cuộc tấn công mạng vào các hệ thống sản xuất công nghiệp có thể làm tê liệt dây chuyền vận hành và từ chối hoạt động truy cập vào dữ liệu quan trọng. Do đó, cần thiết lập các biện pháp bảo mật mạnh mẽ để phát hiện và bảo vệ trước các mối đe dọa an ninh từ các cuộc tấn công độc hại vào hạ tầng mạng và các thiết bị công nghiệp đối với sự phát triển của mô hình nhà máy thông minh.
13:00 | 26/12/2022
Một khía cạnh quan trọng của công nghệ blockchain (chuỗi khối) là xác định người dùng nào công bố khối tiếp theo. Điều này được giải quyết thông qua việc thực hiện một trong nhiều mô hình đồng thuận có thể. Trong khi cố gắng cải thiện hiệu quả năng lượng của các chuỗi khối sử dụng bằng chứng công việc (Proof of Work - PoW) trong cơ chế đồng thuận, bằng chứng cổ phần (Proof of Stake - PoS) lại đưa ra một loạt các thiếu sót mới đáng kể trong cả mô hình tiền tệ và mô hình quản trị. Bài viết trình bày lại các phân tích của [1] và chỉ ra rằng những hệ thống như vậy là độc tài, độc quyền nhóm và được ủy quyền (permissioned).
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024