Taproot là một bản nâng cấp cho Bitcoin mang lại một số tính năng và lợi ích mới cho người dùng Bitcoin. Cộng đồng Bitcoin đã kích hoạt Taproot tại khối 709,632 vào ngày 12 tháng 11 năm 2021.
Bản nâng cấp Taproot bao gồm ba phần Đề xuất cải thiện Bitcoin (BIPs)mà xác định ba cải tiến riêng biệt cho giao thức Bitcoin:
Các nâng cấp này cùng nhau được gọi là nâng cấp Taproot, thường được gọi chung là BIP Taproot. Những BIP này giới thiệu cách chuyển bitcoin mới, hiệu quả, linh hoạt và riêng tư hơn.
Là một phần của bản nâng cấp Taproot, BIP 340 giới thiệu chữ ký Schnorr để sử dụng trong Bitcoin. Chữ ký Schnorr mang lại nhiều lợi ích cho người dùng Bitcoin, bao gồm sự riêng tư vượt trội, phí thấp hơn và linh hoạt hơn multisig.
BIP này cũng quy định cách mã hóa khóa công khai và chữ ký Schnorr để sử dụng trong Bitcoin. Các khóa công khai được sử dụng cho chữ ký Schnorr có độ dài 32 byte, so với khóa công khai 33 byte của ECDSA. Ngoài ra, chữ ký Schnorr có độ dài 64 byte, so với chữ ký ECDSA, có độ dài từ 71-72 byte, bao gồm một cờ sighash. Những tiết kiệm không gian nhỏ này mang lại tiết kiệm phí cho người dùng Bitcoin nào áp dụng Taproot.
➤Tìm hiểu thêm về chữ ký Schnorr.
Trong khi BIP 340 xác định đặc tả để tạo và mã hóa chữ ký Schnorr và khóa công khai, BIP 341 xác định cách giao thức của Bitcoin tích hợp chữ ký Schnorr. Cụ thể, Script Bitcoin phải được cập nhật để cũng đánh giá các chữ ký Schnorr. Taproot cũng tích hợp Cây Kịch Bản Thay Thế Merkelized (MAST), cho phép người dùng khóa các đầu ra vào nhiều script khác nhau.
Các đầu ra Pay-to-Taproot là các đầu ra SegWit phiên bản 1, và tất cả các giao dịch Taproot đều là giao dịch SegWit.
Taproot cũng giới thiệu một loại script mới, một cách chi tiêu Bitcoin. Pay-to-Taproot (P2TR) cho phép người dùng thanh toán cho một khóa công khai Schnorr hoặc Merkle rootcủa nhiều loại kịch bản khác. Sử dụng loại kịch bản mới này, người dùng có thể tạo ra một UTXOmà có thể được mở khóa và tiêu bỏ bởi chủ sở hữu của khóa riêng tư hoặc bất kỳ ai có thể đáp ứng các yêu cầu của bất kỳ tập lệnh nào trong cây Merkle.
Tập Trung Khóa
Tính năng tổng hợp khóa của Schnorr giúp tăng tính linh hoạt này. Khi bitcoin được gửi đến một đầu ra P2TR, nó được khóa vào một khóa công khai duy nhất, gọi là Q. Tuy nhiên, khóa công khai Q này thực sự là sự tổng hợp của một khóa công khai P và một khóa công khai được tạo ra từ Merkle root của nhiều loại script khác nhau. Bất kỳ script thay thế nào trong cây Merkle cũng có thể được sử dụng để tiêu tốn đầu ra.
Thiết kế này cho phép người dùng lựa chọn giữa các kịch bản phức tạp, tùy ý cũng như chức năng thanh toán đơn giản đến khóa công khai vào thời điểm chi tiêu, chứ không phải vào thời điểm nhận tiền. Nó cũng làm cho tất cả các đầu ra Taproot trông giống nhau. Vì các đầu ra multisig, đầu ra chữ ký đơn và các hợp đồng thông minh phức tạp khác đều trông giống nhau trên blockchain, nhiều thuật toán phân tích chuỗi sẽ trở nên không sử dụng được, bảo vệ quyền riêng tư cho tất cả người dùng Taproot.
Để thực hiện giao dịch P2TR, BIP 342 thêm và cập nhật một sốopcodes. Những kịch bản mới này được sử dụng để xác minh các giao dịch Taproot và chữ ký Schnorr, và chúng được gọi chung là Tapscript.
Tapscript được thiết kế để tối đa hóa sự linh hoạt trong việc chi tiêu P2TR trong tương lai để cho phép các nâng cấp mà hiện tại chưa được dự đoán.
Bản nâng cấp Taproot mang lại nhiều lợi ích cho người dùng Bitcoin sử dụng Taproot cũng như những người không sử dụng. Việc giới thiệu chữ ký Schnorr mang lại nhiều lợi ích đáng kể cho quyền riêng tư và an ninh, nhưng Taproot và Tapscript cũng mang lại những lợi ích riêng của họ.
➤ Tìm hiểu thêm về lợi ích của chữ ký Schnorr.
Hầu hết các đầu ra Taproot (P2TR) tiêu thụ ít không gian hơn trên blockchain so với bình thường P2PKHđầu ra, nhưng có kích thước lớn hơn một chút so vớiP2WPKHoutputs. Điều này chủ yếu là do thực tế rằng các outputs P2TR khóa bitcoin trực tiếp vào một khóa công khai, không phải là băm của khóa công khai. Điều này khiến việc gửi đến các outputs Taproot đắt hơn một chút, vì khóa công khai chiếm nhiều không gian hơn so với băm khóa công khai. Tuy nhiên, việc tiêu outputs Taproot rẻ hơn đáng kể vì khóa công khai được bao gồm trong scriptPubKey, và do đó không cần phải được bao gồm trong Chứng kiến Script.
Taproot cũng xác định lược đồ mã hóa cho khóa công cộng và chữ ký Schnorr, làm cho chúng ngắn hơn so với đối tác ECDSA của họ, tạo thêm tiết kiệm phí.
Tác động đến quyền riêng tư của Taproot có lẽ là phần quan trọng nhất của bản nâng cấp. Bằng cách giới thiệu chữ ký Schnorr và tổng hợp khóa, các hợp đồng đa chữ ký không còn khác biệt so với các hợp đồng đơn chữ ký, mang lại quyền riêng tư cho tất cả người dùng Taproot.
Vì Lightning Network dựa vào ví đa chữ ký 2 trong số 2, Taproot làm cho không thể phân biệt được giao dịch nào tạo ra các kênh Lightning.
Taproot cũng giới thiệu các lợi ích về quyền riêng tư đáng kể thông qua việc tích hợp MAST. Như đã thảo luận ở trên, Taproot cho phép Bitcoin bị khóa vào nhiều kịch bản cùng một lúc. Tuy nhiên, khi tiêu Bitcoin từ một đầu ra Taproot, người tiêu Bitcoin không cần phải tiết lộ mọi kịch bản có thể mở khóa Bitcoin; chỉ cần kịch bản mà họ thực sự sử dụng. Trong hầu hết các trường hợp, người dùng Taproot có thể sẽ sử dụng tùy chọn thanh toán cho khóa công khai, cho phép họ giữ bất kỳ tùy chọn dự phòng nào mà họ có thể đã lập kế hoạch một cách riêng tư.
➤ Tìm hiểu thêm về cách nâng cấp Taproot cải thiện trải nghiệm người dùng của Lightning.
Trên một cấp độ kỹ thuật, lý thuyết, chữ ký Schnorr được coi là an toàn hơn so với chữ ký ECDSA vì chữ ký Schnorr được chứng minh là an toàn bằng cách sử dụng ít giả thuyết hơn. Giống như tất cả các kế hoạch mật mã đường cong elliptic, cả ECDSA và Schnorr đều dựa vào giả thiết rằng Vấn đề Logarithm Rời rạc là khó. Tuy nhiên, ECDSA phụ thuộc vào các giả thiết bổ sung để đảm bảo tính bảo mật của mình. Tuy nhiên, chưa có ví dụ nào về việc ECDSA bị tấn công theo cách hệ thống trong suốt quá trình tồn tại của Bitcoin.
Chữ ký Schnorr cũng loại bỏ bất kỳ chữ ký nàomalleabilitycó thể đã hiện diện trong chữ ký ECDSA. Trong khi tính biến đổi của giao dịch đã được giải quyết bởi nâng cấp SegWit, tính biến đổi của chữ ký vẫn tồn tại như một đặc điểm của ECDSA.
Tarolà một giao thức được cung cấp bởi Taproot cho phép người dùng phát hành tài sản trên chuỗi khối Bitcoin và Mạng LightningVới thiết kế tập trung vào Taproot, việc phát hành tài sản này có thể được thực hiện một cách riêng tư và có khả năng mở rộng hơn so với những nỗ lực trước đây để giới thiệu các tài sản khác trên nền tảng Bitcoin. Taro được đề xuất bởi Lightning Labs vào tháng 4 năm 2022.
Taproot được sử dụng trong Taro để nhúng siêu dữ liệu tài sản vào một đầu ra giao dịch hiện tại. Chữ ký Schnorr cũng được sử dụng để cải thiện sự đơn giản và khả năng mở rộng.
Tên Taro là viết tắt của TAPROOT Asset Representation Overlay, cho thấy rằng nếu không có TAPROOT, việc nâng cấp này sẽ không thể thực hiện được.
Khi một bản nâng cấp cho Bitcoin được đề xuất, nó được thảo luận trước tiên bởi cộng đồng nhà phát triển. Sau khi đề xuất được hình thành, nó được gán một số BIP. Sau khi mã được viết, được xem xét, được thử nghiệm và được hợp nhất, các nhà điều hành nút Bitcoin phải quyết định cách và khi nào kích hoạt bản nâng cấp.
Các bản nâng cấp Schnorr, Taproot và Tapscript đã được đặt tên là BIP 340, 341 và 342 vào tháng 1 năm 2020 và đã được thảo luận và phát triển từ đó. Vào cuối năm 2020, việc triển khai mã cho cả ba bản nâng cấp đã hoàn thành, được thử nghiệm, xem xét và hợp nhất vào Bitcoin Core.
Vào tháng 5 năm 2021, hơn 90% số thợ đào đã đồng thuận cho việc kích hoạt Taproot, và BIP 340, 341 và 342 đã được kích hoạt và thực thi tại khối 709.632 vào ngày 12 tháng 11 năm 2021. Có nhiều phương pháp để kích hoạt các nâng cấp cho Bitcoin; cộng đồng Bitcoin chọn một hướng đi và sau đó thực hiện nó.
BIP 8 và BIP 9 xác định hai phương pháp phổ biến để kích hoạt nâng cấp. Cả hai quy trình đều bắt đầu bằng cách khảo sát các thợ đào Bitcoin để có sự ủng hộ. Nếu đa số thợ đào đồng ý thông qua các thông điệp trong các khối mà họ đào, nâng cấp sẽ được kích hoạt. Sự khác biệt giữa BIP 8 và BIP 9 nảy sinh khi sự hỗ trợ từ thợ đào không đủ. Trong trường hợp đó, BIP 9 quy định rằng nâng cấp không nên diễn ra, trong khi BIP 8 quy định rằng nâng cấp sẽ được kích hoạt sau một thời gian trễ.
Các biến thể của hai đề xuất này đã được đưa ra trong bối cảnh kích hoạt Taproot. Tuy nhiên, cộng đồng Bitcoin đã ủng hộ mạnh mẽ cho Taproot, và chỉ có rất ít chỉ trích được đề cử. Do đó, con đường kích hoạt cụ thể gần như không quan trọng.
Taproot là một bản nâng cấp cho Bitcoin mang lại một số tính năng và lợi ích mới cho người dùng Bitcoin. Cộng đồng Bitcoin đã kích hoạt Taproot tại khối 709,632 vào ngày 12 tháng 11 năm 2021.
Bản nâng cấp Taproot bao gồm ba phần Đề xuất cải thiện Bitcoin (BIPs)mà xác định ba cải tiến riêng biệt cho giao thức Bitcoin:
Các nâng cấp này cùng nhau được gọi là nâng cấp Taproot, thường được gọi chung là BIP Taproot. Những BIP này giới thiệu cách chuyển bitcoin mới, hiệu quả, linh hoạt và riêng tư hơn.
Là một phần của bản nâng cấp Taproot, BIP 340 giới thiệu chữ ký Schnorr để sử dụng trong Bitcoin. Chữ ký Schnorr mang lại nhiều lợi ích cho người dùng Bitcoin, bao gồm sự riêng tư vượt trội, phí thấp hơn và linh hoạt hơn multisig.
BIP này cũng quy định cách mã hóa khóa công khai và chữ ký Schnorr để sử dụng trong Bitcoin. Các khóa công khai được sử dụng cho chữ ký Schnorr có độ dài 32 byte, so với khóa công khai 33 byte của ECDSA. Ngoài ra, chữ ký Schnorr có độ dài 64 byte, so với chữ ký ECDSA, có độ dài từ 71-72 byte, bao gồm một cờ sighash. Những tiết kiệm không gian nhỏ này mang lại tiết kiệm phí cho người dùng Bitcoin nào áp dụng Taproot.
➤Tìm hiểu thêm về chữ ký Schnorr.
Trong khi BIP 340 xác định đặc tả để tạo và mã hóa chữ ký Schnorr và khóa công khai, BIP 341 xác định cách giao thức của Bitcoin tích hợp chữ ký Schnorr. Cụ thể, Script Bitcoin phải được cập nhật để cũng đánh giá các chữ ký Schnorr. Taproot cũng tích hợp Cây Kịch Bản Thay Thế Merkelized (MAST), cho phép người dùng khóa các đầu ra vào nhiều script khác nhau.
Các đầu ra Pay-to-Taproot là các đầu ra SegWit phiên bản 1, và tất cả các giao dịch Taproot đều là giao dịch SegWit.
Taproot cũng giới thiệu một loại script mới, một cách chi tiêu Bitcoin. Pay-to-Taproot (P2TR) cho phép người dùng thanh toán cho một khóa công khai Schnorr hoặc Merkle rootcủa nhiều loại kịch bản khác. Sử dụng loại kịch bản mới này, người dùng có thể tạo ra một UTXOmà có thể được mở khóa và tiêu bỏ bởi chủ sở hữu của khóa riêng tư hoặc bất kỳ ai có thể đáp ứng các yêu cầu của bất kỳ tập lệnh nào trong cây Merkle.
Tập Trung Khóa
Tính năng tổng hợp khóa của Schnorr giúp tăng tính linh hoạt này. Khi bitcoin được gửi đến một đầu ra P2TR, nó được khóa vào một khóa công khai duy nhất, gọi là Q. Tuy nhiên, khóa công khai Q này thực sự là sự tổng hợp của một khóa công khai P và một khóa công khai được tạo ra từ Merkle root của nhiều loại script khác nhau. Bất kỳ script thay thế nào trong cây Merkle cũng có thể được sử dụng để tiêu tốn đầu ra.
Thiết kế này cho phép người dùng lựa chọn giữa các kịch bản phức tạp, tùy ý cũng như chức năng thanh toán đơn giản đến khóa công khai vào thời điểm chi tiêu, chứ không phải vào thời điểm nhận tiền. Nó cũng làm cho tất cả các đầu ra Taproot trông giống nhau. Vì các đầu ra multisig, đầu ra chữ ký đơn và các hợp đồng thông minh phức tạp khác đều trông giống nhau trên blockchain, nhiều thuật toán phân tích chuỗi sẽ trở nên không sử dụng được, bảo vệ quyền riêng tư cho tất cả người dùng Taproot.
Để thực hiện giao dịch P2TR, BIP 342 thêm và cập nhật một sốopcodes. Những kịch bản mới này được sử dụng để xác minh các giao dịch Taproot và chữ ký Schnorr, và chúng được gọi chung là Tapscript.
Tapscript được thiết kế để tối đa hóa sự linh hoạt trong việc chi tiêu P2TR trong tương lai để cho phép các nâng cấp mà hiện tại chưa được dự đoán.
Bản nâng cấp Taproot mang lại nhiều lợi ích cho người dùng Bitcoin sử dụng Taproot cũng như những người không sử dụng. Việc giới thiệu chữ ký Schnorr mang lại nhiều lợi ích đáng kể cho quyền riêng tư và an ninh, nhưng Taproot và Tapscript cũng mang lại những lợi ích riêng của họ.
➤ Tìm hiểu thêm về lợi ích của chữ ký Schnorr.
Hầu hết các đầu ra Taproot (P2TR) tiêu thụ ít không gian hơn trên blockchain so với bình thường P2PKHđầu ra, nhưng có kích thước lớn hơn một chút so vớiP2WPKHoutputs. Điều này chủ yếu là do thực tế rằng các outputs P2TR khóa bitcoin trực tiếp vào một khóa công khai, không phải là băm của khóa công khai. Điều này khiến việc gửi đến các outputs Taproot đắt hơn một chút, vì khóa công khai chiếm nhiều không gian hơn so với băm khóa công khai. Tuy nhiên, việc tiêu outputs Taproot rẻ hơn đáng kể vì khóa công khai được bao gồm trong scriptPubKey, và do đó không cần phải được bao gồm trong Chứng kiến Script.
Taproot cũng xác định lược đồ mã hóa cho khóa công cộng và chữ ký Schnorr, làm cho chúng ngắn hơn so với đối tác ECDSA của họ, tạo thêm tiết kiệm phí.
Tác động đến quyền riêng tư của Taproot có lẽ là phần quan trọng nhất của bản nâng cấp. Bằng cách giới thiệu chữ ký Schnorr và tổng hợp khóa, các hợp đồng đa chữ ký không còn khác biệt so với các hợp đồng đơn chữ ký, mang lại quyền riêng tư cho tất cả người dùng Taproot.
Vì Lightning Network dựa vào ví đa chữ ký 2 trong số 2, Taproot làm cho không thể phân biệt được giao dịch nào tạo ra các kênh Lightning.
Taproot cũng giới thiệu các lợi ích về quyền riêng tư đáng kể thông qua việc tích hợp MAST. Như đã thảo luận ở trên, Taproot cho phép Bitcoin bị khóa vào nhiều kịch bản cùng một lúc. Tuy nhiên, khi tiêu Bitcoin từ một đầu ra Taproot, người tiêu Bitcoin không cần phải tiết lộ mọi kịch bản có thể mở khóa Bitcoin; chỉ cần kịch bản mà họ thực sự sử dụng. Trong hầu hết các trường hợp, người dùng Taproot có thể sẽ sử dụng tùy chọn thanh toán cho khóa công khai, cho phép họ giữ bất kỳ tùy chọn dự phòng nào mà họ có thể đã lập kế hoạch một cách riêng tư.
➤ Tìm hiểu thêm về cách nâng cấp Taproot cải thiện trải nghiệm người dùng của Lightning.
Trên một cấp độ kỹ thuật, lý thuyết, chữ ký Schnorr được coi là an toàn hơn so với chữ ký ECDSA vì chữ ký Schnorr được chứng minh là an toàn bằng cách sử dụng ít giả thuyết hơn. Giống như tất cả các kế hoạch mật mã đường cong elliptic, cả ECDSA và Schnorr đều dựa vào giả thiết rằng Vấn đề Logarithm Rời rạc là khó. Tuy nhiên, ECDSA phụ thuộc vào các giả thiết bổ sung để đảm bảo tính bảo mật của mình. Tuy nhiên, chưa có ví dụ nào về việc ECDSA bị tấn công theo cách hệ thống trong suốt quá trình tồn tại của Bitcoin.
Chữ ký Schnorr cũng loại bỏ bất kỳ chữ ký nàomalleabilitycó thể đã hiện diện trong chữ ký ECDSA. Trong khi tính biến đổi của giao dịch đã được giải quyết bởi nâng cấp SegWit, tính biến đổi của chữ ký vẫn tồn tại như một đặc điểm của ECDSA.
Tarolà một giao thức được cung cấp bởi Taproot cho phép người dùng phát hành tài sản trên chuỗi khối Bitcoin và Mạng LightningVới thiết kế tập trung vào Taproot, việc phát hành tài sản này có thể được thực hiện một cách riêng tư và có khả năng mở rộng hơn so với những nỗ lực trước đây để giới thiệu các tài sản khác trên nền tảng Bitcoin. Taro được đề xuất bởi Lightning Labs vào tháng 4 năm 2022.
Taproot được sử dụng trong Taro để nhúng siêu dữ liệu tài sản vào một đầu ra giao dịch hiện tại. Chữ ký Schnorr cũng được sử dụng để cải thiện sự đơn giản và khả năng mở rộng.
Tên Taro là viết tắt của TAPROOT Asset Representation Overlay, cho thấy rằng nếu không có TAPROOT, việc nâng cấp này sẽ không thể thực hiện được.
Khi một bản nâng cấp cho Bitcoin được đề xuất, nó được thảo luận trước tiên bởi cộng đồng nhà phát triển. Sau khi đề xuất được hình thành, nó được gán một số BIP. Sau khi mã được viết, được xem xét, được thử nghiệm và được hợp nhất, các nhà điều hành nút Bitcoin phải quyết định cách và khi nào kích hoạt bản nâng cấp.
Các bản nâng cấp Schnorr, Taproot và Tapscript đã được đặt tên là BIP 340, 341 và 342 vào tháng 1 năm 2020 và đã được thảo luận và phát triển từ đó. Vào cuối năm 2020, việc triển khai mã cho cả ba bản nâng cấp đã hoàn thành, được thử nghiệm, xem xét và hợp nhất vào Bitcoin Core.
Vào tháng 5 năm 2021, hơn 90% số thợ đào đã đồng thuận cho việc kích hoạt Taproot, và BIP 340, 341 và 342 đã được kích hoạt và thực thi tại khối 709.632 vào ngày 12 tháng 11 năm 2021. Có nhiều phương pháp để kích hoạt các nâng cấp cho Bitcoin; cộng đồng Bitcoin chọn một hướng đi và sau đó thực hiện nó.
BIP 8 và BIP 9 xác định hai phương pháp phổ biến để kích hoạt nâng cấp. Cả hai quy trình đều bắt đầu bằng cách khảo sát các thợ đào Bitcoin để có sự ủng hộ. Nếu đa số thợ đào đồng ý thông qua các thông điệp trong các khối mà họ đào, nâng cấp sẽ được kích hoạt. Sự khác biệt giữa BIP 8 và BIP 9 nảy sinh khi sự hỗ trợ từ thợ đào không đủ. Trong trường hợp đó, BIP 9 quy định rằng nâng cấp không nên diễn ra, trong khi BIP 8 quy định rằng nâng cấp sẽ được kích hoạt sau một thời gian trễ.
Các biến thể của hai đề xuất này đã được đưa ra trong bối cảnh kích hoạt Taproot. Tuy nhiên, cộng đồng Bitcoin đã ủng hộ mạnh mẽ cho Taproot, và chỉ có rất ít chỉ trích được đề cử. Do đó, con đường kích hoạt cụ thể gần như không quan trọng.