Nguồn: Tạp chí Bitcoin; Tổng hợp bởi: Wu Baht, Golden Finance
Gần đây, các đợt tổng hợp đã trở thành tâm điểm của việc mở rộng quy mô Bitcoin, trở thành thứ đầu tiên thực sự “đánh cắp sấm sét” từ Lightning Network về mặt được chú ý rộng rãi hơn. Rollups được dự định là lớp thứ hai ngoài chuỗi không bị ràng buộc hoặc hạn chế bởi các giới hạn thanh khoản cốt lõi của Lightning Network, tức là người dùng cuối cần ai đó phân bổ (hoặc "cho vay") tiền trước để nhận tiền hoặc định tuyến trung gian các nút yêu cầu số dư kênh Để tạo điều kiện thuận lợi cho toàn bộ luồng thanh toán từ người gửi đến người nhận.
Các hệ thống này ban đầu chạy trên Ethereum và các hệ thống hoàn chỉnh Turing khác, nhưng gần đây trọng tâm đã chuyển sang chuyển chúng sang các chuỗi khối dựa trên UTXO như Bitcoin. Bài viết này không nhằm thảo luận về tình trạng triển khai hiện tại trên Bitcoin mà là để thảo luận về chức năng được tìm kiếm từ lâu của một Bản tổng hợp lý tưởng hóa, xoay quanh một tính năng mà Bitcoin hiện không hỗ trợ, cụ thể là xác minh Bằng chứng không có kiến thức ( ZKP) trực tiếp về khả năng của Bitcoin.
Kiến trúc cơ bản của Rollup như sau: một tài khoản duy nhất (UTXO bằng Bitcoin) nắm giữ số dư của tất cả người dùng trong Rollup. UTXO này chứa một cam kết, dưới dạng gốc Merkle của cây Merkle, cam kết với tất cả số dư hiện tại của các tài khoản hiện có trong Tổng hợp. Tất cả các tài khoản này đều được ủy quyền bằng cặp khóa công khai/riêng tư, vì vậy để đề xuất chi tiêu ngoài chuỗi, người dùng vẫn phải ký một cái gì đó bằng khóa. 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ần sự cho phép, chỉ 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 thoát khỏi Rollup mà không cần sự cho phép của nhà điều hành.
Người điều hành tổng hợp phải đưa ZKP vào giao dịch để cập nhật gốc merkle của số dư tài khoản trên chuỗi trong quá trình hoàn tất giao dịch ngoài chuỗi này, giao dịch sẽ không hợp lệ và do đó không thể thực hiện được. được bao gồm trong chuỗi khối. Bằng chứng này cho phép người ta xác minh rằng tất cả các thay đổi đối với tài khoản ngoài chuỗi đều được chủ tài khoản ủy quyền hợp lệ và nhà điều hành không cập nhật số dư một cách ác ý để đánh cắp tiền của người dùng hoặc phân bổ lại chúng cho người dùng khác một cách không trung thực.
Vấn đề là, nếu chỉ có gốc của cây merkle được xuất bản trên chuỗi và người dùng có thể xem và truy cập nó thì làm cách nào để họ đặt các nhánh của mình vào cây để có thể thoát ra mà không được phép khi họ muốn?
Cuộn phù hợp
Trong một bản tổng hợp thích hợp, mỗi khi một giao dịch ngoài chuỗi mới được xác nhận và trạng thái của tài khoản tổng hợp thay đổi, thông tin sẽ được đưa trực tiếp vào chuỗi khối. Không phải toàn bộ cái cây, điều đó thật nực cười, mà là thông tin cần thiết để tái tạo lại cái cây. Trong cách triển khai đơn giản, bản tóm tắt của tất cả các tài khoản hiện có trong Bản tổng hợp sẽ chứa số dư và các tài khoản chỉ được thêm vào trong các giao dịch đã cập nhật Bản tổng hợp.
Trong các triển khai nâng cao hơn, sự khác biệt về số dư được sử dụng. Về cơ bản, đây là bản tóm tắt về những tài khoản đã được thêm hoặc bớt tiền trong quá trình cập nhật. Điều này khiến mỗi bản Cập Nhật tổng hợp chỉ chứa những 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à "tính toán" từ đầu quá trình tổng hợp để rút ra trạng thái hiện tại của số dư tài khoản, điều này 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 chặn (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 cần thiết để đơn phương rút tiền. Quy tắc tổng hợp yêu cầu dữ liệu này phải được đưa vào danh sách tổng hợp chính thức được cung cấp cho người dùng 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 khác biệt về 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 khác để giải quyết vấn đề về tính khả dụng của dữ liệu do người dùng trích xuất là đặt dữ liệu ở một nơi khác bên ngoài blockchain. Điều này đưa ra một vấn đề tế nhị mà việc tổng hợp vẫn cần phải thực thi để đảm bảo rằng dữ liệu có sẵn ở nơi khác. Theo 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 để phục vụ như lớp sẵn có dữ liệu cho các hệ thống như tổng hợp.
Điều này tạo ra một tình thế tiến thoái lưỡng nan khi an ninh cũng mạnh mẽ không kém. Khi dữ liệu được xuất bản trực tiếp lên chuỗi khối Bitcoin, các quy tắc đồng thuận đảm bảo rằng dữ liệu đó hoàn toàn chính xác. Tuy nhiên, khi nó được xuất bản lên hệ thống bên ngoài, điều tốt nhất nó có thể làm là xác minh bằng chứng SPV rằng dữ liệu đã được xuất bản sang hệ thống khác.
Điều này yêu cầu xác minh bằng chứng rằng dữ liệu tồn tại trên các chuỗi khác, đây cuối cùng là một vấn đề về oracle. Chuỗi khối của Bitcoin không thể xác minh đầy đủ bất cứ điều gì ngoài những gì đã xảy ra trên chuỗi khối của chính 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 liệu khối chứa dữ liệu tổng hợp có thực sự được phát công khai sau khi được tạo hay không. Nó không thể xác minh rằng thông tin bên ngoài thực sự có sẵn cho tất cả mọi người.
Điều này mở ra cơ hội cho các cuộc tấn công giữ lại dữ liệu, trong đó lời hứa phát hành dữ liệu được tạo ra và sử dụng để thúc đẩy quá trình tổng hợp nhưng dữ liệu không thực sự có sẵn. Điều này dẫn đến việc người dùng không thể rút tiền. Giải pháp thực sự duy nhất là dựa hoàn toàn vào giá trị và cấu trúc khuyến khích của một hệ thống không phải Bitcoin.
tình thế tiến thoái lưỡng nan
Điều này tạo ra một vấn đề nan giải cho việc tổng hợp. Khi nói đến các vấn đề về tính sẵn có của dữ liệu, về cơ bản có một lựa chọn nhị phân là xuất bản dữ liệu lên chuỗi khối Bitcoin hoặc nơi khác. Lựa chọn này có ý nghĩa quan trọng đối với tính bảo mật và chủ quyền của tổng hợp cũng như khả năng mở rộng của nó.
Một mặt, việc sử dụng chuỗi khối Bitcoin làm lớp sẵn có của dữ liệu sẽ đặt ra giới hạn cứng cho khả năng mở rộng của quá trình tổng hợp. Không gian khối bị giới hạn, điều này đặt ra giới hạn trên về số lần cuộn có thể tồn tại cùng một lúc và số lượng giao dịch mà tất cả các lần cuộn kết hợp có thể xử lý ngoài chuỗi. Mỗi bản cập nhật tổng hợp yêu cầu không gian khối tỷ lệ thuận với số lượng tài khoản có số dư đã thay đổi kể từ lần cập nhật cuối cùng. Lý thuyết thông tin chỉ cho phép nén dữ liệu ở một mức độ nhất định, khi đó không còn khả năng mở rộng nữa.
Mặt khác, việc sử dụng các lớp khác nhau để đảm bảo 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 gây ra những lo ngại mới về chủ quyền và an ninh. Trong Rollup, sử dụng Bitcoin để cung cấp dữ liệu, trạng thái của Rollup không thể thay đổi nếu dữ liệu 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 hệ thống bên ngoài được sử dụng để chống lại hành vi giả mạo và ẩn dữ liệu.
Giờ đây, bất kỳ nhà sản xuất khối nào trên hệ thố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 Bitcoin Rollup bằng cách tạo ra một khối thay vì thực sự phát khối, từ đó làm cho dữ liệu có sẵn.
Vì vậy, sẽ như thế nào nếu chúng tôi thực sự đạt được triển khai Rollup lý tưởng trên Bitcoin và việc người dùng thực sự rút tiền đơn phương?