Binance mở mã nguồn cho việc ứng dụng Thuật toán Chữ ký kỹ thuật số Đường cong Edward (EdDSA) trong thư viện TSS

2020-03-12

Cách đây 3 tháng, Binance đã thông báo mở mã nguồn cho thư viện Sáng kiến Ngưỡng chữ ký (TSS), tiến bước chân quan trọng đầu tiên để đóng góp cho công cuộc phát triển blockchain mã nguồn mở. Thư viện này tương thích với các blockchain xây dựng trên nền tảng ECDSA, bao gồm Binance Chain, Bitcoin và Ethereum. Nó đã được sử dụng để thiết lập các cầu nối hoán đổi token và nhiều ứng dụng khác.

Đội ngũ phát triển Binance Chain đã tiếp tục nỗ lực phát triển công nghệ mới này. Ngày hôm nay, chúng tôi vô cùng hào hứng thông báo sẽ mở mã nguồn ứng dụng trong thư viện TSS cho EdDSA, qua đó hỗ trợ được thêm nhiều loại blockchain khác, bao gồm Cardano, NANO, Stellar Lumens, WAVES và thậm chí là cả Libra!

Vì sao lại là EdDSA?

Đường cong elip là một trong những phương pháp mã hóa mạnh mẽ nhất đang được ứng dụng rộng rãi ở thời điểm hiện tại, trong đó đường cong Edwards đang là dạng ê líp mới nhất và tốt nhất. Thuật toán chữ ký kỹ thuật số theo đường cong elip có thể giúp gửi thông tin nhanh hơn so với những thuật toán hiện nay như là RSA, DSA hay ElGamal. Khi được kết hợp với đường cong Edwards, thuật toán chữ ký kỹ thuật số theo đường cong Edwards (viết tắt là EdDSA) là một sáng kiến chữ ký kỹ thuật số sử dụng những biến thể của chữ ký Schnorr dựa trên đường cong Edwards dạng xoắn.

Nhiều blockchain như là Tezos, Libra và Cardano đang chọn sử dụng thuật toán EdDSA với đường cong Ed25519 thay vì ECDSA với đường cong secp256k1. Nguyên nhân là vì sao?

Những đặc điểm chính của Chữ ký EdDSA:

  • Xác minh nhanh hơn: Thuật toán của EdDSA đơn giản hơn ECDSA, và cả hai đều dễ hiểu và dễ tích hợp. Chính vì sự đơn giản này, EdDSA có hiệu năng sử dụng nhỉnh hơn ECDSA một chút.

  • Khả năng bảo mật đã được chứng minh [1]: Chữ ký Schnorr đã được chứng minh là an toàn. Cụ thể hơn, các thông tin được mã hóa bởi nó vô cùng khó bị làm giả và gần như bất biến. Mặc khác, chữ ký ECDSA đã từng bị thay đổi và gây nên nhiều vấn đề đối với Bitcoin.

  • Tính tuyến tính [1]: Chúng ta có thể thêm vài chữ ký Schnorr và kết quả vẫn là một chữ ký hợp lệ. Điều này có thể giúp tiết kiệm năng lượng tính toán và hình thành block cho các cấp độ xây dựng cao hơn mà cải thiện cả về hiệu năng lẫn tính bảo mật, như là giao dịch đa chữ ký, v.v.

Bảo mật là trên hết

Bảo mật từ lâu đã là ưu tiên hàng đầu đối với Binance và đội ngũ phát triển của Binance. Chúng tôi đã mời Kudelski Security đến kiểm tra bảo mật trên phiên bản đầu tiên của tss-lib. EdDSA mới đã sử dụng lại phần lớn những lệnh đã có sẵn trong thư viện và hiện chúng tôi đang tiến hành kiểm tra những phần mới được thêm vào. Bạn có thể theo dõi những cập nhật trên GitHub tại đây.

Tss-lib là một phần của chương trình Bug Bounty của Binance, nơi các lập trình viên được khuyến khích báo cáo các lỗ hổng bảo mật tiềm tàng và nhận thưởng. Vì công nghệ cũng như công tác nghiên cứu TSS vẫn còn khá mới, các nhà mật mã học đã chủ động tham gia phân tích ứng dụng của chúng tôi. Tính đến nay, công sức của họ đã giúp mang lại hai lần cập nhật bảo mật mới

  1. https://github.com/binance-chain/tss-lib/releases/tag/v1.1.0

  2. https://github.com/binance-chain/tss-lib/releases/tag/v1.2.0

Cả hai phát hiện trên đã góp phần biến thư viện TSS của Binance thành một trong những ứng dụng TSS an toàn nhất. Chúng tôi muốn gửi lời cảm ơn đến các chuyên gia nghiên cứu vì công sức và thời gian họ đã bỏ ra.

Các kế hoạch trong tương lai

Ngay hôm nay, chúng tôi sẽ thêm các thư viện có liên quan đến EdDSA vào bộ mã nguồn mở tss-lib sẵn có trong cập nhật v1.3.0.. Chúng tôi hy vọng sẽ có thêm thành viên trong hệ sinh thái và cộng đồng Binance có thể tích hợp thư viện TSS vào ứng dụng của họ, như là dịch vụ ví tiền và lưu ký tiền mã hóa, và tiếp tục phát triển công nghệ mới lạ này.

Đây chỉ là một cột mốc trong quá trình xây dựng TSS của chúng tôi mà thôi. Chúng tôi sẽ còn nghiên cứu và tích hợp thêm những giải pháp quản lý tài sản tốt hơn cùng cộng đồng Binance Chain. Việc xây dựng một cộng đồng mã nguồn mở lành mạnh và có tính hỗ trợ sẽ có lợi cho cả cộng đồng Binance Chain lẫn cộng đồng blockchain và tiền mã hóa toàn cầu.

Ghi chú: 

[1] https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki#Motivation