Công nghệ Geo-Blockchain (kỳ 2)

Hiện nay, với sự phát triển của Internet, Internet di động và IoT (Internet Of Things), dữ liệu địa lý lớn geo-big-data (các dữ liệu chứa thông tin vị trí phạm vi lớn) đã tới thời đại phát triển bùng nổ, liên quan đến an ninh quốc gia và trở thành tài sản tối quan trọng. Trong môi trường mà sự rò rỉ dữ liệu thường xuyên xảy ra và quyền sở hữu dữ liệu không rõ ràng, công nghệ blockchain trở thành công cụ hiệu quả và không thể thay thế giúp đảm bảo chất lượng và tính xác thực của dữ liệu. Một số hãng đã đầu tư rất nhiều nguồn lực vào việc đổi mới công nghệ để xây dựng geo-blockchain, khám phá khả năng tích hợp công nghệ blockchain với dữ liệu không gian và cung cấp các ứng dụng có độ an toàn cao, có thể truy vết, với độ tin cậy cao cho dữ liệu lớn cả về không gian và theo thời gian (spatial-temporal big data) Sau đây, các loại dữ liệu này chúng tôi đề cập tới bằng một thuật ngữ chung là Geo-things.

Kiến trúc chung của công nghệ Geo-blockchain

Nhằm mục đích tạo ra một cơ sở dữ liệu an toàn và đáng tin cậy, công nghệ geo-blockchain thường được khai thác theo hướng sử dụng các cơ chế phân tán hồ sơ theo danh mục cái, mã hoá phân mảnh và đồng thuận. Trong số đó, giá trị cốt lõi của blockchain đối với Geo-things nằm ở khả năng chống giả mạo và khả năng truy xuất nguồn gốc. Đối với Geo-things, cả hồ sơ dữ liệu phân tán và khả năng truy nguyên của hồ sơ đều có thể được thực hiện thông qua cơ sở dữ liệu hiện có. Ví dụ, để theo dõi dữ liệu, chúng ta có thể thêm một trường để ghi lại dữ liệu liên quan trước đó với dữ liệu hiện tại. Tuy nhiên, rất khó để cơ sở dữ liệu hiện có nhận ra cơ chế chống giả mạo, đây là chức năng cốt lõi được cung cấp bởi công nghệ blockchain cho Geo-things. Chỉ khi Geo-things kết hợp với cơ chế chống giả mạo của blockchain, nó mới có thể đạt được khả năng truy xuất nguồn gốc đáng tin cậy. Vì thế, Geo-things có thể sử dụng tính năng chống giả mạo của blockchain làm cốt lõi để nâng cao khả năng của nó.

Kiến trúc kỹ thuật của một số công cụ Geo-blockchain thường bao gồm bốn phần chính, (1) lớp lưu trữ dữ liệu, (2) môi trường blockchain có bao gồm thông tin địa lý, (3) các sản phẩm liên quan đến chuỗi khối địa lý, và (4) các ứng dụng cấp cao hơn của khối chuỗi. Dưới đây là chi tiết về 3 yếu tố đầu tiên, riêng yếu tố thứ 4 (các ứng dụng) là phạm trù vô định hình và không có giới hạn – chúng tôi sẽ trình bày trong những bài riêng trong các số khác.

Ví dụ về Kiến trúc công nghệ Geo-blockchain của Hãng Supermap
Ví dụ về Kiến trúc công nghệ Geo-blockchain của Hãng Supermap

Lớp lưu trữ dữ liệu

Công nghệ chuỗi khối địa lý (Geo-blockchain) của các hãng phần lớn dựa trên khuôn khổ Hyperledger Fabric và áp dụng sơ đồ lưu trữ mở rộng trên chuỗi và ngoài chuỗi. Lưu trữ trong chuỗi đề cập đến cách thức lưu trữ; còn lưu trữ ngoài chuỗi (liên chuỗi) là sử dụng hệ thống lưu trữ phân tán IPFS, được sử dụng chủ yếu để lưu trữ dữ liệu không gian quy mô lớn và dữ liệu tệp phi cấu trúc.

Một số hãng lại triển khai Geo-blockchain sử dụng SDK để gọi hệ thống lưu trữ ngoài chuỗi IPFS thông qua việc gửi yêu cầu tới IPFS để ghi dữ liệu hoặc tệp vào mạng IPFS. Đồng thời, IPFS trả về kết quả giá trị chia nhỏ, đóng gói chia nhỏ giá trị và gửi nó đến mạng Fabric. Phương thức tương tác mạng này không cần thay đổi cấu tạo mã và các quy trình nội bộ và có thể cung cấp cho người dùng các tùy chọn cấu hình cho không gian lưu trữ thông qua việc đặt ngưỡng đầu vào để kiểm soát không gian lưu trữ tối đa và các tệp vượt quá phạm vi ngưỡng sẽ được tự động tải lên mạng IPFS chuỗi.

Cấu tạo Mạng Fabric và Chế độ Tương tác với IPFS
Cấu tạo Mạng Fabric và Chế độ Tương tác với IPFS

4.1.2 Môi trường chuỗi khối địa lý Geo-blockchain

Lưu trữ chuỗi khối địa lý Geo-blockchain

Công nghệ Geo-blockchain của một số hãng được phát triển trong khuôn khổ của Hyperledger Fabric. Cơ sở dữ liệu trạng thái của Fabric bao gồm LevelDB và CouchDB. LevelDB là cơ sở dữ liệu trạng thái mặc định được nhúng trong quy trình ngang hàng và CouchDB là cơ sở dữ liệu trạng thái bên ngoài tùy chọn. Vì các truy vấn thường xuyên và phức tạp thường được yêu cầu trong các ứng dụng thông tin địa lý, một số hãng Geo-blockchain sử dụng CouchDB. Với đặc thù tổ chức của dữ liệu không gian, một số hãng sử dụng CouchDB để đóng gói các tập dữ liệu, mở rộng các trường liên quan và thêm các kiểu dữ liệu không gian theo cấu trúc phân cấp của các tập dữ liệu để đáp ứng các trạng thái dữ liệu không gian lưu trữ. Dựa trên cấu trúc lưu trữ này, các chức năng quản lý dữ liệu thông tin địa lý được cung cấp cho người dùng.

Quản lý tổ chức: Tổ chức và quản lý dữ liệu không gian, dữ liệu thuộc tính và dữ liệu theo file rời rạc thông qua các tập dữ liệu (các data sets). Hệ tọa độ, phạm vi không gian, kiểu dữ liệu, thông tin thuộc tính đối tượng, v.v. sẽ được xác định chung cho từng tập dữ liệu. Việc lưu trữ các đối tượng hình học vectơ sẽ tuân theo định dạng WKT, nghĩa là thể hiện các đối tượng hình học theo các chiều khác nhau thông qua các nhóm hệ tọa độ đã được xác định cho tập dữ liệu. Các loại file rời rạc được có thể được đưa thêm vào để chi tiết hoá các tính năng thuộc tính và các trường mô tả liên quan được thiết kế để ghi lại dữ liệu dưới dạng các file ảnh và video đính kèm.

Truy vấn phân loại: Xác định các kiểu đặc trưng trong tập dữ liệu cho truy vấn phân loại dữ liệu. Thông qua việc lập chỉ mục, hiệu quả của việc truy xuất dữ liệu được cải thiện. Lập chỉ mục trường của cơ sở dữ liệu CouchDB được áp dụng để thiết lập chỉ mục dữ liệu, ghi lại ranh giới hình chữ nhật của dữ liệu vectơ vào chỉ mục không gian được tìm thấy.

Hình nền lưu trữ cơ sở dữ liệu trạng thái dựa trên CouchDB
Hình nền lưu trữ cơ sở dữ liệu trạng thái dựa trên CouchDB

Tổ chức mạng geo-blockchain (geo-blockchain network)

Mạng Geo-blockchain của một số hãng sử dụng RAFT làm thứ tự các bản ghi giao dịch với sự tham gia của Docker – một phần mềm mã nguồn mở cho phép triển khai và phát triển các ứng dụng trong “các công-ten-nơ” (“Các công-ten-nơ” này là cơ chế cho phép các nhà phát triển mô phỏng các ứng dụng không cần xét tới môi trường kỹ thuật. Nói một cách đơn giản – đó là cơ chế cho phép Tạo lập (build), vận chuyển (Ship) và Chạy (Run) bất kỳ ứng dụng nào, ở bất kỳ đâu). Docker chạy một hồ sơ blockchain phân tán, là một cơ sở dữ liệu được chia sẻ, ghi lại và đồng bộ hóa giữa các thành viên mạng được sử dụng để ghi lại các giao dịch giữa các thành viên, chẳng hạn như trao đổi tài sản hoặc dữ liệu. Các nút trong mạng blockchain bao gồm bốn danh mục: Nút máy khách, nút Chứng nhận (CA), nút Người đặt hàng và nút ngang hàng:

Nút máy khách là một thực thể được vận hành bởi máy khách và nó phải được kết nối với nút ngang hàng hoặc nút người đặt hàng để giao tiếp với mạng blockchain. Khi một nút khách hàng bắt đầu một hoạt động blockchain, nó cần phải gửi một hoạt động giao dịch đến nút xác nhận. Khi thu thập đủ số xác nhận, nó sẽ phát kênh giao dịch tới dịch vụ đặt hàng, thực hiện đặt hàng và tạo một khối.

Nút Chứng nhận (CA) nhận đơn đăng ký từ máy khách và trả về mật khẩu đăng ký cho khách hàng đăng nhập để lấy chứng chỉ nhận dạng. Chỉ các giao dịch có chứng chỉ được CA xác thực mới được chấp nhận. Tất cả các hoạt động trên mạng blockchain sẽ xác minh danh tính của khách hàng.

Nút đặt hàng chịu trách nhiệm nhận các giao dịch có chứa chữ ký xác nhận, phân loại các giao dịch không được đóng gói để tạo ra các khối. Dịch vụ đặt hàng cung cấp một kênh giao tiếp được chia sẻ cho khách hàng và các nút và cung cấp dịch vụ phát thông điệp giao dịch. Khi máy khách kết nối với kênh, thông báo có thể được phát tới tất cả các nút thông qua kênh này hoàn thành nhiệm vụ gửi thông báo đến tất cả các nút. Dịch vụ đặt hàng hiện tại áp dụng cơ chế đồng thuận RAFT.

Vai trò của tất cả các nút ngang hàng là người cam kết và chúng cũng có thể đóng vai trò của người xác nhận, người chỉ huy và người neo giữ. Trong số đó, có nhiều nhất một nút neo trong mỗi tổ chức, có nhiệm vụ tương tác với các tổ chức khác và các nút của người đặt hàng. Các nút không neo trong mạng tổ chức không trực tiếp tham gia trao đổi thông tin với các mạng bên ngoài. Người xác nhận chịu trách nhiệm mô phỏng và thực hiện yêu cầu giao dịch từ khách hàng, cũng như xác minh và ký yêu cầu. Người cam kết chịu trách nhiệm lưu thông tin blockchain, cập nhật trạng thái của mọi đối tượng, v.v. Người chỉ huy được kết nối với dịch vụ đặt hàng và chịu trách nhiệm chuyển tiếp các khối lô đã nhận đến các nút khác.

Quy trình công nghệ chuỗi khối địa lý
Quy trình công nghệ chuỗi khối địa lý

Mô tả ngắn gọn một quy trình giao dịch hoàn chỉnh:

  • (1) Đầu tiên: ứng dụng xây dựng kế hoạch giao dịch. Chức năng của kế hoạch là gọi mã chuỗi trong kênh đọc hoặc ghi dữ liệu hồ sơ vào hệ thống lưu trữ. Thiết bị đầu cuối ứng dụng sử dụng iObjects cho Blockchain để đóng gói kế hoạch giao dịch và sử dụng khóa riêng của người dùng để duyệt kế hoạch.
  • (2) Sau khi ứng dụng đã đóng gói kế hoạch giao dịch, ứng dụng sẽ gửi kế hoạch đến nút xác nhận trong kênh. Chiến lược xác nhận của kênh xác định các nút có thể xác nhận giao dịch có hiệu quả. Thiết bị đầu cuối của ứng dụng chọn các nút chứng thực tương ứng theo chiến lược chứng thực và gửi kế hoạch giao dịch cho chúng. Sau khi tất cả các phép kiểm tra tính hợp pháp được thông qua, nút xác nhận sẽ gọi mã chuỗi theo kế hoạch giao dịch. Khi mã chuỗi được thực thi, dữ liệu (cặp khóa-giá trị) đang được đọc là cơ sở dữ liệu trạng thái cục bộ của nút. Mã chuỗi được thực thi trong mô phỏng trong nút xác nhận, tức là, các thao tác ghi vào cơ sở dữ liệu sẽ không thay đổi hồ sơ và tất cả các thao tác ghi sẽ được tổng hợp thành một tập hợp đã viết và được ghi lại.
  • (3) Nút xác nhận duyệt bộ đọc-ghi và thông tin khác thu được sau khi thực hiện mô phỏng mã chuỗi và gửi lại cho người gửi (thiết bị đầu cuối ứng dụng).
  • (4) Sau khi nhận được phản hồi chứng thực, thiết bị đầu cuối ứng dụng sẽ kiểm tra chữ ký đã duyệt và so sánh liệu các kết quả chứng thực có nhất quán với nhau giữa các nút khác nhau hay không. Nếu kế hoạch là một yêu cầu truy vấn hồ sơ dữ liệu, thiết bị đầu cuối ứng dụng không cần phải gửi giao dịch đến nút đặt hàng. Nếu đó là một yêu cầu cập nhật hồ sơ, sau khi thu thập số lượng phản hồi chứng thực đáp ứng chính sách chứng thực, thiết bị đầu cuối ứng dụng sẽ gửi tập hợp đọc-ghi có được trong kế hoạch chứng thực, chữ ký và số kênh của tất cả các nút chứng thực tới nút đặt hàng.
  • (5) Sau khi nút đặt hàng nhận được giao dịch được gửi bởi mỗi nút, nó không kiểm tra toàn bộ nội dung của giao dịch mà sắp xếp giao dịch theo kênh, sau đó đóng gói các giao dịch của cùng một kênh thành các khối dữ liệu. Trình tự chuyển phát khối dữ liệu đã đóng gói cho tất cả các thành viên trong kênh.
  • 6) Sau khi nhận được khối dữ liệu giao dịch từ nút đặt hàng, nút hồ sơ sẽ kiểm tra từng giao dịch trong một khối. Sau khi đánh dấu dữ liệu giao dịch là “hợp lệ” hoặc “không hợp lệ”, dữ liệu giao dịch sẽ được đóng gói thành một khối và được ghi vào chuỗi khối của hồ sơ.

Hợp đồng thông minh

Hợp đồng thông minh được gọi là chuỗi mã trong Fabric, có logic thực thi riêng và được áp dụng như một quy tắc kinh doanh trong mạng cụ thể nơi Fabric thiết lập kênh. Hợp đồng thông minh chứa tất cả thông tin về giao dịch. Hoạt động kết quả sẽ chỉ được thực hiện sau khi các yêu cầu được đáp ứng.

Chuỗi mã được hỗ trợ trong khung Hyperledger Fabric có thể được chia thành chuỗi mã hệ thống và chuỗi mã người dùng. Chuỗi mã hệ thống cung cấp xử lý logic cho các nút của Fabric, bao gồm cấu hình hệ thống, xác nhận, xác minh, v.v. Mã người dùng trong công nghệ blockchain của một số hãng có thể cung cấp các chức năng đọc-ghi dữ liệu và truy vấn dữ liệu. Truy vấn dữ liệu bao gồm truy vấn phạm vi không gian, truy vấn SQL và truy vấn lịch sử. Truy vấn lịch sử có thể hỗ trợ hồ sơ chi tiết về các thay đổi dữ liệu, bao gồm thời gian sửa đổi dữ liệu, người khởi tạo và người nhận, trạng thái sửa đổi, v.v., để ngăn chặn việc làm sai lệch dữ liệu và cung cấp cơ sở đáng tin cậy.

4.1.3 Sản phẩm Geo-blockchain địa lý

Một số hãng đưa ra iObjects cho Blockchain – một thành phần cơ bản của blockchain không gian – dựa trên công nghệ hồ sơ dữ liệu phân tán, cung cấp khả năng quản lý lưu trữ phi tập trung cho dữ liệu không gian. Công nghệ mã hóa chuỗi khối được áp dụng để đạt được khả năng chống giả mạo dữ liệu không gian. Nó phù hợp với môi trường tính toán và phát triển dựa trên khung làm việc Fabric.

Một số hãng cung cấp iObjects cho Blockchain với gói chương trình hướng Java, cung cấp môi trường lưu trữ dữ liệu không gian blockchain theo định hướng IPFS, đóng gói tập dữ liệu để lưu trữ các đối tượng không gian, thực hiện thêm, xóa, sửa đổi và cập nhật các chức năng theo dõi lịch sử cho dữ liệu không gian trên chuỗi. Để giải quyết các vấn đề về bảo mật truy cập dữ liệu, họ cung cấp cho các thành viên khả năng kiểm tra dữ liệu blockchain, tức là bất kỳ quyền truy cập nào cũng sẽ trả về một bản ghi.

Một số hãng lại dùng iObjects cho Blockchain theo nguyên lý tích hợp khung làm việc Fabric. Dựa trên sự hỗ trợ ban đầu cho văn bản trên chuỗi, nó mở rộng khả năng lưu trữ dữ liệu sang dữ liệu không gian, hỗ trợ lưu trữ không gian điểm, đường, vùng và text, cũng như lưu trữ dữ liệu media (âm thanh và video…)

Một số hãng khai thác iObjects cho Blockchain cũng cung cấp đồng thời các chức năng như tạo dựng dữ liệu, duyệt dữ liệu, chỉnh sửa và truy tìm trên chuỗi.

  • Tạo Dữ liệu trên chuỗi: Hỗ trợ dữ liệu không gian trên chuỗi thông qua phát triển thành phần và dòng lệnh, hỗ trợ dữ liệu điểm, đường, đa giác, văn bản, hình ảnh, video của không gian/ phi không gian trên chuỗi.
  • Duyệt dữ liệu trên chuỗi: Hỗ trợ truy vấn và duyệt dữ liệu không gian/ dữ liệu phi không gian trên chuỗi.
  • Chỉnh sửa Dữ liệu trên chuỗi: Hỗ trợ dữ liệu không gian trên chuỗi thêm, xóa, sửa đổi, v.v.
  • Truy tìm dữ liệu trên chuỗi: Hỗ trợ chỉnh sửa, sửa đổi dữ liệu không gian chuỗi và truy xuất nguồn gốc lịch sử dựa trên công nghệ blockchain.

Một số hãng dùng iDesktopX cung cấp khả năng ứng dụng cho công nghệ chuỗi khối địa lý. Thông qua công cụ blockchain dựa trên iDesktopX  Fabric do một số hãng cung cấp, người dùng có thể tải trực tiếp dữ liệu không gian của blockchain trên máy tính để bàn, cũng như duyệt, truy vấn và tạo bản đồ chuyên đề bằng cách thiết lập các thông số kết nối mạng blockchain.

Công cụ lưu trữ chuỗi khối địa lý
Công cụ lưu trữ chuỗi khối địa lý
Duyệt dữ liệu không gian trong Môi trường chuỗi khối địa lý
Duyệt dữ liệu không gian trong Môi trường chuỗi khối địa lý

Một số hãng dùng iServer cung cấp dịch vụ cho công nghệ chuỗi khối địa lý. Thông qua trang quản lý dịch vụ của iServer, dữ liệu không gian được lưu trữ trong blockchain có thể được xuất bản. Hiện tại, một số hãng iServer cung cấp dịch vụ duyệt bản đồ, chỉnh sửa dữ liệu và truy tìm dữ liệu lịch sử của dữ liệu điểm, đường và đa giác cho người dùng trong môi trường blockchain.

Dịch vụ dữ liệu trên chuỗi

Một số hãng lại dùng iManager – cung cấp công cụ tạo ra môi trường blockchain không gian chỉ bằng một cú nhấp chuột, bao gồm mạng IPFS, mạng Fabric, v.v., tiếp tục giảm ngưỡng triển khai của các ứng dụng liên quan đến chuỗi khối địa lý.

Ví dụ về một iManager Geo-blockchain Environment
Ví dụ về một iManager Geo-blockchain Environment

Để tìm hiểu, cập nhật thêm thông tin về công nghệ Geo-blockchain  vui lòng liên hệ với Truetech qua số điện thoại  (024) 3776 5088 hoặc  info@truetech.com.vn ;  gbs@truetech.com.vn

Write a Reply or Comment