DahLIAS: Cả ECDSA lẫn Schnorr

Bài viết này được dịch máy
Xem bản gốc

Tác giả: Kiara Bickers

Nguồn: https://bitcoinmagazine.com/technical/not-ecdsa-not-schnorr-meet-dahlias

Khái niệm "chữ ký tổng hợp" không phải là mới; chúng đã xuất hiện từ đầu những năm 2000. Tuy nhiên, việc phát triển một giải pháp có thể thực sự được sử dụng trong mô hình bảo mật của Bitcoin, dựa trên đường cong elip của Bitcoin, chưa bao giờ được hiện thực hóa hoàn toàn. Các nhà phát triển đã suy đoán rằng điều đó là khả thi. Họ chia sẻ những bản phác thảo bằng tay và nói, "Có lẽ nó sẽ hoạt động tương tự như ' MuSig2 ', chỉ khác là áp dụng cho các đầu vào giao dịch." Ý tưởng này tồn tại như một huyền thoại trong giới lập trình viên suốt nhiều năm, nhưng chưa bao giờ được chứng minh một cách chắc chắn.

Nhưng gần đây, mọi thứ đã thay đổi: Jonas Nick và Tim Ruffing (từ Blockstream Research), cùng với Yannick Seurin (từ Ledger), đã công bố một bài báo biến câu chuyện về vấn đề mật mã khó giải quyết này thành một kết quả cụ thể, có thể chứng minh được. " DahLIAS " là cấu trúc chính thức, an toàn đầu tiên của một lược đồ chữ ký tổng hợp hoàn toàn có dung lượng không đổi (đầu vào chéo) hoạt động trên đường cong gốc của Bitcoin!

Ở đây có rất nhiều từ bổ nghĩa, chúng ta cần giải thích từng từ một:

  • Tổng hợp đầy đủ : Nhiều chữ ký rải rác trên các đầu vào khác nhau có thể được hợp nhất thành một chữ ký duy nhất có kích thước 64 byte; kích thước chữ ký luôn không đổi, bất kể số lượng người ký hoặc đầu vào.
  • Nhập liệu chéo : Mỗi người ký có thể ủy quyền các đầu vào khác nhau, và tất cả các chữ ký cuối cùng sẽ được hợp nhất thành một chữ ký duy nhất.

Ngoài những giả định mà Bitcoin đã dựa vào, DahLIAS không bổ sung thêm nhiều giả định mới. Nói cách khác, bằng cách sử dụng các phép toán mà Bitcoin đã dựa vào, DahLIAS tạo ra một thuật toán mã hóa cơ bản mới, mở khóa các loại chữ ký hoàn toàn mới.

Trước tiên, hãy cùng nói về đường cong và chữ ký.

Chữ ký số là một phương tiện để chứng minh người dùng đã ủy quyền cho một giao dịch trong thế giới Bitcoin. Khi bạn muốn chi tiêu Bitcoin, phần mềm ví của bạn sử dụng private key để ký một thông điệp, và sau đó toàn bộ mạng lưới (nút đầy đủ) sử dụng khóa công khai tương ứng để xác minh chữ ký đó.

Bitcoin sử dụng thuật toán đường cong elip, mô hình " secp256k1", mà người dùng dùng để tạo khóa công khai và chữ ký. Thuật toán này nhanh, hiệu quả và đã được kiểm thử kỹ lưỡng. Nó hỗ trợ các lược đồ chữ ký như " ECDSA " và " Schnorr "; thuật toán đầu tiên là thuật toán chữ ký gốc được Bitcoin sử dụng, trong khi thuật toán thứ hai được thêm vào trong nâng cấp"Taproot" năm 2021 và có thể được sử dụng trong các đầu ra P2TR; hiện tại, đây là những lược đồ chữ ký duy nhất được các quy tắc đồng thuận của Bitcoin công nhận.

Theo truyền thống, các phép toán học được sử dụng để tổng hợp chữ ký đầy đủ không được hỗ trợ trên các đường cong elip của Bitcoin(secp256k1) và do đó dường như không thể đạt được. Các tính năng này thường dựa trên các loại đường cong elip khác. Ví dụ, chữ ký "BLS (Boneh–Lynn–Shacham)" sử dụng một loại đường cong đặc biệt gọi là "đường cong khớp" để cho phép các thao tác nâng cao như hợp nhất nhiều chữ ký (thậm chí cả chữ ký của các thông điệp khác nhau) thành một chữ ký duy nhất.

Vấn đề là chữ ký BLS không hoạt động trên secp256k1. Mặc dù việc chuyển từ ECDSA sang Schnorr là một nâng cấp tự nhiên, vì cả hai đều dựa trên cùng một loại đường cong elliptic, nhưng việc thêm chữ ký BLS sẽ là một bước nhảy vọt lớn hơn nhiều, đồng nghĩa với việc thay đổi mô hình bảo mật hiện có Bitcoin. Mặc dù về mặt kỹ thuật là khả thi, nhưng điều đó sẽ đưa ra những giả định mật mã mới và làm tăng đáng kể độ phức tạp của giao thức. Việc hỗ trợ một đường cong phù hợp cho việc ghép cặp, chẳng hạn như " BLS12-381 ", sẽ là một thay đổi lớn đối với Bitcoin.

Đây là một phần lý do tại sao chữ ký tổng hợp hoàn toàn chưa bao giờ được triển khai trên secp256k1.

Cho đến bây giờ.

Nguyên tắc tổng hợp chữ ký

Hầu hết người dùng Bitcoin đều quen thuộc với chữ ký đa người. Trong ví đa người , nhiều người cùng nhau ủy quyền chi tiêu một UTXO (hay "coin" duy nhất). Mỗi người ký vào cùng một dữ liệu đầu vào. Cấu hình này hữu ích, ví dụ, cho các ví lưu ký chung.

Chữ ký tổng hợp hoạt động khác biệt. Thay vì nhiều người ký cùng một dữ liệu đầu vào (hoặc tiền), mỗi người ủy quyền cho một dữ liệu đầu vào khác nhau (UTXO) cho một giao dịch. Những chữ ký riêng lẻ này sau đó được nén thành một bằng chứng duy nhất, nhỏ gọn. Sử dụng DahLIAS, điều này có nghĩa là việc xác minh chữ ký 64 byte trên đường cong secp256k1 của Bitcoin là đủ để xác minh tất cả các dữ liệu đầu vào.

(Ghi chú của người dịch: Để tránh hiểu nhầm, trong thế giới Bitcoin, "việc tổng hợp chữ ký của nhiều khóa công khai cho cùng một thông điệp thành một chữ ký duy nhất" cũng được coi là chữ ký tổng hợp, chẳng hạn như MuSig và MuSig2, là các chữ ký tổng hợp dựa trên Schnorr; trường hợp mà tác giả đề cập ở đây (tổng hợp chữ ký của nhiều khóa công khai cho các thông điệp khác nhau thành một chữ ký duy nhất) thường được phân loại là "CISA (Cross-Input Signature Aggregation)".)

Nói cách khác, ban đầu, nếu một giao dịch có năm đầu vào khác nhau từ năm người khác nhau, thì giao dịch đó sẽ chứa năm chữ ký khác nhau. Với chữ ký tổng hợp, tất cả các chữ ký này có thể được kết hợp thành một. Ngay cả khi mỗi người ký sử dụng các đầu vào khác nhau và ký vào các phần khác nhau của giao dịch, điều đó cũng không thành vấn đề: kết quả chỉ là một chữ ký duy nhất chứng minh rằng giao dịch đã được ủy quyền đúng cách.

Điều này giống như việc nén nhiều giấy phép thành một tệp duy nhất. Chữ ký được thu gọn nhưng vẫn có thể xác minh được, chứng minh rằng mỗi người ký đã ủy quyền cho UTXO của riêng họ.

Điều này có thể giúp định hướng lại khích lệ cho quyền riêng tư. Bằng cách giảm chi phí chữ ký xuống chỉ còn 64 byte bằng chứng, DahLIAS giảm chi phí hợp nhất các đầu vào trong các giao dịch CoinJoin , khiến việc lựa chọn các giao dịch bảo mật trở nên khôn ngoan hơn về mặt tài chính.

Tại sao phương pháp "giảm nửa trùng hợp" lại kết thúc?

Ngay sau khi chữ ký Schnorr được giới thiệu vào Bitcoin, các nhà phát triển đã khám phá ra phương án " tổng hợp giảm giảm nửa " như một cách để nén nhiều chữ ký, nhưng kết quả không phải là kích thước cố định. Mỗi đầu vào bổ sung làm tăng kích thước bằng chứng cuối cùng, do đó khối lượng giao dịch vẫn tăng theo số lượng người tham gia. DahLIAS đã khắc phục điều này bằng cách triển khai tổng hợp hoàn toàn giữa các đầu vào và người ký. Bất kể có bao nhiêu người tham gia hoặc họ đã ký gì, tất cả các chữ ký đều được nén thành một bằng chứng duy nhất, có kích thước cố định (64 byte).

Ứng dụng thực tế của DahLIAS

Lợi ích chính của việc sử dụng DahLIAS là nó giúp giảm kích thước của các giao dịch phức tạp.

DahLIAS sử dụng quy trình ký tương tác hai vòng. Điều này tương tự như MuSig2 ở cấp độ tương tác; tuy nhiên, nó không phải là giao thức đa chữ ký vì nó không yêu cầu tất cả người tham gia cùng ký vào cùng một thông điệp. Thay vào đó, nó tổng hợp các chữ ký cho các thông điệp khác nhau.

Quá trình xác minh DahLIAS cũng nhanh hơn so với việc xác minh từng chữ ký riêng lẻ, nhanh hơn đến gấp đôi. Chi phí xác minh thấp hơn sẽ cho phép nhiều người vận hành nút đầy đủ, giúp bảo vệ phi tập trung của Bitcoin .

Điều quan trọng là, DahLIAS sở hữu những đảm bảo mật mã mạnh mẽ. Hệ thống này bao gồm các bằng chứng bảo mật chính thức. Phương pháp"truyền thuyết của nhà phát triển" trước đây thiếu điều này, và một số thậm chí sau đó còn được chứng minh là không an toàn. Do đó, thật may mắn là chúng không được áp dụng quá sớm.

Cần nhắc lại: DahLIAS không phải là giao thức đa chữ ký . Về mặt chức năng, nó không thể so sánh với MuSig2 hoặc FROST, mặc dù nền tảng mật mã của chúng tương tự nhau. Mục đích của nó nằm ở chỗ khác. Nó cung cấp một cách mới để mã hóa nhiều giấy phép độc lập thành một gói rõ ràng, có thể kiểm chứng được.

Định hướng tương lai

Có thể bạn đang nghĩ: Nếu DahLIAS mạnh mẽ đến vậy, tại sao nó lại không có BIP? Tại sao không đề xuất Bitcoin?

Chữ ký DahLIAS khác với chữ ký Schnorr và ECDSA. Thuật toán xác minh của chúng khác nhau; thay vì sử dụng khóa công khai, thông điệp và chữ ký để xác minh, nó sử dụng một tập hợp các khóa công khai và một tập hợp các thông điệp tương ứng, cộng với một đoạn bằng chứng 64 byte.

Điều này khiến DahLIAS không tương thích với các quy tắc đồng thuận hiện tại của Bitcoin. Việc hỗ trợ nó ở lớp cơ sở sẽ đòi hỏi một sự thay đổi về cơ chế đồng thuận. Bài báo về DahLIAS không đề xuất sự thay đổi như vậy, nhưng những gì nó làm cũng quan trọng không kém.

Bài báo này chứng minh rằng có thể thiết kế một lược đồ chữ ký tổng hợp hoàn chỉnh trên đường cong elip gốc Bitcoin .

Tuy vậy, đây vẫn là một sự cải thiện đáng kể.

Để tích hợp DahLIAS vào Bitcoin, cần có người viết một giao thức giao diện khối (BIP), thậm chí có thể sử dụng secp256k1lab . Điều này có nghĩa là cần phải xác định chi tiết của lược đồ, xem xét tác động của nó đến cơ chế đồng thuận và triển khai, cũng như xây dựng sự ủng hộ của cộng đồng. Bài báo này chỉ đơn thuần đặt nền tảng mật mã cho sự chuyển đổi đó.

Giá trị thực sự của bài báo DahLIAS nằm ở những gì nó chứng minh. Việc đạt được khả năng tổng hợp chữ ký đầy đủ trên secp256k1 không còn chỉ là một khái niệm nữa. Đó là một thực tế, hiệu quả và an toàn. Trong nhiều năm, ý tưởng này chỉ là câu chuyện của các nhà phát triển. Giờ đây, nó đã được ghi chép lại, phân tích và chứng minh. Tất cả những gì còn lại là đưa nó vào Bitcoin nếu chúng ta muốn.

(qua)

Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận