1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu nền tảng công nghệ blockchain và ứng dụng trong bài toán truy xuất nguồn gốc sản phẩm

66 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Nền Tảng Công Nghệ Blockchain Và Ứng Dụng Trong Bài Toán Truy Xuất Nguồn Gốc Sản Phẩm
Tác giả Trịnh Sỹ Tuấn
Người hướng dẫn PGS.TS. Trịnh Viết Cường
Trường học Trường Đại Học Hồng Đức
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo tổng kết đề tài nghiên cứu khoa học
Năm xuất bản 2023
Thành phố Thanh Hóa
Định dạng
Số trang 66
Dung lượng 4,06 MB

Cấu trúc

  • CHƯƠNG 1: MỞ ĐẦU (10)
    • 1.1. Tính cấp thiết của đề tài (10)
    • 1.2. Tổng quan tình hình nghiên cứu (10)
      • 1.2.1. Trên thế giới (11)
      • 1.2.2. Trong nước (11)
    • 1.3. Mục tiêu và phạm vi đề tài (15)
    • 1.4. Các quy định của pháp luật về truy xuất nguồn gốc hiện nay (16)
    • 1.5. Dự kiến kết quả (17)
  • CHƯƠNG 2: GIỚI THIỆU VỀ CÔNG NGHỆ BLOCKCHAIN VÀ FRAMEWORK (18)
    • 2.1. Công nghệ Blockchain (18)
      • 2.1.1. Giới thiệu về công nghệ Blockchain (18)
      • 2.1.2. Khối - Block (19)
      • 2.1.3. Node mạng – Người dùng (19)
      • 2.1.4. Hàm băm (19)
      • 2.1.5. Chữ ký điện tử (20)
      • 2.1.6. Cơ chế đồng thuận (20)
      • 2.1.7. Ứng dụng của Blockchain (21)
    • 2.2. Framework Hyperledger Fabric (22)
      • 2.2.1. Tổng quan về Hyperledger (22)
      • 2.2.2. Tổng quan về Hyperledger Fabric (23)
      • 2.2.5. Identity (34)
      • 2.2.6. Membership Services Provider(MSP) (34)
      • 2.2.7. Peers (35)
      • 2.2.8. World State (35)
      • 2.2.9. Sổ cái(Ledger) (37)
      • 2.2.10. Ordering Service (39)
      • 2.2.11. Smart Contract & Chaincode (40)
      • 2.2.12. Luồng thực hiện giao dịch trong Hyperledger Fabric (40)
  • CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG TRUY XUẤT NGUỒN GỐC SẢN PHẨM BẰNG CÔNG NGHỆ BLOCKCHAIN (45)
    • 3.1. Phân tích thiết kế hệ thống (45)
      • 3.1.1. Biểu đồ phân cấp chức năng tổng quát (45)
      • 3.1.2. Biểu đồ phân cấp chức năng mức dưới đỉnh (46)
    • 3.2. Phân tích thiết kế chức năng cơ sở dữ liệu (49)
    • 3.3. Giới thiệu phần mềm truy xuất nguồn gốc Blockchain (49)
      • 3.3.1. Cấu hình cài đặt (49)
      • 3.3.2. Giới thiệu phần mềm (50)
    • 3.4. Cách hoạt động của hệ thống Blockchain (63)
  • CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU (64)
  • TÀI LIỆU THAM KHẢO (65)

Nội dung

Với khách hàng, do dữ liệu trên Blockchain là công khai, họ có thể theo dõi được toàn bộ quá trình sản xuất của sản phẩm đã được xác minh bởi các đơn vị có trách nhiệm thông qua ứng dụng

GIỚI THIỆU VỀ CÔNG NGHỆ BLOCKCHAIN VÀ FRAMEWORK

Công nghệ Blockchain

2.1.1 Giới thiệu về công nghệ Blockchain

Blockchain là một công nghệ mới được phát triển và ứng dụng rộng rãi trong những năm gần đây Với cách thức lưu trữ thông tin độc đáo, Blockchain sử dụng các khối dữ liệu, được gọi là Block, các khối này được nối liên tiếp với nhau thành một chuỗi dài Mỗi khối kế tiếp được mã hóa với mã của khối trước đó, tạo nên một hệ thống bảo mật thông tin đáng tin cậy Nếu một khối trong chuỗi bị thay đổi, toàn bộ hệ thống sẽ phát hiện và không còn đảm bảo được sự toàn vẹn thông tin Khối đầu tiên trong chuỗi được gọi là khối khởi tạo (genesis block)

Hình 7: Chuỗi khối (nguồn Internet)

Ngoài ra, Blockchain còn có 2 tính năng quan trọng là tính đồng thuận và tính phân tán của dữ liệu

Dữ liệu trong Blockchain không được lưu trữ tập trung tại một nơi như mô hình Client – Server truyền thống mà được phân tán ra các người dùng tham gia vào hệ thống (được gọi là các Node) Các Node này đều giữ bản sao của dữ liệu Blockchain và khi một số Node vì một lý do nào đó mà ngừng hoạt động thì hệ thống vẫn hoạt động bình thường với các Node còn lại, điều này khác với mô hình Client – Server khi Server bị lỗi thì toàn bộ hệ thống sẽ ngưng hoạt động

Tính đồng nghĩa là không ai làm chủ của toàn bộ hệ thống, mà tất cả mọi người tham gia vào hệ thống đều là chủ Tính đồng thuận giúp cho mọi người tuy không quen biết nhau nhưng có thể giao dịch một cách an toàn Trong hệ thống Blockchain, khi có một giao dịch mới, nó sẽ gửi tới các Node trong mạng Các Node trong mạng sẽ kiểm tra thông tin giao dịch này xem có hợp lệ không Nếu hợp lệ thì các Node sẽ xác thực giao dịch này và một khối mới chứa thông tin giao dịch đó sẽ được tạo ra Để đảm bảo tính bảo mật thì thông tin chỉ được chấp thuận khi có tối thiểu 51% số Node trong hệ thống đồng ý chấp thuận giao dịch

Dữ liệu được lưu vào các khối (Block) theo thời gian, tùy theo từng hệ thống Blockchain quy định bao lâu thì sẽ tạo ra một Block mới, ví dụ như trong hệ thống tiền ảo Bitcoin thì khoảng 10 phút sẽ có một block mới được tạo ra Dữ liệu hệ thống phát sinh trong khoảng thời gian này sẽ được lưu vào block đó Dữ liệu của toàn bộ hệ thống sẽ bao gồm tất cả các Block móc nối với nhau theo thứ tự thời gian (và đây cũng chính là cái tên của công nghệ Blockchain – chuỗi khối) Block số 0 được gọi là Block khởi tạo chứa các thông tin do người phát triển ra hệ thống Blockchain tạo

Về cơ bản trong công nghệ Blockchain có hai dạng Node mạng (hay có thể hiểu là người dùng) Dạng thứ nhất là Full Node (người dùng chủ chốt – active user) có chức năng chứa toàn bộ dữ liệu của hệ thống (tất cả các khối), ngoài ra nó còn đóng vai trò trong việc tạo ra Block mới thông qua cơ chế đồng thuận của hệ thống Dạng thứ hai là Node thông thường (người dùng thông thường) đăng ký tài khoản trên hệ thống và dùng các chức năng được cung cấp bởi hệ thống

Ví dụ như trong hệ thống tiền ảo Bitcoin, Full Node còn có thể phân ra làm hai chức năng là chứa dữ liệu và tạo Block mới Node mà chỉ tạo Block mới mà không chứa dữ liệu còn được gọi là Miner Node (Node đào Bitcoin) Node thông thường là người dùng thông thường đăng ký một tài khoản (ví điện tử) sau đó thực hiện các giao dịch thông thường, người dùng này không tham gia vào việc chứa dữ liệu của hệ thống hay tạo Block mới

Hàm băm (Hash) là thuật toán xáo trộn mã nhị phân của dữ liệu kỹ thuật số, sao cho dữ liệu đầu vào dù dài hay ngắn, là File dưới dạng văn bản hay hình ảnh thì khi qua hàm băm sẽ cho kết quả là một chuỗi có chiều dài cố định và không trùng lặp Nghĩa là không có việc có 2 dữ liệu đầu vào khác nhau nhưng lại cho 2 mã băm giống nhau Và hàm băm cũng là cách tạo ra mã số định danh duy nhất của các khối trong Blockchain Hăm băm là hàm một chiều, tức là cho dữ liệu đầu vào thì ta tính được ra hàm băm, nhưng cho hàm băm thì ta không thể tính ngược lại dữ liệu đầu vào

Trong thực tế, các hàm băm được sử dụng phổ biến như MD5, SHA-1, SHA-256 có thể xử lý các dữ liệu có kích thước lớn và tạo ra mã băm với độ dài cố định Thuật toán băm được sử dụng rộng rãi trong các ứng dụng bảo mật, hệ thống cơ sở dữ liệu và các lĩnh vực khác

Chữ ký điện tử là một công nghệ cho phép người dùng xác nhận tính toàn vẹn và danh tính của người ký lên văn bản của một thông điệp hoặc tài liệu điện tử

Thay vì dùng chữ ký thủ công trên giấy như trong truyền thống, chữ ký điện tử sử dụng một cặp khóa bao gồm khóa công khai và khóa bí mật để mã hóa và giải mã một thông điệp(thường là mã băm của văn bản đó)

Khóa bí mật là khóa chỉ có chủ sở hữu biết và được sử dụng để ký, trong khi khóa công khai được chia sẻ rộng rãi để người nhận có thể xác nhận xem văn bản đó có đúng là chủ sở hữu ký hay không Với chữ ký điện tử, người dùng có thể đảm bảo rằng thông điệp hoặc tài liệu không bị thay đổi và xác minh được danh tính người đã ký lên văn bản đó

Hiện tại, có nhiều thuật toán về chữ ký điện tử như: RSA, ElGamal, DSS vv

Trong công nghệ Blockchain nói chung, các Full Node (người dùng chủ chốt) sẽ phối hợp với nhau theo một cơ chế nào đó để tạo ra Block mới, cơ chế như vậy được gọi là cơ chế đồng thuận (Algorithm concensus) Hiện nay có hai cơ chế đồng thuận được sử dụng phổ biến trong các hệ thống Blockchain là cơ chế đồng thuận dựa trên bằng chứng công việc (Proof of Work – PoW) và cơ chế đồng thuận dựa trên bằng chứng cổ phần (Proof of Stake – PoS)

Giao thức đồng thuận PoW (Proof of Work) là một trong những giao thức đồng thuận quan trọng trong Blockchain PoW được sử dụng để xác nhận các giao dịch và tạo ra các khối mới trên mạng Blockchain Dựa vào tính chất của Blockchain là khối liền sau luôn có thông tin mã băm của khối liền trước đó, vì vậy giao thức đồng thuận PoW ra đời

Hình 8: Block Header trong Blockchain (nguồn Internet)

Dựa vào hình 8, ta có thể thấy mỗi Block Header trong Blockchain bao gồm 4 tham số là: Mã băm khối trước, thời gian tạo ra Block, số nonce và mã băm của dữ liệu, trong đó tham số thời gian, mã băm của dữ liệu và mã băm của khối trước là không đổi, vì vậy để tạo ra Block mới ta cần phải tính toán số nonce phù hợp Để tìm ra giá trị nonce, các thợ đào trên mạng phải sử dụng sức mạnh tính toán của các máy tính để giải một bài toán số học phức tạp Bài toán này thường là bài toán tìm kiếm một giá trị băm hash mà có độ khó vượt quá một ngưỡng nhất định Bằng cách thử và sai, các thợ đào sẽ tìm ra giá trị nonce phù hợp với bài toán này Khi một thợ đào tìm thấy giá trị nonce phù hợp, họ sẽ tạo ra một khối mới và chèn nó vào chuỗi khối Blockchain

Khi một khối mới được tạo ra, các nút mạng trên Blockchain sẽ kiểm tra tính hợp lệ của khối mới bằng cách xác nhận rằng giá trị băm hash của khối mới phải vượt quá ngưỡng độ khó được thiết lập trước đó Nếu giá trị băm hash của khối mới đáp ứng yêu cầu này, khối mới sẽ được chấp nhận và thêm vào chuỗi khối Blockchain Các giao dịch được chứa trong khối mới cũng sẽ được xác nhận và thêm vào Blockchain

Framework Hyperledger Fabric

Hyperledger là một dự án mã nguồn mở mà Linux Foundation khởi xướng lên từ năm 2015, tới nay dự án Hyperledger đã nhận được thêm sự hậu thuẫn từ các ông lớn làng công nghệ như UBM, Intel, SAP Ariba nhằm hỗ trợ phát triển hệ thống sổ cái phân tán và các ứng dụng liên quan dựa trên công nghệ Blockchain

Blockchain là một công nghệ đang được nghiên cứu và phát triển rộng rãi trong nhiều lĩnh vực khác nhau Nó không chỉ được ứng dụng trong doanh nghiệp mà còn trong các lĩnh vực khác như tài chính, y tế, giáo dục, web3 v.v Điều này giúp cho công nghệ Blockchain trở nên linh hoạt và có khả năng đáp ứng các yêu cầu khác nhau của mỗi lĩnh vực Kết quả là nó đang được sử dụng để tạo ra mạng lưới kinh doanh và giao dịch hiệu quả hơn

Hình 9: Các dự án trong Hyperledger (nguồn Internet)

Các dự án trong Hyperledger Fabric:

Một số dự án con quan trọng của Hyperledger bao gồm:

1 Hyperledger Fabric: là một nền tảng Blockchain doanh nghiệp được thiết kế để hỗ trợ các ứng dụng quản lý chuỗi cung ứng, giám sát tài sản và quản lý đồng thuận

2 Hyperledger Sawtooth: là một nền tảng Blockchain được thiết kế cho các ứng dụng IoT và các ứng dụng liên quan đến quản lý tài sản

3 Hyperledger Burrow: là một nền tảng Blockchain được thiết kế để hỗ trợ các ứng dụng phân quyền

4 Hyperledger Indy: là một nền tảng Blockchain được thiết kế để hỗ trợ các ứng dụng liên quan đến danh tính số và xác thực

5 Hyperledger Iroha: là một nền tảng Blockchain được thiết kế cho các ứng dụng thanh toán và quản lý tài sản

1 Hyperledger Explorer: Quản trị Blockchain

2 Hyperledger Cello: Cấu hình mạng cho Blockchain

3 Hyperledger Caliper: Phục vụ đánh giá hệ thống Blockchain

4 Hyperledger QuiLt: Chuyển các giá trị giữa các hệ thống phân tán và không phân tán

2.2.2 Tổng quan về Hyperledger Fabric

Hyperledger Fabric là một nền tảng Blockchain mã nguồn mở được phát triển bởi Linux Foundation, là một dự án của Hyperledger Fabric cung cấp một môi trường phát triển Blockchain cho các doanh nghiệp và tổ chức, cho phép họ xây dựng và triển khai các ứng dụng Blockchain với tính bảo mật cao, khả năng mở rộng và sự linh hoạt

Một trong những tính năng đáng chú ý của Fabric là nó cho phép các nhà phát triển xây dựng các smart contract bằng nhiều ngôn ngữ lập trình, bao gồm cả Java, Go và Node.js Điều này đảm bảo rằng các nhà phát triển có thể sử dụng ngôn ngữ thành thạo nhất để phát triển Blockchain

Với kiến trúc mềm dẻo và linh hoạt, Fabric có thể thích nghi và đáp ứng nhu cầu của nhiều ngành công nghiệp, bao gồm ngân hàng, tài chính, bảo hiểm và chăm sóc sức khỏe

Tuy nhiên, điều đặc biệt nổi bật của Fabric là khả năng hỗ trợ đồng thời nhiều giao thức đồng thuận khác nhau Hyperledger Fabric sử dụng các giao thức đồng thuận như mạng bằng cách cho phép các Node xử lý giao dịch độc lập và đồng bộ sau đó Việc kết hợp các giao thức đồng thuận giúp Hyperledger Fabric đáp ứng các yêu cầu khác nhau của các ứng dụng Blockchain và đảm bảo tính toàn vẹn của hệ thống trong nhiều tình huống khác nhau

Sự kết hợp giữa các tính năng này giúp Fabric trở thành một trong những Framework Blockchain tốt nhất hiện nay cả về tốc độ xử lý giaoo dịch và độ trễ xác nhân giao dịch

2.2.3 Thuật toán đồng thuận trong Hyperledger Fabric

Cơ chế đồng thuận được sử dụng trong Hyperledger Fabric là cơ chế đồng thuận Raft Raft là thuật toán đồng thuận được ra đời để giải quyết bài toán sao lưu log trong hệ thống phân tán, đảm bảo tính nhất quán và an toàn

Hình 10: Cơ chế Leader – Follower trong cơ chế đồng thuận Raft

Thuật toán Raft là một thuật toán đồng thuận dựa trên mô hình Leader - Follower, nơi mà một leader sẽ được bầu và nó sẽ chịu trách nhiệm hoàn toàn trong việc quản lý tất cả các máy khác (cụm), cụ thể là nó sẽ thực hiện replicate các log mà nó nhận được từ phía client đến tất cả các Node trong cụm Thuật toán raft có ba trạng thái cơ bản cho các Node trong cụm:

- Follower: Đây là trạng thái mặc định của các Node Các Node ở trạng thái này sẽ nhận và áp dụng các log từ leader, và bầu chọn cho leader khi có yêu cầu

- Candidate: Đây là trạng thái khi một Node không nhận được heartbeat từ leader trong một khoảng thời gian ngẫu nhiên Node ở trạng thái này sẽ tự bầu chọn cho chính mình và yêu cầu các Node khác bầu chọn cho mình Nếu nhận được đa số phiếu bầu, Node sẽ chuyển sang trạng thái leader Nếu không, Node sẽ quay lại trạng thái follower hoặc bắt đầu lại quá trình bầu cử

- Leader: Đây là trạng thái khi một Node nhận được đa số phiếu bầu từ các Node khác Node ở trạng thái này sẽ gửi heartbeat định kỳ đến các Node khác để duy trì vai trò của mình Node ở trạng thái này cũng sẽ nhận các log từ client và replicate chúng đến các Node khác

Thuật toán Raft có ba giai đoạn chính để đảm bảo tính nhất quán của replicated log:

- Leader election: Đây là giai đoạn để bầu ra một leader cho cụm khi không có leader hoặc leader hiện tại bị lỗi Giai đoạn này sử dụng một bộ đếm giờ ngẫu nhiên để tránh xung đột khi có nhiều Node cùng muốn trở thành leader Giai đoạn này kết thúc khi có một Node nhận được đa số phiếu bầu và gửi heartbeat đến các Node khác

- Log replication: Đây là giai đoạn để leader replicate các log mới nhận được từ client đến các Node khác Giai đoạn này sử dụng một cơ chế gọi là index và term để xác định vị trí và nguồn gốc của các log Giai đoạn này kết thúc khi có quá nửa số Node đã nhận và áp dụng log mới vào state machine của họ

XÂY DỰNG ỨNG DỤNG TRUY XUẤT NGUỒN GỐC SẢN PHẨM BẰNG CÔNG NGHỆ BLOCKCHAIN

Phân tích thiết kế hệ thống

3.1.1 Biểu đồ phân cấp chức năng tổng quát

Hình 30: Biểu đồ phân cấp chức năng mức đỉnh Đây là biểu đồ phân cấp chức năng tổng quát của hệ thống truy xuất nguồn gốc, trong đó có 4 tác nhân chính là: Đơn vị vận hành phần mềm, Nhà sản xuất, Nhà kiểm định, Người dùng

Nhà sản xuất có các chức năng như: Đăng ký sản phẩm lên hệ thống, cấp phát tài khoản cho nhân viên, đăng ký, sửa, xóa quy trình cho sản phẩm; cấp phát chữ ký điện tử

Nhà kiểm định có các chức năng như: Kiểm định sản phẩm, cấp phát tài khoản cho nhân viên, cấp phát chữ ký điện tử

3.1.2 Biểu đồ phân cấp chức năng mức dưới đỉnh Đơn vị vận hành phần mềm:

Hình 31: Biểu đồ phân cấp chức năng đơn vị vận hành phần mềm Đơn vị vận hành phần mềm có các chức năng như: Thêm mới, sửa, xóa nhà kiểm định và nhà sản xuất Ngoài ra đơn vị vận hành phần mềm còn có chức năng đăng ký Admin nhà kiểm định, Admin nhà sản xuất và cấp phát chữ ký điện tử

Hình 32: Biểu đồ phân cấp chức năng nhà sản xuất

Admin nhà sản xuất có các chức năng chính như: Thêm mới nhân viên nhà sản xuất, đăng ký sản phẩm mới và đăng ký quy trình kiểm định, gán quyền nhân viên quản lý sản phẩm, yêu cầu cấp phát chữ ký điện tử

Nhân viên nhà sản xuất có các chức năng như: Sửa sản phẩm và thêm sửa xóa quy trình cho sản phẩm, ngoài ra nhân viên nhà sản xuất cũng có chữ ký điện tử Đơn vị nhà kiểm định:

Hình 33: Biểu đồ phân cấp chức năng nhà kiểm định

Admin nhà kiểm định có các chức năng như: Cấp phát tài khoản nhân viên nhà kiểm định, xác thực quy trình cho sản phẩm, phân công quy trình cho nhân viên, đưa quyết định công nhận kiểm định sản phẩm lên hệ thống, yêu cầu cấp phát chữ ký điện tử

Nhân viên nhà kiểm định có các chức năng như: Xác thực quy trình cho sản phẩm và yêu cầu cấp phát chữ ký điện tử

Hình 34: Biểu đồ phân cấp chức năng người dùng

Người dùng có chức năng quét mã QR của sản phẩm hoặc có thể nhập mã sản phẩm vào trang truy xuất để có thể truy xuất thông tin của sản phẩm.

Phân tích thiết kế chức năng cơ sở dữ liệu

Như đã để cập ở phần 2, Hyperledger Fabric tương tác với dữ liệu thông qua smart contract là các struct được định nghĩa

Dưới đây là biểu đồ phân tích thiết kế CSDL cho Smart Contract:

Hình 35: Biểu đồ phân cấp chức năng cơ sở dữ liệu.

Giới thiệu phần mềm truy xuất nguồn gốc Blockchain

Bảng 1: Cấu hình cài đặt hệ thống Blockchain

Phần mềm truy xuất nguồn gốc sản phẩm bằng Blockchain được chạy dưới dạng

Web, người dùng có thể truy cập địa chỉ (https://truyxuatnguongoc.sytuan.net) để sử dụng ứng dụng

Hình 36: Giao diện phần mềm TRoot

Nếu là doanh nghiệp, lựa chọn Bạn là doanh nghiệp, hệ thống chuyển bạn tới trang đăng nhập:

Hình 37: Giao diện đăng nhập TRoot

Có 2 cách đăng nhập vào hệ thống:

- Cách 1: Đăng nhập bằng tài khoản và mật khẩu

- Cách 2: Đăng nhập bằng SMS OTP Đối với cách 1, doanh nghiệp nhập thông tin tài khoản mật khẩu từ trước để đăng nhập vào hệ thống Đối với cách 2, doanh nghiệp nhập số điện thoại, hệ thống sẽ tra cứu thông tin số điện thoại xem có khớp với dữ liệu trên hệ thống không, nếu khớp sẽ gửi mã OTP cho người dùng, khi người dùng nhập đúng mã OTP thì hệ thống sẽ đăng nhập thành công Đơn vị cung cấp phần mềm:

Hình 38: Giao diện màn hình chính Đơn vị cung cấp phần mềm Đơn vị cung cấp phần mềm sẽ thực hiện tạo tổ chức mới, ở đây em tạo 2 tổ chức

Hình 39: Thêm mới một cơ quan sản xuất

Trong thêm mới cơ quan kiểm định, phần mềm hỗ trợ thêm mới 2 loại cơ quan kiểm định là cơ quan kiểm định tiêu chuẩn và cơ quan kiểm định chuẩn VietGaps, ở đây em chọn cơ quan kiểm định tiêu chuẩn

Hình 40: Thêm mới cơ quan kiểm định tiêu chuẩn

Thêm mới cơ quan kiểm định xong, ta thực hiện thêm mới tài khoản Admin cho những người dùng này:

Hình 41: Thêm mới Admin Nhà sản xuất

Hình 42: Thêm mới Admin nhà kiểm định

Ngoài ra, đơn vị cung cấp phần mềm có thể kiểm tra trạng thái cấp khóa và xem khóa công khai của các thành viên trong hệ thống

Mỗi người dùng được thêm mới trong TRoot, mật khẩu của người dùng sẽ được gửi vào email mà người dùng đăng ký trên hệ thống TRoot

Hình 44: Thông tin người dùng được gửi về Email trong TRoot

Admin nhà sản xuất có các chức năng như: Cấp phát chũ ký điện tử, thêm mới sản phẩm, thêm mới nhân viên

Giao diện của Admin nhà sản xuất:

Hình 45: Giao diện của Admin nhà sản xuất trong TRoot

Admin nhà sản xuất có thể thêm mới một người dùng trong TRoot như sau:

Hình 46: Thêm mới một nhân viên trong TRoot

Thêm mới một sản phẩm trong TRoot được thực hiện như sau:

Tại Tab Quản lý sản phẩm, bấm vào Thêm mới sản phẩm

Nhập các thông tin giới thiệu sản phẩm như: Tên sản phẩm, ngày sản xuất, hạn sử dụng

Hình 47: Thêm mới sản phẩm trong TRoot

Sau khi điền đầy đủ thông tin mô tả về sản phẩm, ta sẽ thêm các quy trình và bước cho sản phẩm

Có 2 loại quy trình là quy trình người dùng tự định nghĩa và quy trình VietGaps: Quy trình VietGaps, khi nhà sản xuất lựa chọn thì phần mềm sẽ fix cứng số lượng

Nếu nhà sản xuất chưa đạt tiêu chuẩn VietGaps hoặc chỉ đạt một số tiêu chuẩn của VietGaps thì nhà sản xuất có thể tự định nghĩa các quy trình Điều này giúp cho TRoot có thể xử lý được tất cả các trường hợp có trong thực tế

Hình 48: Thêm mới quy trình người dùng tự định nghĩa trong TRoot

Sau khi thêm mới các quy trình trên, TRoot sẽ thêm sản phẩm trên vào hệ thống Ngoài ra, nhà sản xuất có thể sửa sản phẩm và in mã QR cho sản phẩm, mã QR chỉ có hiệu lực sau khi mà đơn vị có chức năng đã kiểm định toàn bộ quy trình cho sản phẩm Nếu chưa được kiểm định hết tất cả các quy trình, mã QR sẽ báo lỗi chưa được kích hoạt

Hình 49: Các chức năng về sản phẩm sau khi thêm mới sản phẩm

Hình 50: Xem mã QR cho sản phẩm trong TRoot

Nhân viên nhà sản xuất:

Nhân viên nhà sản xuất cũng có quyền tạo sản phẩm như Admin nhà sản xuất, tuy nhiên nhân viên nhà sản xuất chỉ có quyền sửa và ngưng sản xuất sản phẩm do chính mình tạo ra

Nhân viên nhà sản xuất không có quyền thêm mới một người dùng vào hệ thống như Admin nhà sản xuất

Admin nhà kiểm định và nhân viên nhà kiểm định:

Admin nhà kiểm định có chức năng yêu cầu cấp phát chữ ký điện tử, thêm mới nhân viên, phân công nhân viên kiểm định các quy trình và cập nhật quyết định công nhận kiểm định

Khi đăng nhập tài khoản Admin nhà kiểm định, nếu chưa có khóa hệ thống sẽ yêu cầu người dùng tạo khóa, người dùng nhập mật khẩu bí mật của mình để tạo khóa

Sau khi tạo khóa, người dùng có thể xem khóa và tải khóa về máy, đây là bí mật chỉ có người dùng biết nên không được lưu trữ trong hệ thống

Hình 52: Thông tin về khóa của người dùng trong TRoot

Cũng giống như Admin nhà sản xuất, Admin nhà kiểm định có thể thêm mới người dùng trong TRoot

Hình 53: Thêm mới một người dùng trong TRoot Để xác thực quy trình, trước hết Admin nhà kiểm định phải phân công xem quy trình này ai là người ký Admin nhà kiểm định có thể phân quyền cho nhân viên hoặc chính nó xác minh quy trình Ở đây, em phân quyền cho nhân viên Nguyễn Văn Dương thực hiện xác nhận quy trình sản phẩm:

Hình 54: Phân công người xác thực quy trình trong TRoot

Nhân viên nhà kiểm định sẽ đăng nhập bằng tài khoản của mình, thực hiện tạo khóa và xem thông tin sản phẩm, quy trình cần ký Sau đó nhân viên nhà kiểm định sẽ thực hiện việc kiểm định sản phẩm trên trong thực tế, nếu sản phẩm đạt chuẩn chất lượng thì sẽ sử dụng chữ ký của mình để xác nhận lên sản phẩm đó

Hình 55: Nhân viên nhà sản xuất xem thông tin quy trình trong TRoot

Hình 56: Thông báo xác thực quy trình trong TRoot

Nếu sản phẩm đạt chuẩn chất lượng và ký, đơn vị kiểm định cần phải chọn file khóa bí mật của mình đã tạo để xác thực quy trình

Nếu không đảm bảo chất lượng, nhà sản xuất sẽ không ký vào quy trình đó

Hình 57: Ký xác thực quy trình trong TRoot

Khi tất cả các quy trình đều được ký, Admin nhà kiểm định sẽ là người đưa quyết định công nhận sản phẩm đạt chuẩn chất lượng lên hệ thống TRoot

Hình 58: Upload quyết định đạt chuẩn chất lượng trong TRoot

Chỉ khi nào Admin nhà kiểm định upload quyết định công nhận đạt chuẩn chất lượng thì lúc đó QR sản phẩm mới kích hoạt để tra cứu

Người dùng: Để tra cứu thông tin sản phẩm, người dùng có thể quét mã QR có trên sản phẩm để tra cứu thông tin:

Giao diện tra cứu thông tin của người dùng trên Mobile:

Hình 59: Thông tin người dùng tra cứu sản phẩm trên Mobile

Thông tin tra cứu sản phẩm trên Desktop:

Hình 60: Thông tin tra cứu sản phẩm trên Desktop

Với TRoot, người dùng có thể tra cứu:

- Thông tin về sản phẩm

- Quy trình sản xuất sản phẩm

- Thông tin về doanh nghiệp sản xuất sản phẩm

Cách hoạt động của hệ thống Blockchain

Trong TRoot, hệ thống Hyperledger Fabric được cài đặt trên máy ảo Docker gồm có 2 peers và 2 tổ chức như 2 node mạng Để khởi tạo mạng, ta chạy script đã được viết sẵn, script sẽ tự động tạo cho chúng ta 2 peer, 2 tổ chức và cài đặt chaincode trên các tổ chức này, phần chaincode được viết bằng ngôn ngữ JavaScript

Hình 61: Script khởi tạo mạng

Khi dữ liệu do người dùng thao tác sẽ được đẩy lên hệ thống thông qua API, từ

API này sẽ được lưu vào các peer và phần dữ liệu mới nhất sẽ được lưu trữ trong World

Dữ liệu sẽ được gửi đến leader, leader sẽ xác minh thông tin như dữ liệu có đúng cấu trúc không, người tạo ra dữ liệu có quyền trong hệ thống không Nếu thông tin này đúng thì sẽ xác thực dữ liệu này và chờ được đóng thành Block

Cơ chế đổng thuận của hệ thống là cơ chế đồng thuận Raft, cứ 50 block thì sẽ có một block mới được tạo ra.

Ngày đăng: 03/04/2024, 08:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN