4 Phương pháp tiếp cận
4.2 Nghiên cứu, xây dựng phần mềm truy xuất nguồn gốc áp dụng công
4.2.4 Hệ thống mã số định danh mang tính đơn nhất, có cấu trúc
cấu trúc và bảo mật
Như đã trình bày ở phần trên, phần dữ liệu riêng của đối tượng truy xuất bao gồm mã số định danh và nhật ký sản xuất/phân phối. Tuy nhiên trước tiên cần phải xác định có bao nhiêu đối tượng cần phải định danh trong hệ thống. Không phải tất cả đối tượng đều cần phải được đánh số định danh, bởi lẽ có những đối tượng được số hóa để giúp cho hợp tác xã/nơng hộ dễ dàng trong việc quản lý (ví dụ như vùng sản xuất hay quy trình sản xuất) hoặc có những đối tượng là một phần nhỏ của đối tượng khác khi truy xuất thơng tin (ví dụ như cơng đoạn hay loại sản phẩm/mặt hàng, đợt thu hoạch/lơ chế biến).
Ngồi ra, mục đích của việc định danh đối tượng là để giúp cho người sử dụng không bị lẫn lộn khi tra cứu những đối tượng khác nhau. Như vậy, những đối tượng cần định danh chính là đối tượng thường xuyên được người sử dụng truy xuất nguồn gốc và chứa đầy đủ thông tin nhất. Các đối tượng này sẽ bao gồm: Đối tượng sản xuất , thùng hàng, sản phẩm. Tất nhiên, các hợp tác xã, nhà phân phối và nông hộ cũng là đối tượng cần phải định danh để phân biệt giữa các tài khoản người dùng.
4.2 Nghiên cứu, xây dựng phần mềm truy xuất nguồn gốc áp dụng công nghệ Blockchain
các đối tượng cùng loại. Để đáp ứng tính có cấu trúc thì đề tài sẽ dùng các chữ cái để quy định giữa các loại đối tượng và đối tượng có cấp độ thấp hơn sẽ chứa mã số của đối tượng có cấp độ cao hơn. Cuối cùng, để đáp ứng tính bảo mật thì đề tài sẽ áp dụng một cơ chế mã hóa đơn giản để che đi tính chất tuyến tính của mã số. Cụ thể về hệ thống mã số dùng để định danh cho các đối tượng cần thiết được trình bày như sau:
• Đối với tài khoản người dùng nói chung (hợp tác xã, nhà phân phối, nông hộ): Hợp tác xã và nhà phân phối được định danh bởi mã gồm 7 ký tự, gồm 1 tiền tố và 6 ký tự số. Trong đó, tiền tố cho hợp tác xã là chữ M (viết tắt của Manufacturer) cho nhà phân phối là chữ D (viết tắt của Distributor). Các ký tự số sẽ được bắt đầu từ 000001 và tăng dần mỗi khi có tài khoản mới được tạo.
Ê Ví dụ: M000002 là mã định danh cho hợp tác xã đăng ký thứ hai trong hệ thống.
Nông hộ là một loại người dùng thuộc quyền quản lý của hợp tác xã và có cấp độ thấp hơn tài khoản của hợp tác xã. Hay nói cách khác, nơng hộ chỉ có phạm vi nội bộ trong hợp tác xã đó và sẽ khơng cần một mã định danh phân biệt ở cấp độ tồn hệ thống như hợp tác xã.
• Đối với đối tượng sản xuất: Đối tượng sản xuất sẽ thuộc quyền quản lý của hợp tác xã và được phân thành hai loại: đối tượng nuôi trồng và đối tượng chế biến, mục đích của việc phân loại là để dễ dàng trong công tác quản lý. Đối tượng sản xuất có cấp độ thấp hơn tài khoản của hợp tác xã, vì vậy đối tượng sản xuất sẽ được định danh bởi mã có cấu trúc bao gồm: Mã định danh của hợp tác xã + 4 ký tự số tăng dần (tổng cộng là 11 ký tự).
Ê Ví dụ: M0000020001 là mã định danh cho đối tượng sản xuất được tạo đầu tiên của hợp tác xã M000002.
• Đối với thùng hàng: Mỗi thùng hàng sẽ được định danh bằng một mã gồm 11 ký tự số, bắt đầu từ 00000000001 đến 99999999999 (mã 00000010001 tương đương với 10001).
4.2 Nghiên cứu, xây dựng phần mềm truy xuất nguồn gốc áp dụng cơng nghệ Blockchain
• Đối với sản phẩm:Mỗi sản phẩm sẽ được định danh bằng một mã gồm 13 ký tự số, bắt đầu từ 0000000000001 đến 9999999999999 (mã 0000000020001 tương đương với 20001).
Ê Ví dụ: 0000000020001 là một mã định danh cho một thùng hàng. Lưu ý: Mặc dù thùng hàng và sản phẩm là đối tượng có cấp độ thấp hơn và thuộc quyền quản lý của hợp tác xã, tuy nhiên cấu trúc mã định danh của hai đối tượng này không bao gồm mã định danh của hợp tác xã nhằm để tối ưu chi phí triển khai trong thực tế. Vấn đề này sẽ được trình bày ở chương 6 khi đánh giá về giải pháp ở mặt chi phí. Các quy tắc và cấu trúc trên được tóm tắt kèm ví dụ như bảng 4.3:
Bảng 4.3: Cấu trúc mã định danh cho đối tượng và ví dụ
Đối tượng Cấu trúc mã định danh Độ dài Ví dụ
Hợp tác xã Tiền tố “M” + 6 ký tự số 7 ký tự M000001 Đối tượng sản xuất Mã hợp tác xã + 4 ký tự số 11 ký tự M0000010001 Thùng hàng 11 ký tự số 11 ký tự 00000010001 Sản phẩm 13 ký tự số 13 ký tự 0000000020001
Để tăng cường tính bảo mật thơng tin cho người dùng nhưng vẫn giữ được tính thuận tiện, thì đề tài sẽ xây dựng một hệ thống mã với lớp mã hóa đơn giản và hỗ trợ truy xuất bằng mã này. Như vậy, trong phần mềm sẽ có hai loại mã có thể truy xuất thơng tin được, bao gồm: mã định danh (đã trình bày ở trên) và mã truy xuất (sẽ được trình bày tiếp theo).
Về ý tưởng, mỗi mã truy xuất sẽ tương ứng với một mã định danh, tuy nhiên sẽ được mã hóa để làm mất đi tính quy luật tuyến tính của mã định danh. Việc chuyển từ mã định danh thành mã truy xuất sẽ được thực hiện dựa theo thư viện Hashids. Nguyên lý hoạt động của thư viện này tương tự như việc chuyển từ dạng số thập phân sang dạng số thập lục phân. Tuy nhiên thay vì sử dụng bảng 16 chữ cái, thì Hashids sẽ sử dụng bảng 62 chữ cái (A-Z, a-z, 0-9), đồng thời cho phép lập trình viên khai báo thêm một giá trị salt bí mật nhằm đảo thứ tự các chữ cái trong bảng (theo thuật tốn Fisher-Yates shuffle) trước khi mã hóa/giải mã. Tuy nhiên, cách này chỉ hoạt động với giá trị là số nguyên, vì vậy đối với mã số định danh của Hợp tác xã và Đối tượng sản xuất, khi mã hóa sẽ lược bỏ ký tự đầu (ký tự ‘M’) và sẽ nối với phần giá trị sau khi mã hóa.Giá trị nhận được sau khi mã hóa ánh xạ 1:1 với giá trị trước khi mã hóa, như vậy bằng cách này, mã số
4.2 Nghiên cứu, xây dựng phần mềm truy xuất nguồn gốc áp dụng công nghệ Blockchain 4.2.5 Lưu trữ thông tin minh bạch trên Blockchain thông
qua hợp đồng thông minh
Được ra đời trong vài năm gần đây nhưng Blockchain được xem là một trong các ý tưởng mang tính đột phá nhất trong việc thay đổi tư duy và cuộc sống của con người kể từ sau sự ra đời của Internet. Về cơ bản, Blockchain là một công nghệ được dùng để xây dựng một cấu trúc dữ liệu (cuốn sổ cái) ghi lại các giao dịch một cách công khai trên một hệ thống máy tính đồng đẳng theo phương thức mã hóa các giao dịch theo trục thời gian, từ đó thay đổi vai trị của các bên trung gian và tạo ra vô số các ứng dụng giúp tăng cường sự tin tưởng, tính trách nhiệm và sự minh bạch với chi phí và quy trình thủ tục được giảm thiểu đáng kể. Các tính chất sau khiến cho cơng nghệ Blockchain rất phù hợp với giải pháp phần mềm mà tác giả đang nghiên cứu, xây dựng:
• Tính minh bạch thơng tin[45]: Việc minh bạch thông tin là nền tảng tạo nên sự tin tưởng giữa doanh nghiệp - doanh nghiệp và doanh nghiệp - người tiêu dùng. Dựa trên đó, các doanh nghiệp khác và người tiêu dùng có thể đánh giá mức độ uy tín của một doanh nghiệp. Cịn doanh nghiệp có thể khẳng định chất lượng sản phẩm của họ.
• Tính chống chối bỏ trách nhiệm[46]: Giải pháp cần phải đảm bảo được rằng khi có sự cố xảy ra thì các đơn vị có liên quan không thể chối bỏ trách nhiệm. Cụ thể là khơng được xóa sửa, hoặc che dấu bất kỳ thơng tin nào trên sản phẩm đã cung cấp cho người tiêu dùng. Đây có thể coi là tính chất đột phá khi áp dụng công nghệ Blockchain, giải quyết được sự mất niềm tin của người tiêu dùng đối với những giải pháp tập trung truyền thống. • Tính an tồn, bảo mật[47]: Giải pháp được xây dựng xoay quanh việc áp
dụng công nghệ Blockchain, một công nghệ mới dựa trên nền tảng mật mã học mà trong đó các đối tượng tham gia hệ thống không thể sửa đổi thông tin đã được ghi vào. Đặc điểm này giảm thiểu rủi ro thông đồng chỉnh sửa dữ liệu từ những đối tượng quản trị trong hệ thống.
Việc lưu trữ thông tin trên Blockchain khá đơn giản khi chỉ cần đính kèm các thơng tin cần lưu vào một giao dịch Blockchain nào đó. Mỗi cơng đoạn sản xuất được ghi nhận trong phần mềm sẽ tương ứng với một giao dịch Blockchain
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị áp dụng giải pháp
được gửi lên hệ thống và chứa các thông tin về công đoạn sản xuất đó. Tuy nhiên, việc lưu thơng tin như vậy khá rời rạc, mất nhiều cơng sức quản lý cũng như khó khăn trong việc truy vết để xác minh dữ liệu. Thay vì dùng cách này, phần mềm sẽ lưu trữ dữ liệu thơng qua hợp đồng thơng minh.
Nhìn chung, hợp đồng thơng minh trên Blockchain giống như một chương trình máy tính, sẽ tiếp nhận các tham số đầu vào và trả kết quả đầu ra khi có giao dịch gửi đến để tương tác. Như vậy cách này phức tạp hơn vì địi hỏi cần phải thiết kế và lập trình hợp đồng thơng minh. Tuy nhiên, với đặc tính như trên, hợp đồng thơng minh sẽ được đề tài áp dụng để mơ hình hóa các đối tượng số trên nền tảng Blockchain, giúp cho việc tổ chức thơng tin truy xuất trở nên có cấu trúc và dễ dàng truy vết[48].
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị ápdụng giải pháp dụng giải pháp
Việc chuẩn hóa thơng tin truy xuất tại hợp tác xã và nông hộ là rất cần thiết và quan trọng. Bởi lẽ đối tượng người dùng của phần mềm đa phần sẽ là nông dân, vốn chưa quen với việc nhập liệu trên phần mềm. Trong khi đó, đối với nghiệp vụ truy xuất nguồn gốc thì thơng tin đóng vai trị mấu chốt[49], quyết định sự đánh giá của khách hàng đối với chất lượng của sản phẩm đó cũng như là cơ sở tham chiếu để giải quyết khi có tranh chấp xảy ra. Trong thực tế thì người nơng dân cũng sẽ có một quyển sổ nhật ký sản xuất được chuẩn hóa theo một tiêu chuẩn nhất định như VietGAP1 hoặc GlobalGAP2 để ghi chép lại bằng tay các thông tin sản xuất.
Để giải quyết vấn đề trên thì song song với việc nghiên cứu phát triển giải pháp phần mềm truy xuất nguồn gốc Blockchain, đề tài cũng sẽ chú trọng tới giai đoạn triển khai phần mềm tại hợp tác xã và nơng hộ. Theo đó, việc triển khai sẽ được thực hiện bằng 02 bước và hướng tới mục tiêu giúp cho các hợp tác xã và nơng hộ chuẩn hóa được thơng tin truy xuất nguồn gốc sẽ ghi nhận trên phần mềm:
1http://www.vietgap.com/
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị áp dụng giải pháp
1. Bước 1. Khảo sát và thu thập thông tin về sản phẩm, doanh nghiệp và quy trình canh tác
2. Bước 2. Số hóa vùng sản xuất và chuẩn hóa dữ liệu sẽ ghi nhận
Sau khi thực hiện hai bước trên, các thông tin về sản phẩm của hợp tác xã, nơng hộ sẽ được chuẩn hóa về mặt cấu trúc cũng như mức độ đầy đủ của nội dung và phù hợp với khả năng nhập liệu của mỗi hợp tác xã, nông hộ. Nhờ vậy, việc nhập thông tin truy xuất trong phần mềm trở nên nhanh chóng, dễ dàng và đầy đủ hơn.
4.3.1 Khảo sát và thu thập thông tin về sản phẩm, doanhnghiệp và quy trình canh tác nghiệp và quy trình canh tác
Để thực hiện việc khảo sát và thu thập thông tin, đề tài sẽ nghiên cứu và thiết kế một biểu mẫu chứa các nhóm thơng tin cần thiết mà hợp tác xã, nông hộ cần điền (hoặc cung cấp tài liệu tham khảo có liên quan). Các thơng tin này được chia làm 03 nhóm:
1. Thơng tin về doanh nghiệp (xuất xứ sản phẩm) 2. Thông tin về mô tả sản phẩm
3. Thông tin về nhật ký sản xuất (truy xuất nguồn gốc)
Quá trình khảo sát và thu thập thơng tin nhìn chung khá đơn giản, tuy nhiên việc yêu cầu người sử dụng cung cấp quá nhiều dữ liệu hoặc chi tiết về những hoạt động sản xuất kinh doanh là một rào cản rất lớn, khiến cho hợp tác xã và nơng hộ gặp khó trong việc triển khai truy xuất nguồn gốc.Vì vậy, các trường dữ liệu trong 03 nhóm thơng tin phía trên cần phải được chọn lọc để phù hợp với đa số doanh nghiệp cũng như sản phẩm cần truy xuất nguồn gốc. Dựa trên quan điểm này, đề tài xây dựng một biểu mẫu khảo sát chi tiết (bảng 4.4) như sau:
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị áp dụng giải pháp
STT Thông tin thu thập Giá
trị Lưu ý
A. Thông tin về doanh nghiệp (xuất xứ sản phẩm)
1 Tên doanh nghiệp Bắt buộc
2 Địa chỉ liên hệ Bắt buộc
3 Số điện thoại liên hệ Bắt buộc
4 Email liên hệ 5 Địa chỉ Website 6 Diện tích sản xuất
7 Tiêu chuẩn
8 Mơ tả chi tiết Kèm hình ảnh
minh họa nếu có
B. Thơng tin về mô tả sản phẩm
1 Tên sản phẩm Bắt buộc 2 Hình ảnh mơ tả sản phẩm Bắt buộc 3 Mơ tả sản phẩm Tổng quan 4 Thành phần 5 Thuộc tính 6 Khác 7 Quy cách sản phẩm Tự cơng bố chất lượng 8 Loại 9 Kích cỡ 10 Kích thước 11 Khác 12 Quy cách đóng gói Đơn vị bán
13 Nhiệt độ bảo quản phù
hợp
14 Ngày đóng gói
15 Hạn sử dụng
16 Khác
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị áp dụng giải pháp
1 Quy trình sản xuất (Tối đa khơng nên q 05 cơng đoạn)
Cơng đoạn 1: - Tên công đoạn - Người phụ trách - Thời điểm - Mô tả - Các thơng số - Hình ảnh Bắt buộc ít nhất 01 cơng đoạn 2 Cơng đoạn 2: - Tên công đoạn - Người phụ trách - Thời điểm - Mơ tả - Các thơng số - Hình ảnh 3 Cơng đoạn ...: - Tên công đoạn - Người phụ trách - Thời điểm - Mô tả - Các thơng số - Hình ảnh 4 Mức độ dữ liệu đang được ghi nhận
- Cho từng sản phẩm - Theo lô sản xuất - Khác
Chọn 01 phương án, trường hợp chọn Khác vui lịng mơ tả rõ
5 Cách thức đang thu thập dữ liệu
Ngồi ra, để có thể xác thực được thông tin mà doanh nghiệp cung cấp cũng như tăng tính tin cậy cho những thơng tin đã mơ tả, doanh nghiệp nên gửi kèm theo các tài liệu dưới đây (nếu có):
1. Giấy phép đăng ký kinh doanh 2. Bản tự cơng bố chất lượng sản phẩm
4.3 Chuẩn hóa thơng tin truy xuất tại đơn vị áp dụng giải pháp
3. Các tài liệu liên quan đến chứng nhận được xác lập cho sản phẩm 4. Tài liệu mô tả giới thiệu hoặc hướng dẫn sử dụng của sản phẩm 5. Tài liệu mô tả tổng quan và chi tiêt các bước của quy trình 6. Mình họa mức độ dữ liệu đang được ghi nhận
4.3.2 Số hóa vùng sản xuất và chuẩn hóa dữ liệu sẽ ghinhận nhận
Các thông tin mà hợp tác xã, nông hộ cung cấp thông qua biểu mẫu khảo sát và thu thập sẽ là cơ sở để chuẩn hóa thành các thơng tin truy xuất nguồn gốc sẽ được nhập liệu. Trong phần này sẽ gồm 02 bước nhỏ:
1. Bước 1. Số hóa vùng sản xuất, bước này sẽ giúp cho các hợp tác xã, nông hộ