Nguồn: Bitcoin Magazine; Dịch: Ngũ Châu, Kinh tế màu vàng
Rollups gần đây đã trở thành tâm điểm của việc mở rộng BTC, trở thành điều đầu tiên thực sự ‘đánh cắp phương tiện’ từ Lighting Network, trong mặt độ rộng rãi hơn. Rollups được thiết kế để trở thành một lớp thứ hai off-chain không bị ràng buộc hoặc hạn chế bởi sự hạn chế về Thanh khoản cốt lõi của Lighting Network, nghĩa là người dùng cuối cùng cần có ai đó cấp (hoặc ‘cho vay’) tiền trước để nhận tiền, hoặc các nút trung gian cần có số dư kênh để thúc đẩy việc chuyển tiền từ người gửi đến người nhận diễn ra suôn sẻ.
Các hệ thống này ban đầu đã được chạy 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 chuyển đổi chúng sang các chuỗi khối dựa trên UTXO (ví dụ như BTC). Bài viết này không có ý định thảo luận về tình trạng hiện tại của việc triển khai trên BTC, mà là về các tính năng của Rollup được lý tưởng hóa mà mọi người đã theo đuổi trong thời gian dài, 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 cứ không kiến thức (ZKP) trực tiếp 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 tính bằng BTC) giữ số dư của tất cả người dùng trong Bản tổng hợp. UTXO này chứa một lời hứa tồn tại dưới dạng gốc Merkle của cây Merkle, cam kết tất cả số dư hiện tại của tài khoản hiện có trong Bản tổng hợp. Tất cả các tài khoản này đều được ủy quyền bằng cách sử dụng cặp Khóa công khai/Khóa riêng, vì vậy để đưa ra chi tiêu ngoài chuỗi, người dùng vẫn sẽ phải ký một cái gì đó với Chìa khoá bảo mật. Phần cấu trúc này cho phép người dùng rời đi bất cứ lúc nào mà không được phép, chỉ đơn giản bằng cách thực hiện giao dịch chứng minh rằng tài khoản của họ là một phần của cây Merkle và họ có thể đơn phương rút khỏi Bản tổng hợp mà không cần sự cho phép của nhà điều hành.
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 tất giao dịch off-chain, nếu thiếu 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 ủ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 đã không cập nhật số dư một cách độc hại để lấy cắp tài sản của người dùng hoặc phân phối lại một cách không trung thực cho người dùng khác.
Câu hỏi đặt ra là, nếu chỉ có gốc của cây merkle được công bố trên chuỗi và người dùng có thể xem và truy cập nó, thì làm thế nào họ có thể đặt cành của mình vào cây để có thể thoát ra mà không cần sự cho phép 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 của tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào chuỗi khối. Không phải là toàn bộ cây, điều đó quá ngớ ngẩn, mà là thông tin cần thiết để xây dựng lại cây. Trong một 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ẽ chứa 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 rất nhiều chi phí và không gian (và do đó là tiền) trong khi vẫn cho phép người dùng được đảm bảo quyền truy cập vào thông tin họ cần để đơn phương chọn không tham gia. Các quy tắc tổng hợp yêu cầu dữ liệu này phải được bao gồm trong bản tổng hợp chính thức được cung cấp cho người dùng bằng cách sử dụng chuỗi khối, tức là các giao dịch không chứa tóm tắt tài khoản hoặc chênh lệch tài khoản được coi là không hợp lệ.
Thời hạn hiệu lực
Một cách khác để xử lý vấn đề khả năng sử dụng dữ liệu rút ra bởi người dùng là đặt dữ liệu ở nơi khác ngoài chuỗi Khối. Điều này đưa ra một số vấn đề tinh tế, vì rollup vẫn cần đảm bảo rằng dữ liệu có sẵn ở nơi khác. Truyền thống, các chuỗi 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 khả dụng dữ liệu cho các hệ thống như rollup.
Điều này đã tạo ra một tình huống khó khăn, trong đó đảm bảo an ninh mạnh mẽ. Khi dữ liệu được xuất bản trực tiếp trên chuỗi BTCKhối, các quy tắc 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 xuất bản trên hệ thống bên ngoài, điều tốt nhất mà nó có thể làm là xác minh chứng thực SPV, nghĩa là dữ liệu đã được xuất bản trên một hệ thống khác.
Điều này đòi hỏi xác minh rằng dữ liệu tồn tại trên các chứng minh on-chain khác, cuối cùng đây là một vấn đề Máy Oracle. Chuỗi Khối của BTC không thể xác minh hoàn toàn bất kỳ điều gì ngoại trừ những gì xảy ra trên chính Khối on-chain của nó, đ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 xem dữ liệu rollup trong Khối sau khi được tạo có thực sự được phổ biến hay không. Nó không thể xác minh xem thông tin bên ngoài có thực sự được công khai cho mọi người hay không.
Điều này mở ra cánh cửa cho cuộc tấn công kẹp dữ liệu, tức là tạo cam kết đối với việc xuất bản dữ liệu và sử dụng nó để thúc đẩy rollup, nhưng dữ liệu thực tế không sẵn có. Điều này dẫn đến người dùng không thể rút tiền. Duy nhất giải pháp thực sự là hoàn toàn phụ thuộc vào giá trị và cấu trúc động lực của hệ thống ngoài BTC.
Tiến hoặc rút lui
Điều này đặt ra một tình huống khó khăn cho rollup. Khi liên quan đến vấn đề khả dụng dữ liệu, thực sự tồn tại sự lựa chọn nhị phân để xuất bản dữ liệu trên chuỗi khối BTC hoặc nơi khác. Lựa chọn này có tác động lớn đến tính bảo mật và chủ quyền của rollup cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng blockchain Bitcoin làm lớp khả dụng 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à có giới hạn, điều này đặt ra giới hạn cho số lượng rollup có thể tồn tại cùng một lúc và tổng số lượng giao dịch có thể được xử lý off-chain trong tất cả các rollup. Mỗi lần cập nhật rollup đều cần phải tương ứng với 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.
Mặt khác, việc sử dụng các tầng khác nhau cho tính khả dụng của dữ liệu sẽ loại bỏ giới hạn cứng về khả năng mở rộng, nhưng nó cũng giới thiệu các vấn đề bảo mật và chủ quyền mới. Trong một bản tổng hợp sử dụng Bitcoin cho tính khả dụng của dữ liệu, trạng thái của bản tổng hợp không thể thay đổi nếu dữ liệu mà người dùng cần trích xuất không được tự động xuất bản lên blockchain. Với Validiums, sự đảm bảo này phụ thuộc hoàn toàn vào khả năng của các hệ thống bên ngoài được sử dụng để chống giả mạ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 khả năng sẵn có dữ liệu bên ngoài đều có thể chiếm đoạt 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 cách đơn phương từ người dùng, thì đ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 khó khăn gì?
Nguồn: Bitcoin Magazine; Dịch: Ngũ Châu, Kinh tế màu vàng
Rollups gần đây đã trở thành tâm điểm của việc mở rộng BTC, trở thành điều đầu tiên thực sự ‘đánh cắp phương tiện’ từ Lighting Network, trong mặt độ rộng rãi hơn. Rollups được thiết kế để trở thành một lớp thứ hai off-chain không bị ràng buộc hoặc hạn chế bởi sự hạn chế về Thanh khoản cốt lõi của Lighting Network, nghĩa là người dùng cuối cùng cần có ai đó cấp (hoặc ‘cho vay’) tiền trước để nhận tiền, hoặc các nút trung gian cần có số dư kênh để thúc đẩy việc chuyển tiền từ người gửi đến người nhận diễn ra suôn sẻ.
Các hệ thống này ban đầu đã được chạy 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 chuyển đổi chúng sang các chuỗi khối dựa trên UTXO (ví dụ như BTC). Bài viết này không có ý định thảo luận về tình trạng hiện tại của việc triển khai trên BTC, mà là về các tính năng của Rollup được lý tưởng hóa mà mọi người đã theo đuổi trong thời gian dài, 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 cứ không kiến thức (ZKP) trực tiếp 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 tính bằng BTC) giữ số dư của tất cả người dùng trong Bản tổng hợp. UTXO này chứa một lời hứa tồn tại dưới dạng gốc Merkle của cây Merkle, cam kết tất cả số dư hiện tại của tài khoản hiện có trong Bản tổng hợp. Tất cả các tài khoản này đều được ủy quyền bằng cách sử dụng cặp Khóa công khai/Khóa riêng, vì vậy để đưa ra chi tiêu ngoài chuỗi, người dùng vẫn sẽ phải ký một cái gì đó với Chìa khoá bảo mật. Phần cấu trúc này cho phép người dùng rời đi bất cứ lúc nào mà không được phép, chỉ đơn giản bằng cách thực hiện giao dịch chứng minh rằng tài khoản của họ là một phần của cây Merkle và họ có thể đơn phương rút khỏi Bản tổng hợp mà không cần sự cho phép của nhà điều hành.
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 tất giao dịch off-chain, nếu thiếu 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 ủ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 đã không cập nhật số dư một cách độc hại để lấy cắp tài sản của người dùng hoặc phân phối lại một cách không trung thực cho người dùng khác.
Câu hỏi đặt ra là, nếu chỉ có gốc của cây merkle được công bố trên chuỗi và người dùng có thể xem và truy cập nó, thì làm thế nào họ có thể đặt cành của mình vào cây để có thể thoát ra mà không cần sự cho phép 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 của tài khoản Rollup thay đổi, thông tin sẽ được đưa trực tiếp vào chuỗi khối. Không phải là toàn bộ cây, điều đó quá ngớ ngẩn, mà là thông tin cần thiết để xây dựng lại cây. Trong một 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ẽ chứa 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 rất nhiều chi phí và không gian (và do đó là tiền) trong khi vẫn cho phép người dùng được đảm bảo quyền truy cập vào thông tin họ cần để đơn phương chọn không tham gia. Các quy tắc tổng hợp yêu cầu dữ liệu này phải được bao gồm trong bản tổng hợp chính thức được cung cấp cho người dùng bằng cách sử dụng chuỗi khối, tức là các giao dịch không chứa tóm tắt tài khoản hoặc chênh lệch tài khoản được coi là không hợp lệ.
Thời hạn hiệu lực
Một cách khác để xử lý vấn đề khả năng sử dụng dữ liệu rút ra bởi người dùng là đặt dữ liệu ở nơi khác ngoài chuỗi Khối. Điều này đưa ra một số vấn đề tinh tế, vì rollup vẫn cần đảm bảo rằng dữ liệu có sẵn ở nơi khác. Truyền thống, các chuỗi 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 khả dụng dữ liệu cho các hệ thống như rollup.
Điều này đã tạo ra một tình huống khó khăn, trong đó đảm bảo an ninh mạnh mẽ. Khi dữ liệu được xuất bản trực tiếp trên chuỗi BTCKhối, các quy tắc 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 xuất bản trên hệ thống bên ngoài, điều tốt nhất mà nó có thể làm là xác minh chứng thực SPV, nghĩa là dữ liệu đã được xuất bản trên một hệ thống khác.
Điều này đòi hỏi xác minh rằng dữ liệu tồn tại trên các chứng minh on-chain khác, cuối cùng đây là một vấn đề Máy Oracle. Chuỗi Khối của BTC không thể xác minh hoàn toàn bất kỳ điều gì ngoại trừ những gì xảy ra trên chính Khối on-chain của nó, đ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 xem dữ liệu rollup trong Khối sau khi được tạo có thực sự được phổ biến hay không. Nó không thể xác minh xem thông tin bên ngoài có thực sự được công khai cho mọi người hay không.
Điều này mở ra cánh cửa cho cuộc tấn công kẹp dữ liệu, tức là tạo cam kết đối với việc xuất bản dữ liệu và sử dụng nó để thúc đẩy rollup, nhưng dữ liệu thực tế không sẵn có. Điều này dẫn đến người dùng không thể rút tiền. Duy nhất giải pháp thực sự là hoàn toàn phụ thuộc vào giá trị và cấu trúc động lực của hệ thống ngoài BTC.
Tiến hoặc rút lui
Điều này đặt ra một tình huống khó khăn cho rollup. Khi liên quan đến vấn đề khả dụng dữ liệu, thực sự tồn tại sự lựa chọn nhị phân để xuất bản dữ liệu trên chuỗi khối BTC hoặc nơi khác. Lựa chọn này có tác động lớn đến tính bảo mật và chủ quyền của rollup cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng blockchain Bitcoin làm lớp khả dụng 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à có giới hạn, điều này đặt ra giới hạn cho số lượng rollup có thể tồn tại cùng một lúc và tổng số lượng giao dịch có thể được xử lý off-chain trong tất cả các rollup. Mỗi lần cập nhật rollup đều cần phải tương ứng với 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.
Mặt khác, việc sử dụng các tầng khác nhau cho tính khả dụng của dữ liệu sẽ loại bỏ giới hạn cứng về khả năng mở rộng, nhưng nó cũng giới thiệu các vấn đề bảo mật và chủ quyền mới. Trong một bản tổng hợp sử dụng Bitcoin cho tính khả dụng của dữ liệu, trạng thái của bản tổng hợp không thể thay đổi nếu dữ liệu mà người dùng cần trích xuất không được tự động xuất bản lên blockchain. Với Validiums, sự đảm bảo này phụ thuộc hoàn toàn vào khả năng của các hệ thống bên ngoài được sử dụng để chống giả mạ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 khả năng sẵn có dữ liệu bên ngoài đều có thể chiếm đoạt 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 cách đơn phương từ người dùng, thì điều đó sẽ như thế nào?