Kiến trúc kỹ thuật tổng quan

Một phần của tài liệu Xây dựng mô hình nông nghiệp bền vững ứng dụng công nghệ blockchain (Trang 88 - 95)

6 Hiện thực và đánh giá thực nghiệm

5.1 Kiến trúc kỹ thuật tổng quan

Như đã trình bày ở các chương trước, việc lưu trữ thông tin trên Blockchain sẽ được thực hiện bằng cách gửi một giao dịch tương tác với Hợp đồng thông minh. Mỗi khi canh tác sản xuất, người sử dụng đều phải ghi nhật ký lại và tạo thành một giao dịch Blockchain, vì vậy số lượng giao dịch là rất lớn khi có nhiều người dùng đồng thời sử dụng. Lưu ý rằng, các giao dịch này không liên quan tới việc chuyển - nhận tiền mã hóa mà chỉ sử dụng để lưu trữ các thông tin trên mạng Blockchain. Để đáp ứng được yêu cầu trên, thì kiến trúc kỹ thuật tổng quan cần được thiết kế theo định hướng như sau:

Khả năng xử lý giao dịch: Do hạn chế của nền tảng Blockchain (về số lượng tối đa giao dịch có thể xử lý tại một thời điểm và thời gian xử lý một khối dữ liệu)[50] nên kiến trúc cần được thiết kế để có thể “tận dụng” gom những công đoạn giống nhau vào cùng một giao dịch hoặc tối thiểu số giao dịch cần gửi lên Blockchain để đảm bảo hiệu năng và đáp ứng được một lượng lớn người dùng.

5.1 Kiến trúc kỹ thuật tổng quan

Tính minh bạch và riêng tư của dữ liệu: Tận dụng tính minh bạch của công nghệ Blockchain, tất cả dữ liệu truy xuất nguồn gốc sẽ được lưu trữ để mọi tác nhân có thể tra cứu và xác thực trên nền tảng Blockchain[51]. Tuy nhiên, để đảm bảo tính riêng tư của dữ liệu (đặc biệt là các dữ liệu liên quan tới kinh doanh) thì sẽ có một phần dữ liệu sẽ được lưu trữ dưới dạng mã hóa. • Thân thiện với người sử dụng: Đối tượng sử dụng giải pháp phần mềm này

đa phần sẽ là nông dân - những người chưa quen với công nghệ. Vì vậy giải pháp phần mềm (đặc biệt là áp dụng công nghệ mới như Blockchain) cần được thiết kế sao cho đơn giản, không liên quan tới tiền mã hóa hay việc trả phí giao dịch. Ngoài ra, cũng cần phải lựa chọn nền tảng Blockchain hỗ trợ các công cụ để người dùng dễ dàng đọc hiểu và đối chiếu dữ liệu được lưu trữ trên Blockchain.

Với các mục tiêu trên, giải pháp phần mềm sẽ được hiện thực theo kiến trúc bao gồm 4 lớp. Kiến trúc này được cải tiến dựa trên kiến trúc mà tác giả đã trình bày trong công bố khoa học [52]:

• Lớp ứng dụng: Là tập hợp bao gồm các ứng dụng phần mềm giúp cho người dùng có thể ghi lại nhật ký sản xuất cũng như quản lý các thông tin liên quan tới quá trình sản xuất giữa các tác nhân trong chuỗi giá trị. Bên cạnh đó, lớp này cũng bao gồm cổng truy xuất nguồn gốc - nơi sẽ hiển thị các thông tin truy xuất khi người tiêu dùng quét mã QR trên sản phẩm.

• Lớp xử lý dữ liệu Blockchain: Lớp này đóng vai trò bổ sung cho lớp ứng dụng, hiện thực các chức năng liên quan tới việc chuẩn bị dữ liệu giao dịch, gửi giao dịch cũng như việc định thời các giao dịch trên Blockchain. Các tác vụ trên nhằm tránh các xung đột về dữ liệu phát sinh trong quá trình người dùng thực hiện các chức năng có liên quan tới công nghệ Blockchain. • Lớp Hợp đồng thông minh: Đây là phần quan trọng nhất của một ứng dụng

phi tập trung, tại lớp này sẽ mô hình hóa các quy trình nghiệp vụ và số hóa các tác nhân trong hệ sinh thái liên quan tới truy xuất nguồn gốc. Thông qua lớp này, các thông tin được lưu trữ có cấu trúc và có thể truy vết trên mạng lưới Blockchain.

5.1 Kiến trúc kỹ thuật tổng quan

• Lớp mạng lưới Blockchain: Đây là mạng lưới Blockchain mà tác giả sẽ nghiên cứu, phân tích, chọn lựa để xây dựng giải pháp phần mềm. Nhìn chung, lớp mạng lưới này cần phải đảm bảo được các tiêu chí đã phân tích ở các chương trước đó, bao gồm các tiêu chí về khả năng xử lý giao dịch, phí giao dịch và khả năng tương tích với máy ảo Ethereum.

Nhìn chung, về mặt ứng dụng được sử dụng bởi người dùng cuối thì một phần mềm truy xuất nguồn gốc sẽ bao gồm 04 mô-đun phần mềm nhỏ, đảm nhiệm các vai trò khác nhau và được sử dụng bởi những tác nhân khác nhau, cụ thể sẽ bao gồm: mô-đun các dịch vụ lõi, mô-đun quản trị doanh nghiệp, mô-đun nhập liệu và mô-đun cổng truy xuất nguồn gốc. Các mô-đun này sẽ tương tác trực tiếp với nhau và xoay quanh nền tảng Blockchain.

Nếu như các mô-đun phần mềm nhỏ trên thuộc lớp ứng dụng, thì nền tảng Blockchain sẽ bao gồm 03 lớp còn lại trong kiến trúc kỹ thuật tổng quan trình bày ở hình 5.1. Lớp xử lý dữ liệu Blockchain kết hợp với mô-đun các dịch vũ lõi (ở lớp ứng dụng) sẽ đóng vai trò là cầu nối giữa ứng dụng phần mềm và lớp Hợp đồng thông minh. Trong khi đó, lớp Hợp đồng thông minh sẽ phụ trách xử lý các lo-gic nghiệp vụ của phần mềm, cuối cùng dữ liệu sẽ được lưu trữ ở lớp mạng lưới Blockchain.

5.2 Nền tảng Blockchain

5.2 Nền tảng Blockchain

5.2.1 Mạng lưới Blockchain

Như đã trình bày ở chương 03, tác giả sẽ tiếp cận công nghệ Blockchain bằng cách xây dựng trên một mạng lưới Blockchain đã có sẵn và thừa kế toàn bộ các tính chất của hệ thống đó. Hiện tại trên thế giới đang có rất nhiều mạng lưới Blockchain khác nhau, nổi tiếng nhất có thể kể đến như Bitcoin1, Ethereum2, Binance Smart Chain3, Cardano4,... Mỗi mạng lưới Blockchain này sẽ giải quyết một vấn đề nhất định và đa số là trong lĩnh vực tài chính, thanh toán. Một mạng lưới Blockchain phù hợp để xây dựng các ứng dụng phần mềm phi tập trung thì cần phải có khả năng hỗ trợ lập trình (hay nói cách khác phải hỗ trợ Hợp đồng thông minh).

Theo thống kê của CoinMarketCap thì tính đến ngày 29/12/2021 trên thế giới đang có 135 dự án Blockchain được gán nhãn là hỗ trợ chức năng lập trình Hợp đồng thông minh với nhiều ngôn ngữ khác nhau. Tuy nhiên trong thực tế thì do sự hoàn thiện và hiệu quả mạng lưới Ethereum, nên hầu hết các mạng lưới Blockchain sẽ được thiết kế để tương thích với máy ảo EVM. Cần lưu ý rằng, hầu hết các mạng lưới Blockchain công khai sẽ yêu cầu dùng tiền mã hóa để làm phí xử lý giao dịch nhằm duy trì mạng lưới.

Lấy ví dụ như mạng lưới Polygon, được xem là loại Blockchain có phí xử lý giao dịch rẻ nhất trong dòng EVM, thì cũng đang mất khoảng $0.05 (tương đương 1,160 VND) cho một giao dịch chuyển tiền mã hóa đơn giản5. Như vậy, nếu áp dụng trên mạng lưới này thì mỗi lần người nông dân ghi nhận thông tin nhật ký sản xuất, nông dân sẽ tốn 1,160 đồng và chưa kể là mỗi nông dân phải sở hữu tiền mã hóa (của mạng lưới Polygon) trong địa chỉ Blockchain của họ. Điều này khiến cho việc triển khai phần mềm truy xuất nguồn gốc là gần như không khả thi nếu áp dụng mạng lưới Blockchain công khai.

Vì lý do trên, tác giả sẽ lựa chọn mạng lưới Blockchain dành cho doanh 1https://bitcoin.org/bitcoin.pdf

2https://ethereum.org/en/whitepaper/

3https://github.com/binance-chain/whitepaper/blob/master/WHITEPAPER.md

4https://cardano.org/what-is-ada/

5.2 Nền tảng Blockchain

nghiệp, đặc điểm của mạng lưới Blockchain này là doanh nghiệp sẽ tự triển khai và vận hành các nút trong mạng lưới. Mục tiêu hướng tới việc lưu trữ dữ liệu phi tập trung và minh bạch trên mạng lưới Blockchain mà không cần tiền mã hóa làm phí giao dịch. Bảng 5.1 so sánh giữa các mạng lưới Blockchain dành cho doanh nghiệp:

Bảng 5.1: Bảng so sánh giữa các mạng lưới Blockchain dành cho doanh nghiệp

Nền tảng Mạng lưới Blockchain Luật đồng thuận Sử dụng tiền hóa Tương thích máy ảo EVM Hỗ trợ API truy vấn dữ liệu Hỗ trợ Block Explorer tra cứu dữ liệu Quorum6 Ethereum (Hyper- ledger Besu, GoQuorum) Ethash, Clique, IBFT 2.0, Quorum IBFT 1.0, QBFT, RAFT Không Có Có Không Sử dụng mã nguồn mở VBChain7 Ethereum (Hyper- ledger Besu, GoQuo- rum, Open Ethereum) Ethash, Clique, IBFT 2.0, Quorum IBFT 1.0, QBFT Không Có Có Có 6https://consensys.net/quorum/

5.2 Nền tảng Blockchain Hyperledger Fabric8 Hyperledger Fabric Kafka,

Raft Không Không Có

Không Sử dụng mã nguồn mở Hyperledger Besu9 Ethereum (Hyperledger Besu) Ethash, Clique, IBFT 2.0, Quorum IBFT 1.0, QBFT Không Có Có Không Sử dụng mã nguồn mở AkaChain10 Hyperledger Fabric Kafka,

Raft Không Không Có Có

Corda11 Corda

Validity, Unique- ness

Không Không Có Có

Tất cả các mạng lưới Blockchain trên đều phù hợp để triển khai phần mềm truy xuất nguồn gốc được mô tả trong phạm vi nghiên cứu của đề tài. Tuy nhiên xét về tính dễ dàng khi cấu hình mạng lưới, cũng như mức độ đầy đủ của các công cụ hỗ trợ liên quan thì tác giả nhận thấy nền tảng VBChain là phù hợp nhất. Trong nền tảng này bao gồm các mạng lưới Blockchain (tương thích với máy ảo EVM) và bộ công cụ giúp người dùng cuối tra cứu, xác minh thông tin trên mạng lưới Blockchain. Vì các lý do trên, tác giả sẽ lựa chọn nền tảng VBChain trong quá trình hiện thực (sẽ được trình bày ở chương 6).

8https://www.hyperledger.org/use/fabric

9https://besu.hyperledger.org/en/stable/

10https://akachain.io/

5.2 Nền tảng Blockchain

5.2.2 Kiến trúc Hợp đồng thông minh

Lớp Hợp đồng thông minh được dùng để mô tả các quy trình nghiệp vụ của truy xuất nguồn gốc và số hóa các đối tượng đã mô tả ở chương 4. Mỗi đối tượng/nhóm đối tượng sẽ được số hóa thành một Hợp đồng thông minh và sẽ tương tác với Hợp đồng thông minh khác. Khi triển khai một Hợp đồng thông minh trên mạng Blockchain thì mỗi Hợp đồng thông minh sẽ có một địa chỉ hợp đồng duy nhất trên mạng Blockchain. Các giao dịch sẽ được gửi tới địa chỉ hợp đồng này để ghi nhận hoặc truy vấn thông tin định danh, thông tin mô tả của đối tượng.

Mặt khác, đối với việc ứng dụng công nghệ Blockchain thì một trong những trở ngại lớn nhất như đã trình bày sẽ nằm ở phần hiệu năng, cụ thể là số lượng giao dịch có thể xử lý mỗi giây. Tất nhiên việc lựa chọn mạng lưới có khả năng xử lý càng nhiều càng tốt, tuy nhiên về phía thiết kế Hợp đồng thông minh thì tác giả cũng có thể tăng hiệu năng thông qua giảm bớt số lượng giao dịch mà người dùng cần gửi. Để đạt được mục đích này, tác giả sẽ thiết kế kiến trúc Hợp đồng thông minh với nguyên tắc tránh dư thừa dữ liệu. Việc này được thực hiện bằng cách tách các phần dữ liệu chung của các đối tượng số thành một loại hợp đồng riêng biệt, hợp đồng của mỗi đối tượng chỉ lưu thông tin mang tính định danh hoặc các thông tin đặc trưng khác.

Nhìn chung, kiến trúc Hợp đồng thông minh sẽ được thiết kế bao gồm 08 loại Hợp đồng thông minh khác nhau, được chia thành thành ba nhóm như hình 5.2:

5.2 Nền tảng Blockchain

Một phần của tài liệu Xây dựng mô hình nông nghiệp bền vững ứng dụng công nghệ blockchain (Trang 88 - 95)

Tải bản đầy đủ (PDF)

(142 trang)