Nguồn: Bitcoin Magazine; Biên dịch: Ngũ Châu, Kinh tế màu vàng
Rollups đã trở thành trọng tâm của việc mở rộng BTC gần đây, trở thành điều đầu tiên thực sự ‘đánh cắp ánh hào quang’ từ mạng Lightning Network, và nhận được sự quan tâm rộng rãi hơn. Rollups nhằm mục đích trở thành một lớp off-chain không bị ràng buộc hoặc giới hạn bởi các hạn chế về thanh khoản của mạng Lightning Network, tức là người dùng cuối cần có người cung cấp trước tiền (hoặc ‘mượn’) để nhận tiền, hoặc các nút trung gian cần có số dư kênh để tạo điều kiện cho số tiền thanh toán di chuyển từ người gửi đến người nhận trong quá trình toàn bộ.
Những hệ thống này ban đầu đã được triển khai trên Ethereum và các hệ thống Turing hoàn thành khác, nhưng gần đây, sự tập trung đã chuyển sang việc di dời chúng sang các chuỗi khối dựa trên UTXO (ví dụ: BTC). Bài viết này không nhằm thảo luận về tình hình triển khai hiện tại trên BTC, mà là để thảo luận về tính năng của Rollup mà mọi người đang theo đuổi trong dài hạn, điều này phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ trực tiếp, đó là khả năng xác minh chứng minh không tri thức (ZKP) trên BTC.
Cấu trúc cơ bản của Roll như sau: Một tài khoản duy nhất (UTXO trong BTC) lưu trữ số dư của tất cả người dùng trong Rollup. UTXO này bao gồm một cam kết tồn tại dưới dạng gốc Merkle của cây Merkle, cam kết số dư hiện tại của tất cả tài khoản trong Rollup. Tất cả các tài khoản này được ủy quyền bằng cách sử dụng Khóa công khai/Khóa riêng, vì vậy để thực hiện chi tiêu ngoại chuỗi, người dùng vẫn phải ký vào một số nội dung bằng Chìa khoá bảo mật. Phần này của cấu trúc cho phép người dùng rời bỏ mà không cần sự cho phép, chỉ cần tạo giao dịch chứng minh tài khoản của họ là một phần của cây Merkle, họ có thể rời khỏi Rollup một cách đơn phương mà không cần sự cho phép từ nhà khai thác.
Người vận hành Rollup phải bao gồm một ZKP trong giao dịch để cập nhật merkle root của số dư tài khoản on-chain trong quá trình hoàn thành giao dịch off-chain, nếu không có ZKP này, giao dịch sẽ không hợp lệ và không thể được bao gồm trong Khối. Bằng chứng này cho phép mọi người xác minh xem tất cả các thay đổi đối với số dư tài khoản off-chain có được sự ủy quyền đúng đắn từ chủ sở hữu tài khoản, và xem xét xem người vận hành đã cập nhật số dư một cách đúng đắn mà không có ý đồ lừa đảo để đánh cắp tài sản của người dùng hoặc phân phối lại chúng một cách không trung thực cho người dùng khác.
Vấn đề là nếu chỉ có gốc cây merkle được xuất bản trên chuỗi, người dùng có thể xem và truy cập nó, vậy họ sẽ đặt nhánh của họ vào cây như thế nào để có thể rút khỏi mà không cần phép lệ khi họ muốn?
Rollup phù hợp
Trong Rollup thích hợp, mỗi khi xác nhận giao dịch off-chain mới và trạng thái tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào blockchain. Không phải toàn bộ cây, vì điều đó quá ngớ ngẩn, mà chỉ là thông tin cần thiết để tái cấu trúc cây. Trong một cách triển khai đơn giản, tóm tắt của tất cả các tài khoản hiện có trong Rollup sẽ bao gồm số dư và tài khoản chỉ được thêm vào trong giao dịch cập nhật Rollup.
Trong các triển khai nâng cao hơn, phương sai cân bằng được sử dụng. Đây thực chất là một bản tóm tắt về tài khoản tăng hoặc giảm tiền trong quá trình cập nhật. Điều này làm cho mỗi bản Cập Nhật rollup chỉ chứa các thay đổi số dư tài khoản xảy ra. Sau đó, người dùng có thể chỉ cần quét chuỗi và “thực hiện phép tính” từ đầu Rollup để đến trạng thái hiện tại của số dư tài khoản, cho phép họ xây dựng lại cây Merkle của số dư hiện tại.
Điều này giúp tiết kiệm một lượng lớn chi phí và Khối không gian (do đó tiết kiệm vốn), đồng thời vẫn cho phép người dùng đảm bảo truy cập thông tin cần thiết để thoát ra một cách đơn phương. Các quy tắc rollup yêu cầu dữ liệu này được bao gồm trong rollup chính thức mà Khối chuỗi cung cấp cho người dùng, nghĩa là các giao dịch không bao gồm tóm tắt tài khoản hoặc sự khác biệt tài khoản được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách tiếp cận khác để xử lý vấn đề sẵn có dữ liệu rút ra của người dùng là đặt dữ liệu ở các nơi khác ngoài Khối. Điều này đưa vào vấn đề tinh tế, rollup vẫn cần đảm bảo dữ liệu có sẵn ở các nơi khác. Truyền thống, các Khối khác được sử dụng cho mục đích này, được thiết kế đặc biệt để làm lớp sẵn có dữ liệu cho các hệ thống như rollup.
Điều này tạo ra một tình huống đối mặt với những khó khăn bảo mật mạnh mẽ tương tự. Khi dữ liệu được phát hành trực tiếp lên chuỗi khối Bitcoin, nhận thức chung có thể đảm bảo nó hoàn toàn chính xác. Tuy nhiên, khi nó được phát hành vào hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh chứng chỉ SPV, tức là dữ liệu đã được phát hành trên một hệ thống khác.
Điều này yêu cầu chứng minh dữ liệu tồn tại trên on-chain khác, đó cuối cùng là một vấn đề Máy Oracle. Chuỗi Khối của Bitcoin không thể xác minh hoàn toàn bất cứ điều gì ngoài những điều xảy ra trên chính nó Khối on-chain, điều tốt nhất nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh rằng Khối chứa dữ liệu rollup đã được phát sóng công khai thực sự sau khi được tạo ra. Nó không thể xác minh rằng thông tin bên ngoài thực sự được công khai cho tất cả mọi người.
Điều này đã mở ra cánh cửa cho cuộc tấn công giữ dữ liệu, nghĩa là tạo cam kết với dữ liệu đã được công bố và sử dụng nó để thúc đẩy rollup, nhưng thực tế dữ liệu không khả dụng. Điều này dẫn đến người dùng không thể rút tiền. Giải pháp duy nhất thực sự là dựa hoàn toàn vào giá trị và cấu trúc động lực của hệ thống ngoài BTC.
Dilemma
Điều này đặt ra tình thế khó khăn cho rollup. Khi liên quan đến vấn đề sẵn có dữ liệu, tồn tại một sự lựa chọn nhị phân cơ bản là việc phát hành dữ liệu lên chuỗi khối BTC hay ở nơi khác. Lựa chọn này có ảnh hưởng lớn đến tính an toàn, chủ quyền và khả năng mở rộng của rollup.
Một mặt, việc sử dụng Blockchain Bitcoin làm lớp khả năng sẵn có dữ liệu sẽ đặt một giới hạn cứng cho khả năng mở rộng của rollup. Không gian Khối là giới hạn, điều này đặt giới hạn cho số rollup có thể tồn tại cùng một lúc và tổng số giao dịch có thể được xử lý bên ngoài chuỗi. Mỗi lần cập nhật rollup đều cần một không gian Khối tỷ lệ với số lượng tài khoản có số dư thay đổi kể từ lần cập nhật trước. Lý thuyết thông tin chỉ cho phép dữ liệu được nén đến một mức nhất định, ở điểm này, không còn tiềm năng mở rộng nữa.
另一方面,sử dụng các lớp khác nhau để đạt được tính sẵn sàng của dữ liệu sẽ loại bỏ giới hạn cứng của lợi ích mở rộng, nhưng nó cũng mang đến vấn đề bảo mật và chủ quyền mới. Trong Rollup sử dụng BTC để đạt được tính sẵn sàng của dữ liệu, nếu dữ liệu mà người dùng cần không được tự động công bố trên blockchain, trạng thái của Rollup sẽ không thể thay đổi. Sử dụng Validiums, sự bảo đảm này hoàn toàn phụ thuộc vào khả năng của hệ thống bên ngoài được sử dụng để chống lại sự lừa đảo và ẩn dữ liệu.
Hiện tại, bất kỳ nhà sản xuất Khối nào trên hệ thống sẵn sàng dữ liệu bên ngoài đều có thể chiếm đoạt các khoản tiền của người dùng BTCRollup bằng cách sản xuất Khối thay vì phát sóng thực tế Khối đó, từ đó làm cho dữ liệu có sẵn.
Vậy nếu chúng ta thực sự thực hiện được triển khai Rollup lý tưởng trên BTC, thực sự thực hiện được việc rút tiền một chiều từ người dùng, điều đó sẽ như thế nào?
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Tạp chí Bitcoin: Rollup đối mặt với những khó khăn gì?
Nguồn: Bitcoin Magazine; Biên dịch: Ngũ Châu, Kinh tế màu vàng
Rollups đã trở thành trọng tâm của việc mở rộng BTC gần đây, trở thành điều đầu tiên thực sự ‘đánh cắp ánh hào quang’ từ mạng Lightning Network, và nhận được sự quan tâm rộng rãi hơn. Rollups nhằm mục đích trở thành một lớp off-chain không bị ràng buộc hoặc giới hạn bởi các hạn chế về thanh khoản của mạng Lightning Network, tức là người dùng cuối cần có người cung cấp trước tiền (hoặc ‘mượn’) để nhận tiền, hoặc các nút trung gian cần có số dư kênh để tạo điều kiện cho số tiền thanh toán di chuyển từ người gửi đến người nhận trong quá trình toàn bộ.
Những hệ thống này ban đầu đã được triển khai trên Ethereum và các hệ thống Turing hoàn thành khác, nhưng gần đây, sự tập trung đã chuyển sang việc di dời chúng sang các chuỗi khối dựa trên UTXO (ví dụ: BTC). Bài viết này không nhằm thảo luận về tình hình triển khai hiện tại trên BTC, mà là để thảo luận về tính năng của Rollup mà mọi người đang theo đuổi trong dài hạn, điều này phụ thuộc vào khả năng mà BTC hiện tại không hỗ trợ trực tiếp, đó là khả năng xác minh chứng minh không tri thức (ZKP) trên BTC.
Cấu trúc cơ bản của Roll như sau: Một tài khoản duy nhất (UTXO trong BTC) lưu trữ số dư của tất cả người dùng trong Rollup. UTXO này bao gồm một cam kết tồn tại dưới dạng gốc Merkle của cây Merkle, cam kết số dư hiện tại của tất cả tài khoản trong Rollup. Tất cả các tài khoản này được ủy quyền bằng cách sử dụng Khóa công khai/Khóa riêng, vì vậy để thực hiện chi tiêu ngoại chuỗi, người dùng vẫn phải ký vào một số nội dung bằng Chìa khoá bảo mật. Phần này của cấu trúc cho phép người dùng rời bỏ mà không cần sự cho phép, chỉ cần tạo giao dịch chứng minh tài khoản của họ là một phần của cây Merkle, họ có thể rời khỏi Rollup một cách đơn phương mà không cần sự cho phép từ nhà khai thác.
Người vận hành Rollup phải bao gồm một ZKP trong giao dịch để cập nhật merkle root của số dư tài khoản on-chain trong quá trình hoàn thành giao dịch off-chain, nếu không có ZKP này, giao dịch sẽ không hợp lệ và không thể được bao gồm trong Khối. Bằng chứng này cho phép mọi người xác minh xem tất cả các thay đổi đối với số dư tài khoản off-chain có được sự ủy quyền đúng đắn từ chủ sở hữu tài khoản, và xem xét xem người vận hành đã cập nhật số dư một cách đúng đắn mà không có ý đồ lừa đảo để đánh cắp tài sản của người dùng hoặc phân phối lại chúng một cách không trung thực cho người dùng khác.
Vấn đề là nếu chỉ có gốc cây merkle được xuất bản trên chuỗi, người dùng có thể xem và truy cập nó, vậy họ sẽ đặt nhánh của họ vào cây như thế nào để có thể rút khỏi mà không cần phép lệ khi họ muốn?
Rollup phù hợp
Trong Rollup thích hợp, mỗi khi xác nhận giao dịch off-chain mới và trạng thái tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào blockchain. Không phải toàn bộ cây, vì điều đó quá ngớ ngẩn, mà chỉ là thông tin cần thiết để tái cấu trúc cây. Trong một cách triển khai đơn giản, tóm tắt của tất cả các tài khoản hiện có trong Rollup sẽ bao gồm số dư và tài khoản chỉ được thêm vào trong giao dịch cập nhật Rollup.
Trong các triển khai nâng cao hơn, phương sai cân bằng được sử dụng. Đây thực chất là một bản tóm tắt về tài khoản tăng hoặc giảm tiền trong quá trình cập nhật. Điều này làm cho mỗi bản Cập Nhật rollup chỉ chứa các thay đổi số dư tài khoản xảy ra. Sau đó, người dùng có thể chỉ cần quét chuỗi và “thực hiện phép tính” từ đầu Rollup để đến trạng thái hiện tại của số dư tài khoản, cho phép họ xây dựng lại cây Merkle của số dư hiện tại.
Điều này giúp tiết kiệm một lượng lớn chi phí và Khối không gian (do đó tiết kiệm vốn), đồng thời vẫn cho phép người dùng đảm bảo truy cập thông tin cần thiết để thoát ra một cách đơn phương. Các quy tắc rollup yêu cầu dữ liệu này được bao gồm trong rollup chính thức mà Khối chuỗi cung cấp cho người dùng, nghĩa là các giao dịch không bao gồm tóm tắt tài khoản hoặc sự khác biệt tài khoản được coi là giao dịch không hợp lệ.
Thời hạn hiệu lực
Một cách tiếp cận khác để xử lý vấn đề sẵn có dữ liệu rút ra của người dùng là đặt dữ liệu ở các nơi khác ngoài Khối. Điều này đưa vào vấn đề tinh tế, rollup vẫn cần đảm bảo dữ liệu có sẵn ở các nơi khác. Truyền thống, các Khối khác được sử dụng cho mục đích này, được thiết kế đặc biệt để làm lớp sẵn có dữ liệu cho các hệ thống như rollup.
Điều này tạo ra một tình huống đối mặt với những khó khăn bảo mật mạnh mẽ tương tự. Khi dữ liệu được phát hành trực tiếp lên chuỗi khối Bitcoin, nhận thức chung có thể đảm bảo nó hoàn toàn chính xác. Tuy nhiên, khi nó được phát hành vào hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh chứng chỉ SPV, tức là dữ liệu đã được phát hành trên một hệ thống khác.
Điều này yêu cầu chứng minh dữ liệu tồn tại trên on-chain khác, đó cuối cùng là một vấn đề Máy Oracle. Chuỗi Khối của Bitcoin không thể xác minh hoàn toàn bất cứ điều gì ngoài những điều xảy ra trên chính nó Khối on-chain, điều tốt nhất nó có thể làm là xác minh ZKP. Tuy nhiên, ZKP không thể xác minh rằng Khối chứa dữ liệu rollup đã được phát sóng công khai thực sự sau khi được tạo ra. Nó không thể xác minh rằng thông tin bên ngoài thực sự được công khai cho tất cả mọi người.
Điều này đã mở ra cánh cửa cho cuộc tấn công giữ dữ liệu, nghĩa là tạo cam kết với dữ liệu đã được công bố và sử dụng nó để thúc đẩy rollup, nhưng thực tế dữ liệu không khả dụng. Điều này dẫn đến người dùng không thể rút tiền. Giải pháp duy nhất thực sự là dựa hoàn toàn vào giá trị và cấu trúc động lực của hệ thống ngoài BTC.
Dilemma
Điều này đặt ra tình thế khó khăn cho rollup. Khi liên quan đến vấn đề sẵn có dữ liệu, tồn tại một sự lựa chọn nhị phân cơ bản là việc phát hành dữ liệu lên chuỗi khối BTC hay ở nơi khác. Lựa chọn này có ảnh hưởng lớn đến tính an toàn, chủ quyền và khả năng mở rộng của rollup.
Một mặt, việc sử dụng Blockchain Bitcoin làm lớp khả năng sẵn có dữ liệu sẽ đặt một giới hạn cứng cho khả năng mở rộng của rollup. Không gian Khối là giới hạn, điều này đặt giới hạn cho số rollup có thể tồn tại cùng một lúc và tổng số giao dịch có thể được xử lý bên ngoài chuỗi. Mỗi lần cập nhật rollup đều cần một không gian Khối tỷ lệ với số lượng tài khoản có số dư thay đổi kể từ lần cập nhật trước. Lý thuyết thông tin chỉ cho phép dữ liệu được nén đến một mức nhất định, ở điểm này, không còn tiềm năng mở rộng nữa.
另一方面,sử dụng các lớp khác nhau để đạt được tính sẵn sàng của dữ liệu sẽ loại bỏ giới hạn cứng của lợi ích mở rộng, nhưng nó cũng mang đến vấn đề bảo mật và chủ quyền mới. Trong Rollup sử dụng BTC để đạt được tính sẵn sàng của dữ liệu, nếu dữ liệu mà người dùng cần không được tự động công bố trên blockchain, trạng thái của Rollup sẽ không thể thay đổi. Sử dụng Validiums, sự bảo đảm này hoàn toàn phụ thuộc vào khả năng của hệ thống bên ngoài được sử dụng để chống lại sự lừa đảo và ẩn dữ liệu.
Hiện tại, bất kỳ nhà sản xuất Khối nào trên hệ thống sẵn sàng dữ liệu bên ngoài đều có thể chiếm đoạt các khoản tiền của người dùng BTCRollup bằng cách sản xuất Khối thay vì phát sóng thực tế Khối đó, từ đó làm cho dữ liệu có sẵn.
Vậy nếu chúng ta thực sự thực hiện được triển khai Rollup lý tưởng trên BTC, thực sự thực hiện được việc rút tiền một chiều từ người dùng, điều đó sẽ như thế nào?