Tính toán đa bên (MPC)
Tính toán đa bên, hay Multi-Party Computation (MPC), là công nghệ mật mã cho phép nhiều bên cùng thực hiện một phép tính, chẳng hạn ký giao dịch, mà không tiết lộ dữ liệu bí mật của mình cho nhau.
Trong lĩnh vực tài sản mã hóa, MPC được ứng dụng để quản lý khóa riêng tư theo mô hình phân tán mà không cần khôi phục toàn bộ khóa khi ký.
Trong các mô hình lưu trữ tài sản mã hóa, MPC mô tả cách phân tán các phép toán trên vật liệu khóa. Việc triển khai vẫn phải chính xác và đi kèm các biện pháp kiểm soát phù hợp ở cấp tổ chức.
Khác với cách giữ một khóa riêng tư hoàn chỉnh tại một nơi, hệ thống MPC có cơ chế tạo khóa phân tán có thể vận hành mà không tạo hay lưu toàn bộ khóa ở bất kỳ một điểm nào. Đây là đặc tính của cách triển khai này, không phải khẳng định cho mọi sản phẩm mang nhãn MPC.
Trong hạ tầng tài sản số, MPC thường được dùng cùng các giải pháp lưu ký, đồng thời có thể bổ trợ cho công cụ bảo vệ bằng phần cứng như HSM.
Nguyên lý hoạt động cơ bản
Trong mô hình thông thường, một khóa riêng tư được dùng để tạo chữ ký số.
Trong mô hình ký MPC, bí mật tương ứng với khóa được biểu diễn bằng nhiều phần chia sẻ (share) theo quan hệ toán học. Mỗi phần được giữ bởi một bên hoặc trên một máy chủ riêng.
Các điểm quan trọng là:
- không bên nào nắm toàn bộ khóa;
- không cần tái tạo khóa ở dạng đầy đủ để ký;
- chữ ký được tạo bằng quá trình tính toán phối hợp.
Quy trình thường diễn ra như sau:
- Khởi tạo yêu cầu ký giao dịch.
- Mỗi bên thực hiện một phần thuật toán mật mã.
- Kết hợp các kết quả trung gian.
- Tạo ra chữ ký số hợp lệ theo cùng tiêu chuẩn như chữ ký từ một khóa riêng tư thông thường.
Trong cấu hình tạo khóa và ký phân tán nói trên, toàn bộ khóa không xuất hiện trong bộ nhớ của bất kỳ thiết bị riêng lẻ nào.
Sơ đồ ngưỡng, chẳng hạn 2-trên-3
MPC thường được triển khai dưới dạng sơ đồ ngưỡng, tương tự về ý tưởng phê duyệt với đa chữ ký.
Ví dụ, trong mô hình 2-trên-3:
- bí mật khóa được biểu diễn bằng ba phần chia sẻ;
- bất kỳ hai phần phù hợp nào cũng đủ để phối hợp tạo chữ ký;
- không bắt buộc cả ba cùng tham gia; chi tiết phối hợp phụ thuộc giao thức.
Điều đó có nghĩa là:
- đánh cắp một phần chưa đủ để tạo chữ ký;
- chỉ cần đạt ngưỡng quy định, ở đây là hai bên tham gia;
- hệ thống vẫn hoạt động khi mất một phần chia sẻ, nếu hai phần còn lại và quy trình ký vẫn dùng được.
Kiến trúc này cho phép phân bổ các phần khóa linh hoạt.
Ví dụ thực tế:
- một phần do đơn vị lưu ký giữ;
- hai phần còn lại do chủ tài sản giữ, chẳng hạn trên hai thiết bị khác nhau.
Trong cấu hình đó:
- đơn vị lưu ký không thể tự ký giao dịch;
- người dùng có thể thực hiện giao dịch mà không cần cả ba phần;
- việc lộ một phần riêng lẻ chưa đủ gây mất tài sản, với điều kiện các phần còn lại thực sự độc lập và an toàn.
Sơ đồ MPC ngưỡng có thể kết hợp tự kiểm soát với việc giao một phần chức năng vận hành cho bên khác. Nó giảm rủi ro từ một điểm lỗi duy nhất mà vẫn duy trì tính linh hoạt. Nếu một chủ thể thực tế kiểm soát đủ số phần đạt ngưỡng thì việc phân chia kỹ thuật không tự tạo ra quyền kiểm soát độc lập.
Khác biệt so với đa chữ ký (multisig)
MPC thường được so sánh với đa chữ ký, nhưng đây là hai cách tiếp cận kiến trúc khác nhau.
Đa chữ ký:
- có nhiều khóa riêng tư độc lập;
- cần số lượng chữ ký được quy định trước, chẳng hạn 2-trên-3;
- quy tắc đa chữ ký được thực thi trên blockchain, qua script hoặc hợp đồng thông minh tùy mạng.
MPC:
- về toán học, một khóa được biểu diễn qua nhiều phần chia sẻ;
- kết quả là một chữ ký tiêu chuẩn;
- blockchain có thể xử lý giao dịch như giao dịch ký bằng một khóa thông thường.
Như vậy:
- Đa chữ ký đặt logic phê duyệt ở lớp blockchain hoặc hợp đồng thông minh.
- MPC đặt logic phối hợp ở lớp tạo chữ ký mật mã.
MPC không cần mạng bổ sung một loại giao dịch đa chữ ký riêng nếu giao thức MPC hỗ trợ đúng thuật toán chữ ký mà mạng sử dụng.
MPC được sử dụng ở đâu?
MPC được sử dụng bởi:
- đơn vị lưu ký cấp tổ chức;
- sàn giao dịch tiền mã hóa;
- quỹ đầu tư;
- bộ phận quản lý ngân quỹ doanh nghiệp;
- công ty công nghệ tài chính.
Các nhà cung cấp hạ tầng lưu trữ chuyên biệt cũng cung cấp MPC dưới dạng dịch vụ.
Trong nhiều hệ thống cấp tổ chức, MPC là nền tảng cho dịch vụ lưu ký, giúp phân tán việc quản lý khóa mật mã. Việc một ví có lưu ký hay không phụ thuộc quyền ký thực tế, không chỉ phụ thuộc nhãn công nghệ MPC.
Lợi ích của MPC
MPC có các lợi ích kỹ thuật:
- không cần lưu toàn bộ khóa tại một điểm;
- giảm nguy cơ lộ khóa khi một máy chủ lưu phần khóa bị xâm nhập;
- phân bổ vai trò linh hoạt;
- không cần tạo địa chỉ multisig riêng;
- có thể tương thích với nhiều blockchain khi hỗ trợ đúng thuật toán chữ ký của mạng.
Các phần khóa cũng có thể được tạo, lưu và sử dụng trong một hoặc nhiều HSM. Điều này bổ sung lớp bảo vệ phần cứng, nhưng nếu tập trung đủ số phần đạt ngưỡng vào cùng một miền quản trị thì vẫn tồn tại điểm lỗi chung.
Rủi ro và giới hạn
MPC không loại bỏ mọi rủi ro:
- triển khai phức tạp;
- phụ thuộc vào tính đúng đắn của giao thức;
- cần các bên phối hợp trong quá trình ký;
- có thể tồn tại lỗ hổng phần mềm;
- phụ thuộc hạ tầng nhà cung cấp khi dùng MPC dưới dạng dịch vụ.
Nếu kẻ tấn công kiểm soát đủ số phần hoặc bên tham gia đạt ngưỡng, chẳng hạn hai phần trong sơ đồ 2-trên-3, cơ chế bảo vệ có thể bị phá vỡ.
Do đó, MPC thường chỉ là một thành phần trong kiến trúc bảo mật tổng thể, bên cạnh HSM, chính sách truy cập và biện pháp kiểm soát tổ chức.
Quá trình phối hợp còn cần kết nối mạng đáng tin cậy và sự sẵn sàng của đủ số bên tham gia; yêu cầu đồng bộ cụ thể tùy giao thức.
Các công nghệ liên quan
MPC là một trong các cách bảo vệ khóa và quản lý tài sản số.
Tùy yêu cầu bảo mật và mô hình vận hành, còn có thể sử dụng:
- Đa chữ ký — mô hình dựa trên nhiều khóa riêng tư độc lập.
- HSM — thiết bị phần cứng để giữ và sử dụng khóa trong môi trường bảo vệ.
- Lưu ký — mô hình tổ chức chuyên trách quản lý khóa thay người dùng.
- Ví phần cứng — thiết bị giúp người dùng tự giữ khóa tài sản mã hóa.
Kết luận
MPC là cơ chế mật mã để quản lý và sử dụng khóa riêng tư theo mô hình phân tán mà không cần ghép lại toàn bộ khóa khi ký.
Nó kết hợp ưu điểm của kiểm soát phân tán, tương tự mục tiêu của đa chữ ký, với khả năng tạo chữ ký tiêu chuẩn như khi dùng một khóa.
Trong hạ tầng lưu trữ tài sản mã hóa, MPC là giải pháp kỹ thuật cấp tổ chức giúp giảm nguy cơ một điểm bị xâm phạm làm lộ toàn bộ khóa, đồng thời duy trì khả năng tương thích với các giao thức blockchain mà triển khai đó hỗ trợ.