Taproot sắp xuất hiện trên Bitcoin: Cách thức hoạt động, lịch sử và ý nghĩa của nó, PlatoBlockchain Data Intelligence. Tìm kiếm theo chiều dọc. Ai đó.

Taproot sắp xuất hiện với Bitcoin: Cách thức hoạt động, lịch sử và hàm ý của nó

Taproot sắp xuất hiện trên Bitcoin: Cách thức hoạt động, lịch sử và ý nghĩa của nó, PlatoBlockchain Data Intelligence. Tìm kiếm theo chiều dọc. Ai đó.

Chữ ký Taproot và Schnorr sẽ xuất hiện trên Bitcoin ở khối 709,632. Đây sẽ là một thành tựu cơ bản to lớn để tiếp tục xây dựng trong tương lai. Đã bốn năm kể từ khi Segregated Witness xuất hiện trực tuyến trên mạng, bản nâng cấp giao thức lớn cuối cùng của chúng tôi. Điều đó dài như một chu kỳ giảm một nửa!

Nghĩ về điều đó. Bốn năm nữa SegWit sẽ phát trực tiếp đến Taproot sẽ phát trực tiếp. Sự kiên nhẫn từ từ, có phương pháp, vì nó phải như vậy. Nhưng lịch sử của Taproot / Schnorr còn lùi xa hơn thế rất nhiều.

Lịch sử của Taproot

Một số người đã ở đây một thời gian có thể thấy điều này thật mỉa mai, nhưng đề cập đầu tiên về chữ ký Schnorr mà tôi biết thực sự là từ cựu nhà phát triển Bitcoin Core đã chuyển sang xây dựng chuỗi khối doanh nghiệp Mike Hearn. Năm 2012, anh lớn lên ý tưởng về một đường cong mật mã mới liên quan đến việc xác minh hàng loạt các chữ ký để làm cho việc xác thực nút ít tốn kém về mặt tính toán hơn. Cuối cùng, kế hoạch mà anh ấy đề xuất phụ thuộc vào chữ ký của Schnorr.

Adam Back đang thảo luận về sự ngây thơ đề án để thực hiện một địa chỉ multisig trông giống như một singlelesig vào năm 2014, sử dụng chữ ký Schnorr. Ngay cả Gavin Andresen cũng bao gồm Schnorr thay vì ECDSA trong danh sách mong muốn của anh ấy về những thay đổi mà anh ấy sẽ thực hiện đối với Bitcoin nếu anh ấy có thể vẫy một chiếc đũa thần.

Kể từ khi gần ra đời Bitcoin, hầu hết các nhà phát triển tích cực tham gia vào Bitcoin Core đều muốn có chữ ký Schnorr và luôn có sự đồng thuận khá vững chắc về tính ưu việt của chúng so với chữ ký ECDSA. Trên thực tế, có thể lập luận rằng ECDSA được tạo ra đặc biệt bởi vì lược đồ chữ ký Schnorr đã được cấp bằng sáng chế, và nhu cầu lớn về một lược đồ chữ ký mật mã nguồn mở không bị cản trở bởi các bằng sáng chế.

Schnorr hiệu quả hơn nhiều và dễ dàng thao tác (mọi thứ có thể được thêm, bớt, v.v. từ chữ ký, và nếu được thực hiện đúng, vẫn có thể để lại cho người dùng chữ ký hợp lệ khi họ nên có chúng) so với ECDSA. Sử dụng ECDSA là một vấn đề cần thiết hơn là mong muốn trong hầu hết các ứng dụng mật mã trong những năm qua.

Cây cú pháp trừu tượng Merkelized (MAST), một nửa Taproot của bản nâng cấp Taproot sắp tới này, có lịch sử lâu đời tương tự. Tôi không thể tìm thấy trích dẫn, nhưng tôi nhớ khá rõ ràng đã thấy cụm từ đó được những người như Peter Todd ném xung quanh trên Bitcointalk.org vào khoảng năm 2013 hoặc 2014.

Bản gốc BIP cho MAST được đề xuất bởi Johnson Lau vào năm 2016. Đề xuất này cũng chứng kiến ​​một số hoạt động vào khoảng năm 2017 khi Mark Friedenbach, BTCDrak và Kalle Alm chia nó thành hai BIP riêng biệt (116117) và được mở rộng theo đề xuất ban đầu của Lau.

MAST đã ngồi trong tình trạng lấp lửng trong năm tới cho đến khi Greg Maxwell đưa ra ý tưởng Taproot ban đầu và công bố nó vào danh sách gửi thư bitcoin-dev. Cái nhìn sâu sắc của anh ấy là trong bất kỳ trường hợp hợp đồng nào giữa nhiều người tham gia mà anh ấy có thể nghĩ ra, đều có “kết quả tối ưu” trong đó mọi người có thể giải quyết hợp đồng chỉ cần ký vào kết quả phù hợp thay vì thực thi kết quả đó bằng các kịch bản và giao dịch nâng cao hơn. Đây là khẳng định cơ bản mà Taproot dựa trên, tức là, điều chỉnh cây MAST thành một khóa cấp cao nhất thông thường có thể được sử dụng mà không tiết lộ liệu cây Merkle của các điều kiện chi tiêu khác có tồn tại hay không.

Đoạn cuối cùng của bài học lịch sử này bắt đầu với việc Pieter Wiulle tuyên bố dự thảo BIP cho Schnorr và Taproot song song với danh sách gửi thư vào ngày 6 tháng 2019 năm 2020. Đến tháng XNUMX năm XNUMX, danh sách này chính thức được hoàn thành vào BIPs 340, 341 và 342. Kể từ thời điểm này, nó chỉ là rất nhiều cải tiến chi tiết nhỏ ở cấp độ thực hiện, một số giai đoạn xem xét, và sau đó là một thời gian dài rút ra chiến đấu trên các cơ chế kích hoạt. Điều đó dẫn chúng ta đến bây giờ, chỉ e ngại về việc kích hoạt.

Tầm quan trọng của chữ ký Schnorr

Vì vậy, vấn đề lớn với chữ ký Schnorr là gì? Để bắt đầu, họ thực hiện các giao dịch nhỏ hơn. Chữ ký ECDSA thường có kích thước khoảng 72 byte cho một chữ ký duy nhất trong một giao dịch. Chữ ký Schnorr đồng hồ ở mức tối đa 64 byte cho mỗi chữ ký. Đó là kích thước tiết kiệm khoảng 12% so với ECDSA cho mỗi chữ ký Schnorr. Đây vừa là lợi ích trực tiếp cho người sử dụng Schnorr, người sẽ trả ít phí hơn so với người dùng ECDSA, nhưng nó cũng là lợi ích trực tiếp cho những người không sử dụng Schnorr bằng cách yêu cầu ít dữ liệu hơn một chút được lưu trữ trong chuỗi khối để xử lý và xác thực Schnorr của người khác chữ ký.

Lưu trữ ít dữ liệu hơn luôn luôn tốt, nhưng điều tốt hơn nữa là tăng hiệu quả xác thực dữ liệu bạn phải lưu trữ. Một trong những đặc tính tốt đẹp của Schnorr, tính tuyến tính của toán học đằng sau nó, cũng cho phép một đặc tính tốt đẹp mà bạn muốn trong dữ liệu Bitcoin: xác thực hàng loạt. Khi nút của bạn nhận được một khối từ mạng, nó sẽ phân tích cú pháp qua từng giao dịch riêng lẻ và xác thực từng chữ ký một.

Đây là một phần lớn lý do tại sao các khối xác thực lại tiêu tốn rất nhiều năng lượng của CPU. Tất cả các chữ ký Schnorr có thể được ghép lại với nhau và được xác thực toán học cùng một lúc, giống như đập chúng lại với nhau và thực hiện một phép toán thay vì một loạt các phép toán riêng lẻ. Vì vậy, càng có nhiều chữ ký Schnorr, khoản tiết kiệm tính toán càng lớn. Đây là một chiến thắng mở rộng quy mô lớn cho mạng.

Một cải tiến lớn khác mà Schnorr mang lại là các tập lệnh đa chữ ký. Mỗi địa chỉ multisig phải tiết lộ rõ ​​ràng tất cả các khóa công khai riêng lẻ liên quan đến tập lệnh multisig tại thời điểm sử dụng và chữ ký phải được cung cấp cho mọi khóa tham gia vào quá trình chi tiêu. Với các tính chất toán học của Schnorr, cánh cửa mở ra cho MuSig, một tiêu chuẩn đa chữ ký. Bạn chỉ có thể thêm các khóa lại với nhau và kết thúc bằng một khóa công khai duy nhất mà mọi người chia sẻ khóa riêng tư đều có thể ký để sử dụng các giao thức chữ ký mới. Jonas Nick của Blockstream điểm chuẩn MuSig2 mất hai phút cho một triệu những người tham gia vào một địa chỉ nhiều ký tự để ký. Không thể đánh giá thấp việc cải thiện tỷ lệ đối với các tập lệnh đa chữ ký.

Bước nhảy vọt lớn này đối với các tập lệnh đa chữ ký cũng có ý nghĩa to lớn đối với hồ sơ quyền riêng tư và chi phí của nhiều ứng dụng được xây dựng trên Bitcoin. Các kênh Lightning dựa trên MuSig giờ đây có thể kết hợp với toàn bộ tập hợp ẩn danh của Schnorr / Taproot UTXO trên chuỗi bởi vì không ai có thể phân biệt thực tế rằng chúng là hai trong hai đầu ra multisig nữa.

Chúng sẽ hòa trộn và trông giống như một kịch bản chữ ký duy nhất. Điều tương tự cũng xảy ra đối với bất kỳ UTXO đa trọng lượng nào nói chung. Điều này sẽ có rất nhiều ý nghĩa đối với những người sử dụng tập lệnh đa chữ ký để bảo vệ kho lạnh của họ tốt hơn với mô hình khôi phục và bảo mật mạnh mẽ hơn so với tập lệnh chữ ký đơn lẻ.

Thứ nhất, sẽ không rõ ràng rằng họ đang sử dụng thiết lập multisig bằng cách xem chuỗi khối, vì vậy điều này, giống như trong trường hợp của Lightning, khiến họ hòa nhập với mọi thứ khác. Tuy nhiên, một chiến thắng quan trọng là về mặt kinh tế: sử dụng đa chữ ký ngay bây giờ yêu cầu cung cấp một chữ ký riêng cho mọi khóa liên quan đến việc cuối cùng chi tiêu một UTXO. Với Schnorr / MuSig, mọi thứ sẽ được nén thành một chữ ký duy nhất cho khóa công khai kết hợp duy nhất, có nghĩa là chi tiêu nhiều UTXOs bằng MuSig sẽ trở nên rẻ hơn nhiều vì nó đẩy ít dữ liệu hơn vào blockchain.

Một điều thú vị cuối cùng mà chữ ký Schnorr làm là đơn giản hóa đáng kể việc triển khai chữ ký bộ điều hợp. Hãy nghĩ về chữ ký bộ điều hợp được “mã hóa” bởi một giá trị đã được thêm vào hoặc trừ khỏi chữ ký hợp lệ. Nó không hợp lệ cho đến khi bạn đảo ngược phép toán đó hoặc “giải mã nó” bằng “chìa khóa” được sử dụng để thao tác với nó. Điều này có thể thực hiện được với ECDSA, nhưng do toán học là phi tuyến tính so với Schnorr, nó tương đối phức tạp và có rất nhiều lo ngại về bảo mật cần xem xét khi triển khai nó.

Tuy nhiên, do các thuộc tính tuyến tính của Schnorr, chữ ký bộ điều hợp đơn giản như lấy một đơn vị (giả sử, số 9,300,030) và trừ một giá trị từ nó (giả sử 30). Sau khi bên giữ chữ ký bộ điều hợp biết được giá trị bị trừ, họ có thể chỉ cần thêm lại và voila, họ lại có chữ ký hợp lệ.

Ý nghĩa của Taproot

Như đã thảo luận một chút ở trên, Taproot trên thực tế về cơ bản chỉ là MAST, ngoại trừ thay vì nó hoạt động giống như P2SH (nơi bạn băm tập lệnh, hoặc trong trường hợp của MAST, gốc Merkle ở trên cùng của cây tập lệnh), bạn "tinh chỉnh" a Khóa công khai Schnorr bằng gốc của cây Merkle.

Việc tinh chỉnh hoạt động do các thuộc tính tuyến tính của Schnorr - khi bạn “tinh chỉnh” khóa công khai có gốc Merkle (thêm gốc Merkle đó vào khóa công khai), thì bạn có thể chỉ cần thêm gốc Merkle vào khóa riêng ban đầu và tạo khóa chi tiêu cho khóa công khai mới được tinh chỉnh. Tức là bạn thêm cùng một thứ vào cả khóa công khai và khóa riêng tư và chúng vẫn là một cặp khóa hợp lệ. Điều này ẩn sự tồn tại của cây MAST, trừ khi một nhánh của nó được sử dụng, nhưng về cơ bản nó vẫn chỉ là một cây MAST, chỉ là một cây được cam kết theo cách riêng tư và hiệu quả hơn.

Khả năng cam kết với các tập lệnh chi tiêu khác nhau trong một cây Merkle và chỉ tiết lộ tập lệnh đã sử dụng là một chiến thắng về khả năng mở rộng lớn về độ phức tạp của hợp đồng thông minh có thể xây dựng trên Bitcoin.

Cũng giống như cách kích thước khối giới hạn số lượng giao dịch trên mỗi khối, có một giới hạn giới hạn kích thước giao dịch là 100 kilobyte. Sự khác biệt duy nhất là thay vì là một quy tắc đồng thuận, đó là một quy tắc chính sách. Điều đó có nghĩa là người khai thác có thể khai thác một giao dịch lớn hơn 100 kilobyte, nhưng theo mặc định, không có nút nào trên mạng sẽ chuyển tiếp một giao dịch lớn hơn mức đó cho người khai thác ngay từ đầu.

Điều này vốn dĩ giới hạn kích thước của tập lệnh được sử dụng để khóa một Bitcoin UTXO. Ngay cả với P2SH, nơi UTXO bị khóa trong một hàm băm của tập lệnh không được tiết lộ cho đến khi bạn sử dụng nó, cuối cùng bạn vẫn phải tiết lộ toàn bộ tập lệnh tại thời điểm đó. Taproot làm tăng giới hạn khả năng mở rộng này của tập lệnh bằng cách không yêu cầu bạn tiết lộ toàn bộ tập lệnh khi bạn sử dụng nó. Thay vì tổng kích thước của tất cả các cách bạn có thể sử dụng UTXO bị giới hạn trong giới hạn kích thước giao dịch, bạn chỉ phải đảm bảo rằng bất kỳ cách nào bạn có thể sử dụng Taproot UTXO đều tôn trọng giới hạn này.

Ngoài ra còn có rất nhiều lợi ích về quyền riêng tư đi kèm với Taproot. Một trong những lợi ích lớn của cây MAST là khả năng tạo ra tất cả các loại tình huống có điều kiện mà các bên khác có thể chi tiêu tiền xu.

Hãy tưởng tượng những thứ như kế hoạch thừa kế mà sau một năm hoặc lâu hơn con bạn có thể tiêu tiền của bạn, hoặc trong trường hợp bạn từ chối ký, vợ bạn và luật sư có một con đường tiềm năng để thu hồi tiền. Không có gì về các điều kiện chi tiêu này được tiết lộ cho công chúng trừ khi chúng thực sự được sử dụng. Quy trình hai lần này cung cấp khả năng phủ nhận hợp lý cho các bên khác liên quan đến các nhánh chi tiêu khác nhau mà bạn xây dựng liên quan đến sự tham gia của họ vào UTXO đó, cũng như bảo vệ họ khỏi kẻ trộm hoặc kẻ tấn công nhắm mục tiêu trước khi biết rằng họ có một số mức độ kiểm soát đối với UTXO của mục tiêu.

Về mặt kỹ thuật, Taproot cũng đã được thiết kế tương đối tốt. Bất kỳ ai đọc quen thuộc với Segregated Witness ở bất kỳ cấp độ sâu nào cũng nên quen thuộc với phiên bản nhân chứng.

Khi Segregated Witness được triển khai, nó đã tạo ra phần “nhân chứng” mới của giao dịch nơi dữ liệu chữ ký được chuyển đến. Dữ liệu nhân chứng có cờ phiên bản để nó có thể được nâng cấp lên chức năng mới mà không cần phải sử dụng hết OP_CODE không xác định trên lớp cơ sở cho các tính năng mới.

Đây thực sự là cách Taproot / Schnorr đã được thực hiện. Các giao dịch Nhân chứng tách biệt sử dụng phiên bản nhân chứng bằng không. Khi Taproot / Schnorr sớm phát hành, họ sẽ sử dụng phiên bản nhân chứng mới để phân biệt chúng với các giao dịch Nhân chứng tách biệt cũ hơn. Giống như cách mà SegWit đã giới thiệu các phiên bản nhân chứng, Taproot giới thiệu “phiên bản tapleaf” cho các đoạn mã được sử dụng trong cây MAST cho UTXO sử dụng Taproot. Điều này không chỉ cho phép các tập lệnh được chôn trong MAST nâng cấp mà không cần sử dụng OP_CODE mới trên lớp cơ sở mà còn không cần phải nâng cấp các phiên bản nhân chứng! Vì vậy Taproot được thiết kế để nâng cấp hiệu quả nhất có thể trong tương lai mà không hạn chế các nâng cấp không liên quan khác đối với giao thức.

Taproot sẽ mang lại nhiều trường hợp sử dụng khác nhau. Để bắt đầu, tất cả các điều khoản bất hợp tác trong kênh Lightning chẳng hạn như khóa hình phạt hoặc khóa thời gian để cho phép chúng được sử dụng, có thể được chôn dưới MAST với Taproot. Sẽ không ai biết chúng tồn tại trừ khi chúng cần được sử dụng, càng làm mờ đi những UTXO nào thực sự là kênh Lightning hay không.

Đề án kế thừa là một trường hợp sử dụng khác. Hãy tưởng tượng một cây Taproot được cấu trúc để sau sáu tháng bạn không chuyển tiền của mình, cả gia đình bạn có thể tập hợp lại và sử dụng UTXO theo cách họ muốn. Sau đó, sáu tháng sau, mỗi người trừ đi một người có thể chi tiêu (vì vậy hãy tưởng tượng nếu bạn có vợ, hai con và cha mẹ là những người nắm giữ chìa khóa, sau đó hãy tưởng tượng rằng sau sáu tháng nữa, vợ, một con và cha mẹ của bạn có thể ký , hoặc hai con bạn và bố mẹ có thể ký mà không cần vợ bạn, v.v.).

Sau đó, sáu tháng sau đó, tất cả mọi người trừ đi hai người có thể chi tiêu. Cuối cùng, nó có thể giảm đến mức chỉ một người với sự trợ giúp của luật sư (để đảm bảo không có điều tai quái nào xảy ra) có thể sử dụng UTXO.

Hoặc, điều gì sẽ xảy ra nếu bạn sử dụng multisig để bảo vệ kho lạnh của mình, nhưng bạn chỉ có một nơi mà bạn cho là an toàn và có thể dự đoán được lâu dài? Bạn có thể tạo MAST mà cuối cùng, sau một vài năm, chìa khóa tại vị trí an toàn đó có thể sử dụng số tiền đó một mình, đề phòng trường hợp các chìa khóa khác bị mất hoặc bị phá hủy, nhưng không đặt tiền của bạn ngay lập tức có nguy cơ bị đánh cắp trong hiện tại nếu điều đó một khóa đã bị xâm phạm.

Đây là một bản nâng cấp đáng kinh ngạc và toàn diện cho Bitcoin, được cho là đã được thực hiện kể từ khi gần như chính Bitcoin ra đời, chứ không chỉ trong vài năm qua, trong đó các chi tiết triển khai thực tế đã được vạch ra và triển khai.

Đó thực sự là một chiến thắng về nhiều mặt đối với khả năng mở rộng và tiện ích của giao thức Bitcoin mà khó có thể truyền tải được vì một số trong số chúng quá tinh tế và “không gợi cảm”. Nhưng điều đó không làm mất đi chiến thắng. Vì vậy, mọi người hãy chuẩn bị tinh thần và sẵn sàng chơi với những món đồ chơi mới mà chúng ta sẽ sớm sử dụng, bởi vì Taproot sắp ra mắt!

Đây là một bài đăng của Shinobi. Các ý kiến ​​được bày tỏ hoàn toàn là của riêng họ và không nhất thiết phải phản ánh ý kiến ​​của BTC Inc hoặc Tạp chí Bitcoin.

Nguồn: https://bitcoinmagazine.com/technical/bitcoin-taproot-explainer

Dấu thời gian:

Thêm từ Tạp chí Bitcoin