Taproot đang đến: Nó là gì và nó sẽ có lợi cho Bitcoin như thế nào

Tác giả:Tốt, Tạo: 2019-02-12 09:33:46, Cập nhật:

Người dùng Bitcoin có thể, trong thời gian không lâu, có thể được hưởng lợi từ một thủ thuật gọi là Taproot. Được đề xuất lần đầu tiên bởi người đóng góp Bitcoin Core và cựu CTO Blockstream Gregory Maxwell, Taproot sẽ mở rộng tính linh hoạt của hợp đồng thông minh Bitcoin, trong khi cung cấp sự riêng tư hơn trong việc làm như vậy. Ngay cả các hợp đồng thông minh phức tạp nhất, trên blockchain, thường không thể phân biệt với các giao dịch thông thường.

Mặc dù là một công việc lớn, nhưng đây không chỉ là lý thuyết. Một số người đóng góp nhiều nhất Bitcoin Core bao gồm Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell và, thực sự, Gregory Maxwell đang làm việc trên một đề xuất chữ ký Schnorr sẽ bao gồm Taproot, tất cả trong một bản nâng cấp giao thức.

Đây là Taproot và cách nó hoạt động.

P2SH

Tất cả các bitcoin đều được khóa trong các kịch bản: một vài dòng mã được nhúng trong một giao dịch được bao gồm trong blockchain, xác định cách các đồng tiền có thể được chi tiêu trong giao dịch tiếp theo. Các điều kiện chi tiêu thường liên quan đến việc cung cấp một chữ ký để chứng minh quyền sở hữu của các đồng tiền. Nhưng các điều kiện nổi tiếng khác chẳng hạn như bao gồm timelocks (tiền có thể chỉ được chi tiêu sau một chiều cao hoặc ngày cụ thể) hoặc multisig (tiền chỉ có thể được chi tiêu nếu một số khóa riêng từ một tập các khóa riêng cung cấp chữ ký).

Các điều kiện khác nhau có thể được trộn và khớp, để tạo ra các loại hợp đồng thông minh phức tạp. Một ví dụ về hợp đồng như vậy có thể là tiền xu có thể được chi tiêu nếu cả Alice và Bob ký, hoặc nếu Alice ký một mình sau một tuần đã qua, hoặc nếu Bob ký một mình trong khi cũng cung cấp một số bí mật.

Kể từ năm 2012, các kịch bản (các điều kiện) thường không hiển thị công khai lúc đầu; chỉ có chủ sở hữu mới của các đồng tiền mới biết cách chúng có thể được chi tiêu. Điều này được thực hiện bằng một thủ thuật gọi là P2SH (trả tiền cho các hash kịch bản), nơi ban đầu chỉ có một hash của kịch bản được bao gồm trong blockchain. Con số này dường như bị xáo trộn ngẫu nhiên giữ các coin. Khi chủ sở hữu chi tiêu các coin, anh ta tiết lộ toàn bộ kịch bản cũng như giải pháp cho kịch bản cùng một lúc. Bất cứ ai cũng có thể sử dụng hash ban đầu để kiểm tra xem kịch bản được cung cấp thực sự là kịch bản ban đầu khóa các coin và có thể kết luận ngay lập tức rằng các yêu cầu của kịch bản đã được đáp ứng.

Tuy nhiên, khi tiền xu được chi tiêu, hiện tại cần phải tiết lộ tất cả các điều kiện có thể đã được đáp ứng bao gồm cả các điều kiện đã không được đáp ứng. Điều này có hai nhược điểm chính. Một, nó là dữ liệu nặng, đặc biệt là nếu có nhiều điều kiện. Và hai, nó không tốt cho quyền riêng tư. Mọi người đều tìm hiểu tất cả các cách khác nhau mà các quỹ có thể đã được chi tiêu, có thể, ví dụ, tiết lộ loại ví đã được sử dụng và thậm chí nhiều hơn nữa.

MAST

MAST (Merkelized Abstract Syntax Tree) là một giải pháp được đề xuất sử dụng cây Merkle (một cấu trúc dữ liệu nhỏ gọn được phát minh bởi nhà mật mã học Ralph Merkle) để làm việc xung quanh hai nhược điểm này.

Lợi ích duy nhất là nếu bất kỳ dữ liệu nào trong cây Merkle được tiết lộ, gốc Merkle và một số dữ liệu bổ sung (được gọi là con đường Merkle) có thể được sử dụng để xác minh rằng dữ liệu cụ thể đó đã được bao gồm trong cây Merkle.

Với MAST, điều này có nghĩa là chỉ cần tiết lộ điều kiện được đáp ứng. Nếu, trong ví dụ ban đầu ở trên, Alice một mình chi tiền sau một tuần, cô chỉ tiết lộ điều kiện đó (và con đường Merkle). Không ai biết rằng tiền cũng có thể đã được Alice và Bob cùng nhau chi tiêu, hoặc bởi Bob một mình nếu anh ta đã thêm một số bí mật. Điều này làm cho MAST hiệu quả dữ liệu hơn các hợp đồng thông minh P2SH phức tạp và thêm sự riêng tư để khởi động.

Tuy nhiên với Schnorr, Taproot có thể làm tốt hơn: một giao dịch có thể che giấu rằng một cấu trúc MAST tồn tại.

Schnorr

Kế hoạch chữ ký Schnorr từ lâu đã nằm trong danh sách mong muốn của nhiều nhà phát triển Bitcoin và hiện đang được phát triển để được triển khai như một bản nâng cấp giao thức Soft Fork.

Là lợi ích nổi tiếng nhất của nó trong bối cảnh Bitcoin, Schnorr toán học tuyến tính cho phép tổng hợp chữ ký: một số chữ ký trong cùng một giao dịch có thể được kết hợp thành một.

Và kế hoạch chữ ký có thể được sử dụng theo những cách thú vị hơn nữa. Ví dụ, có thể sử dụng dữ liệu để tweak cả một khóa riêng và một khóa công khai. Như một ví dụ đơn giản, một khóa riêng và khóa công khai tương ứng có thể được điều chỉnh bằng cách nhân cả hai. khóa riêng x 2 và khóa công cộng x 2 vẫn sẽ tương ứng, và khóa riêng x 2 vẫn có thể ký tin nhắn có thể được xác minh bằng khóa công cộng x 2.

Đây là thứ cho phép Taproot.

Cây rễ

Taproot dựa trên một nhận thức thú vị: bất kể phức tạp như thế nào, hầu hết các cấu trúc MAST đều có thể (hoặc nên) bao gồm một điều kiện cho phép tất cả những người tham gia đồng ý về kết quả và chỉ đơn giản là ký kết một giao dịch giải quyết cùng nhau. Trong ví dụ trước đây, nếu Bob biết Alice có thể tự mình, tuyên bố tất cả các quỹ trong tuần tới, anh ta cũng có thể hợp tác với cô ấy ngay bây giờ để ký kết cùng nhau. (Trong nhiều thiết lập hợp đồng thông minh điển hình anh ta thậm chí sẽ bị phạt nếu anh ta không làm như vậy. Sự phức tạp thực sự chỉ phục vụ để giữ cho mọi người trung thực).

Taproot giống như MAST và luôn bao gồm một điều kiện mà tất cả những người tham gia có thể hợp tác để chi tiêu các quỹ: kết thúc hợp tác.

Bằng cách sử dụng chữ ký Schnorr, đây là nơi nó trở nên thú vị.

Đầu tiên, việc đóng hợp tác sẽ sử dụng thủ thuật ngưỡng Schnorr để làm cho nó trông giống như một giao dịch thông thường, từ một người sang người khác. Vì vậy, các khóa công khai của tất cả những người tham gia được cộng lại với nhau, dẫn đến khóa công khai ngưỡng. Phù hợp với khóa công khai ngưỡng này, sự kết hợp của tất cả những người tham gia chữ ký chữ ký ngưỡng của họ cho phép họ chi tiêu tiền.

Cho đến nay vẫn tốt, nhưng chi tiêu tiền như thể đó là một giao dịch bình thường là điều duy nhất họ có thể làm chưa có cấu trúc giống như MAST.

Tất cả các cách thay thế mà trong đó các quỹ có thể được chi tiêu kết quả không hợp tác lần này được kết hợp thành một kịch bản khác nhau. kịch bản này, sau đó, được hash và được sử dụng để tinh chỉnh khóa công khai ngưỡng. Thay vì khóa công cộng x 2, như được sử dụng trong ví dụ trước đó, điều này dẫn đến một khóa công cộng ngưỡng x kịch bản. (Chúng tôi vẫn đang đơn giản hóa.)

Bây giờ, nếu tiền được chi tiêu hợp tác, tất cả những người tham gia kết hợp chữ ký của họ thành chữ ký ngưỡng và điều chỉnh nó với kịch bản. Kết quả là chữ ký ngưỡng x kịch bản cho phép họ chi tiêu tiền. Tuy nhiên, và quan trọng hơn, đối với thế giới bên ngoài, tất cả điều này vẫn chỉ trông giống như một khóa công khai thông thường và một chữ ký thông thường. một giao dịch thông thường.

Chỉ khi nào kết thúc hợp tác chứng minh là không thể, các ngưỡng khóa công khai có thể được hiển thị cho những gì nó thực sự là: tinh chỉnh.

Trong trường hợp này, cả khóa công khai ngưỡng ban đầu và kịch bản được tiết lộ. Điều này chứng minh rằng threshold public key x script đã được tinh chỉnh với kịch bản cụ thể này. Vì vậy, giống như hash trong P2SH, tinh chỉnh chứng minh cho thế giới rằng các quỹ nên có thể chi tiêu nếu các điều kiện thay thế, như được chỉ định trong kịch bản này được đáp ứng. (Và, giống như với P2SH, các điều kiện này tất nhiên được đáp ứng ngay lập tức để chi tiêu các quỹ.)

Ngoài ra, thay vì điều chỉnh khóa công khai ngưỡng bằng kịch bản, khóa công khai ngưỡng có thể được điều chỉnh bằng một gốc Merkle của một cây Merkle bao gồm tất cả các điều kiện khác nhau mà dưới đó các quỹ có thể được chi tiêu: một cấu trúc MAST. Để chi tiêu các quỹ, sau đó, chỉ cần tiết lộ điều kiện chi tiêu đã được đáp ứng.

Như vậy, Taproot cung cấp tất cả các lợi ích của MAST, trong khi trong hoàn cảnh bình thường không ai sẽ biết rằng một giao dịch thông thường đã ẩn một hợp đồng thông minh phức tạp như một dự phòng.

Đây là một phác thảo chung về khái niệm Taproot; chi tiết thực hiện có thể khác nhau. Để biết thêm chi tiết, hãy đọc đề xuất Taproot gốc của Gregory Maxwell hoặc xem bài thuyết trình này của Pieter Wuille.


Thêm nữa