Fastcrypto, thư viện mật mã được sử dụng trong Sui, đã phá vỡ nhiều kỷ lục về tốc độ và công việc của chúng tôi về điểm chuẩn và phân tích bảo mật đã khắc phục nhiều lỗ hổng bảo mật đồng thời mở ra cánh cửa cho sự đổi mới bằng cách xác định các thủ thuật tối ưu hóa mới.

Một bài báo, Fastcrypto: Tiên phong về mật mã thông qua đo điểm chuẩn liên tục, gần đây được trình bày tại hội thảo điểm chuẩn của Hội nghị quốc tế về Kỹ thuật hiệu suất (ICPE) tại Đại học Imperial ở London, mô tả điểm chuẩn liên tục và có hệ thống của chúng tôi về các chức năng mật mã trong thư viện Fastcrypto.

Bài thuyết trình là một phần của phiên có tên “Những đổi mới trong kiểm tra hiệu suất: Chiến lược và công nghệ” trong hội thảo Kiểm tra tải và đo điểm chuẩn của Hệ thống phần mềm. Hội nghị đã thu hút các khách mời từ cả giới học thuật và ngành công nghiệp, bao gồm cả đại diện của MongoDB và Amazon, những người cũng đã phát biểu trong cùng một hội thảo.

Chúng tôi đã nhấn mạnh điểm chuẩn liên tục và có hệ thống của thư viện Fastcrypto, là tập hợp các chức năng mã hóa như chữ ký số, hàm băm và bằng chứng không có kiến ​​thức. Trong Fastcrypto, tất cả các chức năng đều được đánh giá liên tục khi phát hành và theo yêu cầu, đồng thời kết quả được công bố trực tuyến. Các chức năng tương tự có thể được so sánh dễ dàng và chúng tôi duy trì dữ liệu lịch sử để có thể theo dõi hiệu suất theo thời gian.

Bài trình bày nhấn mạnh cách các điểm chuẩn này đã tạo điều kiện thuận lợi cho việc ra quyết định sáng suốt hơn trong quá trình phát triển Fastcrypto và Sui, ảnh hưởng đến các lựa chọn về sự phụ thuộc và cách sử dụng, cũng như tối ưu hóa sự tập trung vào nguồn lực của nhà phát triển.

Ra quyết định có chất lượng từ điểm chuẩn

Một nghiên cứu điển hình từ bài báo đã giải quyết thách thức trong việc lựa chọn sơ đồ chữ ký cho người xác thực ở Sui. Để người dùng gửi giao dịch tới Sui, giao dịch phải được ký bởi số lượng người xác thực, kết hợp thành chứng chỉ giao dịch. Với khoảng 100 người xác thực và số cổ phần được phân bổ đều, số đại biểu bao gồm 67 người xác thực, nghĩa là mỗi người xác thực phải xác minh 67 chữ ký cho mỗi giao dịch.

Lược đồ chữ ký BLS cho phép xác minh nhiều chữ ký như thể chúng là một chữ ký duy nhất, nhưng nó chậm hơn rất nhiều so với các lựa chọn thay thế, chẳng hạn như EdDSA. Điểm chuẩn chi tiết cho thấy điểm hòa vốn giữa hai phương án này là từ 40 đến 45 chữ ký. Do đó, đối với Sui, sử dụng BLS hiệu quả hơn và đây thực sự là những gì được sử dụng ngày nay.

Việc so sánh các lược đồ chữ ký EdDSA và BLS cho thấy điểm hòa vốn từ 40 đến 45 chữ ký theo đợt, cho thấy rằng, với nhóm trình xác thực của Sui, BLS là một lựa chọn hiệu quả.

“Bạn cũng nên lo lắng nếu phần mềm đột nhiên nhanh hơn rất nhiều”

Bài thuyết trình cũng giới thiệu cách điểm chuẩn có thể phát hiện ra những hành vi không mong muốn của phần mềm. Một ví dụ liên quan đến các thư viện triển khai sơ đồ chữ ký EdDSA, trong đó giả định rằng khóa chung phải được lưu vào bộ đệm và được cung cấp làm đầu vào cho chức năng ký. Nếu cung cấp khóa công khai không chính xác, điều đó có thể dẫn đến việc trích xuất khóa riêng tư (như được minh họa trong ed25519-unsafe-libs GitHub của chúng tôi).

Sự cố này được phát hiện vì một số thư viện có hiệu suất nhanh bất thường, bỏ qua việc lấy khóa công khai và sử dụng khóa công khai có thể không chính xác được cung cấp làm đối số. Mặc dù các điểm chuẩn thường nhằm mục đích tăng tốc phần mềm, nhưng “bạn cũng nên lo lắng nếu phần mềm đột nhiên nhanh hơn rất nhiều”, một khán giả tại hội thảo đã lưu ý.