Một cỗ máy thời gian dành cho các DPP

Hãy tưởng tượng bạn đang cầm một sản phẩm trên tay và quét mã QR trên đó. Thay vì một tệp PDF, một ứng dụng nhỏ sẽ mở ra. Bạn sẽ thấy thông tin về sản phẩm ngay tại thời điểm hiện tại: thành phần của nó, nguồn gốc, và những điều cần lưu ý. Chỉ cần vuốt nhẹ là bạn có thể lướt ngược thời gian - xem được mọi phiên bản từng được phát hành.

Bạn có thể trải nghiệm ngay điều này: Bản demo⁠ trình bày một Hộ chiếu Sản phẩm hoàn chỉnh với dữ liệu mẫu.

Đó chính là Transpareo Time Machine, ứng dụng mã nguồn mở dành cho người tiêu dùng của chúng tôi, hỗ trợ mọi Hộ chiếu Sản phẩm Kỹ thuật số. Mã nguồn được phát hành theo giấy phép GPL v3 trên GitHub⁠.

Chúng tôi phát triển ứng dụng này vì Quy định của EU về Hộ chiếu Sản phẩm Kỹ thuật số được soạn thảo dành cho người tiêu dùng - dành cho chính người đang cầm sản phẩm trên tay. Hầu hết các nhà cung cấp chỉ biến nó thành một biểu mẫu tuân thủ mà không ai thèm quét lại lần thứ hai. Còn chúng tôi biến nó thành một ứng dụng mà người tiêu dùng thực sự sẽ mở ra sử dụng.

Ứng dụng này làm gì

Bốn điểm tiếp xúc từ góc nhìn của người đang cầm sản phẩm trên tay. Không cần đăng nhập, không cần cài đặt ứng dụng.

1

Quét

Quét mã QR bằng camera điện thoại thông minh. Ứng dụng sẽ mở ra trong trình duyệt.

2

Xem tin tức mới nhất

Sản phẩm được giới thiệu ngay bây giờ - các thành phần, vật liệu, nguồn gốc, cách bảo quản và tái chế.

3

Lướt qua các trang lịch sử

Chỉ cần vuốt một cái là có thể lùi lại theo dòng thời gian. Mỗi phiên bản trước đó đều kèm theo ngày tháng và lý do thay đổi.

4

Chia sẻ

Mỗi phiên bản đều có liên kết riêng. Một người có thể chia sẻ một phiên bản cụ thể với bạn bè hoặc các cơ quan chức năng.

Tại sao lại như vậy?

Quy định của Liên minh châu Âu (EU) về Hộ chiếu Sản phẩm Kỹ thuật số là bước chuyển biến lớn nhất hướng tới tính minh bạch của sản phẩm trong nhiều thập kỷ qua. Nếu đọc kỹ các văn bản cơ sở, có thể thấy quy định này được soạn thảo rõ ràng dành cho người tiêu dùng. Các cơ quan chức năng, các đơn vị tái chế và các xưởng sửa chữa cũng tham gia vào quá trình này; nhưng đối tượng chính vẫn là người đang cầm sản phẩm trên tay.

Về mặt số liệu, vấn đề này rất rõ ràng. Đến cuối thập kỷ này, một cá nhân bình thường ở châu Âu sẽ có thể quét từ hàng chục đến hàng trăm Hộ chiếu Sản phẩm mỗi năm. Tính trên 200 triệu hộ gia đình, con số này tương đương với hàng tỷ lượt tương tác của người tiêu dùng mỗi năm. So với đó, quy mô của các cơ quan chức năng và các đơn vị tái chế về mặt số lượng là vô cùng nhỏ bé.

Nếu muốn quy định này đến được với người tiêu dùng, thì trang web dành cho người tiêu dùng phải được xây dựng tốt - nhanh chóng, đẹp mắt và logic. Nếu không, nó sẽ không đạt được mục đích. Chúng tôi đã quyết định xây dựng trang web dành cho người tiêu dùng này theo mô hình mã nguồn mở, để nó không phụ thuộc vào một nhà cung cấp duy nhất.

Đã kiểm tra trên trình duyệt, không phải trên máy chủ của chúng tôi

Ở phần trên cùng của mỗi thẻ thông tin sản phẩm sẽ xuất hiện một nhãn: “Đã được Transpareo xác minh”. Nhãn này thể hiện kết quả của một quá trình kiểm tra không diễn ra trên máy chủ của chúng tôi, mà được thực hiện ngay trong trình duyệt của người truy cập - dựa trên các byte đã tải về và các khóa công khai của nhà sản xuất.

Mỗi phiên bản DPP đều được ký bởi hai bên độc lập với nhau: nhà sản xuất và Transpareo. Cả hai chữ ký này đều phải có thể kiểm chứng được thì biểu tượng mới chuyển sang màu xanh lá cây. Với cơ chế “Bring Your Own Key” (BYOK), nhà sản xuất vận hành một điểm cuối ký riêng - Transpareo không bao giờ lưu giữ khóa riêng và chỉ bổ sung chữ ký đối ứng độc lập. Nhờ đó, một chữ ký của nhà phát hành được tạo ra, mà chính Transpareo cũng không thể tạo ra được. Một máy chủ bị xâm nhập không thể làm giả dấu tích này, vì quá trình xác minh diễn ra ngay trên thiết bị của người truy cập.

Ai muốn tìm hiểu chi tiết hơn, hãy nhấp vào biểu tượng. Sau đó, bạn sẽ thấy chuỗi chữ ký, các giá trị băm (hashes) và lịch sử phiên bản được liên kết. Nếu chỉ muốn xem thông tin, bạn có thể bỏ qua phần này và tiếp tục đọc trong “Hộ chiếu sản phẩm”.

Quy trình xác minh này cũng có sẵn dưới dạng trang web độc lập: Trên trang Xác minh DPP, bạn chỉ cần nhập URL bản kê khai của bất kỳ “Hộ chiếu sản phẩm” nào và sẽ thấy kết quả xác minh đầy đủ - mà không cần mở chính “Hộ chiếu sản phẩm” đó.

Chúng tôi sẽ công bố mã nguồn

Transpareo Time Machine được phát hành theo giấy phép GPL v3 trên GitHub⁠. Sao chép, phân nhánh, tự lưu trữ - tất cả đều được phép. Các bản sửa đổi được công bố cũng phải tuân theo GPL v3 để mọi sự phát triển tiếp theo đều phục vụ lợi ích chung.

Ba cách để tích hợp gói này:

  • Bằng thẻ script: thêm <script><transpareo-time-machine src="…"> vào trang, thế là xong - không cần bước xây dựng.
  • Qua npm: npm install transpareo-time-machine trong ứng dụng của bạn.
  • Tự lưu trữ: Xây dựng gói, sử dụng hạ tầng riêng, không có phụ thuộc bên thứ ba nào trong quá trình chạy.

Nếu chỉ cần kiểm tra chữ ký mà không cần xem toàn bộ sản phẩm, hãy nhập phần tử liên quan <dpp-verifier> - lý tưởng cho các công cụ kiểm toán. Có thể xem trực tiếp tại quá trình xác minh DPP.

Ai sử dụng ứng dụng một cách hiệu quả

Ứng dụng này ban đầu được phát triển dành cho người tiêu dùng. Tuy nhiên, nó cũng phù hợp với tất cả những ai muốn xem hoặc xác minh thông tin sản phẩm một cách độc lập.

  • Người tiêu dùng cuối quét mã, xem, lướt qua và chia sẻ. Không cần đăng nhập, không có trình theo dõi.
  • Các cơ quan giám sát thị trường và cơ quan chức năng có thể xem “hộ chiếu sản phẩm” thông qua một phần mềm có mã nguồn mở, cho phép kiểm toán công khai.
  • Các xưởng sửa chữa và đơn vị tái chế có thể xem thành phần vật liệu và hướng dẫn tháo dỡ trực tiếp trên sản phẩm.
  • Các thương hiệu và nhà điều hành nền tảng có thể tùy chỉnh gói sản phẩm phù hợp với thương hiệu của mình - thông qua mã CSS, các thành phần riêng và tự lưu trữ.

Điều gì sẽ xảy ra nếu Transpareo không còn tồn tại nữa?

Liên minh châu Âu (EU) yêu cầu rằng một hồ sơ sản phẩm đã đăng ký phải được duy trì ít nhất mười năm - ngay cả sau khi nhà sản xuất phá sản hoặc giải thể. Một nhà cung cấp dịch vụ SaaS hiếm khi tồn tại được lâu đến vậy. Do đó, ngay từ đầu, chúng tôi đã xây dựng nền tảng này sao cho các hồ sơ sản phẩm vẫn có thể được sử dụng độc lập với chúng tôi:

  • Mỗi phiên bản DPP đã được ký điện tử đều được lưu trữ trong một kho lưu trữ công khai có thể truy cập. Dữ liệu (bytes) cùng với các khóa công khai đã được công bố là đủ để thực hiện việc xác minh sau này.
  • Ngay khi các hồ sơ sản phẩm được đăng ký tại Cơ quan đăng ký của EU, một kho lưu trữ thứ hai, được bảo vệ chống ghi đè, sẽ sao lưu từng phiên bản DPP và nhật ký sự kiện trong thêm mười năm nữa. Không ai - kể cả chúng tôi - có thể thay đổi các bản sao lưu này sau này.
  • Sau khi chấm dứt hợp đồng, các URL ngắn của thẻ sản phẩm vẫn có thể truy cập được thông qua một liên kết chuyển hướng trên nền tảng Transpareo.
  • Transpareo Time Machine vẫn hoạt động bình thường ngay cả với các dữ liệu đã được lưu trữ. Gói phần mềm này không yêu cầu chúng tôi can thiệp trong quá trình chạy; nó chỉ cần các byte dữ liệu và các khóa.

Nếu nền tảng Transpareo biến mất vào ngày mai, các phiên bản DPP và trình hiển thị mã nguồn mở vẫn sẽ tồn tại.

Dành cho những ai tò mò về công nghệ

Dưới đây là những gì diễn ra bên trong hệ thống. Nếu bạn không cần biết chi tiết, có thể bỏ qua phần này - ứng dụng vẫn hoạt động bình thường.

  • GS1 Digital Link (ISO/IEC 18975): URL của “Product Pass” chứa mã nhận dạng sản phẩm dưới dạng chuẩn hóa - không phụ thuộc vào trình giải mã cụ thể và có thể trao đổi giữa các nhà cung cấp.
  • JSON Canonicalization Scheme (RFC 8785): Một phương thức tuần tự hóa xác định. Nhờ đó, giá trị băm vẫn có thể tái tạo được bất kể thứ tự các trường hay khoảng trắng - ai cũng có thể tự tính lại được.
  • W3C Data Integrity Proofs (eddsa-jcs-2022): Chữ ký Ed25519 trên định dạng chuẩn hóa (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): Các khóa công khai của nhà phát hành được đặt tại một đường dẫn tiêu chuẩn - không cần liên hệ với Transpareo, bất kỳ bên xác minh nào cũng có thể tự tìm thấy chúng.

Mọi thứ đều được ghi chép trong tệp README trên GitHub⁠ - bao gồm cả kiến trúc frontend (hạt nhân phản ứng riêng, không sử dụng bất kỳ framework bên ngoài nào) và hướng dẫn xây dựng để tự lưu trữ.

Xem mã nguồn trên GitHub

Bạn có thể tìm thấy mã nguồn đầy đủ, tất cả các bản phát hành và cuộc thảo luận về các vấn đề trong kho lưu trữ công khai.