Bài viết tìm hiểu kế hoạch mở rộng của Ethereum: Nguyên lý hoạt động Rollup
Lưu ý của biên tập viên: Bài viết này đến từThung lũng tiền điện tử trực tiếp (ID: cryptovalley)Lưu ý của biên tập viên: Bài viết này đến từ
Thung lũng tiền điện tử trực tiếp (ID: cryptovalley)
, Tác giả: Ed felten, bản dịch: Li Hanbo, được Odaily sao chép với sự ủy quyền.
Arbitrum Rollup là một giao thức ngoài chuỗi được điều chỉnh bởi hợp đồng Ethereum trên chuỗi. Nhà phát triển dapp có một bộ hợp đồng được viết bằng Solidity và nhà phát triển biên dịch các hợp đồng này thành một máy ảo Arbitrum (VM) để chạy trên Arbitrum Rollup. Bạn muốn chúng chạy nhanh.
Khái niệm cơ bản về rollup
Những người tham gia giao thức có thể đưa ra một xác nhận có thể tranh cãi (DA), tuyên bố rằng, bắt đầu từ một hàm băm trạng thái nhất định, trong một số điều kiện tiên quyết kỹ thuật, một máy ảo có thể thực hiện một số bước tính toán cụ thể để đạt được trạng thái băm mới được chỉ định, và máy ảo thực hiện thanh toán được chỉ định và phát ra sự kiện nhật ký được chỉ định trong quá trình tính toán. DA có thể hợp lệ (tức là có thật) hoặc không hợp lệ. Bên lập DA sẽ được yêu cầu đặt cọc để DA có hiệu lực. (Thông tin thêm về cổ phần và cách chúng hoạt động bên dưới.)
Như thể hiện trong sơ đồ trên, một xác nhận có thể tranh cãi tạo ra một điểm quyết định hợp lý mà cuối cùng giao thức sẽ giải quyết. Nếu DA hợp lệ, hệ thống sẽ chuyển sang trạng thái mới ở góc trên bên phải, với hàm băm trạng thái mới và với các tác dụng phụ (thanh toán và nhật ký) được chỉ định trong DA. Hoặc trên một chi nhánh khác, DA không hợp lệ, nó bị từ chối và trạng thái không thay đổi.
tiêu đề phụ"Giao thức Arbitrum cũ"Giao thức Arbitrum ban đầu xử lý từng xác nhận có thể tranh cãi. Một bên sẽ đề xuất DA, và sau đó sẽ có một khoảng thời gian thử thách trong đó bất kỳ ai cũng có thể phản đối DA. Nếu không có ai thách thức, DA được xác nhận; nếu không, giao thức tranh chấp được thực hiện và DA bị hủy (để đảm bảo an toàn, trong trường hợp người đề xuất và người thách thức thông đồng với nhau
kết quả tranh chấp).
Điều này là đơn giản, nhưng có hai nhược điểm. Đầu tiên, vì chỉ có thể có một vụ kiện tại một thời điểm nên tốc độ mà VM có thể tiến triển sẽ bị hạn chế. Về cơ bản, tiến trình phải được tạm dừng trong mỗi giai đoạn thử thách. Thứ hai, một bên độc hại có thể đóng băng một máy ảo bằng cách cố tình thách thức tất cả các DA được tạo cho máy ảo đó. Điều này sẽ khiến kẻ tấn công phải trả một loạt tiền cược, nhưng nếu họ sẵn sàng trả giá, họ có thể duy trì tiến độ trong thời gian dài ít nhất trong một số trường hợp.
mới và cải tiến"đường ống"chữ"đường ống"。
kết quả cuối cùng không đáng tin cậy
Làm thế nào điều đó xảy ra? Hãy tìm hiểu về giao thức mới...
Mô tả hình ảnh
stake
tiêu đề phụ
Một phần quan trọng khác của giao thức là đặt cược. Bất kỳ ai cũng có thể đặt cọc vào ô vuông trên cây. Bằng cách đặt cược vào một hình vuông, bạn đang khẳng định rằng hình vuông cuối cùng sẽ được xác nhận bởi giao thức. Nói cách khác, bạn đang khẳng định rằng bạn đã chọn đúng nhánh cho mọi DA trên đường dẫn từ trạng thái hiện tại đến ô vuông mà bạn đang đặt cược. Nếu bạn sai, bạn có thể bị mất tiền cược.
chữ"Không thể hoàn tác hành động đặt cược. Bạn có thể di chuyển số tiền đặt cược của mình sang bên phải -- chọn tăng hoặc giảm tại mỗi điểm nhánh -- nhưng bạn không thể di chuyển số tiền đặt cược của mình sang bên trái, vì điều đó sẽ dẫn đến việc hủy bỏ cam kết đặt cược trước đó của bạn."Bên đưa ra khẳng định có thể tranh cãi cần phải có mặt trong DA
DA hợp lệ"Người thừa kế đi đặt cược. Thông thường, họ có thể đáp ứng yêu cầu này bằng cách di chuyển cược hiện tại sang bên phải, đặt nó vào ô kế vị mong muốn. Trong một số ít trường hợp, nếu họ không thể làm như vậy, họ có thể đặt thêm tiền cược vào ô vuông mong muốn. Nhưng hãy cẩn thận, họ sẽ đặt cược vào hai con đường không thống nhất với nhau, vì vậy cuối cùng họ sẽ mất ít nhất một trong hai số tiền đặt cược - mâu thuẫn với chính bạn không phải là điều khôn ngoan). )"Một chi tiết khác về đặt cược: nếu ô vuông bạn đặt cược được xác nhận và trở thành lịch sử được chấp nhận, bạn có thể chọn lấy lại tiền đặt cược của mình. Điều này có nghĩa là nếu bạn đúng, bạn có thể để nguyên cược của mình và đợi hệ thống
bắt kịp"Bạn, sau đó bạn nhận lại tiền cược của mình."Tại thời điểm này, bạn có thể lo ngại rằng chương trình dendro của các khả năng sẽ rất lớn và 'có nhiều lá'. Điều này không thể xảy ra trong thực tế vì nó sẽ yêu cầu nhiều bên đặt cược vào các kết quả không nhất quán lẫn nhau. Chỉ một trong số họ có thể đúng và những người khác sẽ mất tiền đặt cược. Nhiều khả năng, điều này
Thực tế là một chuỗi các DA, cái này nối tiếp cái kia và tất cả các lần đặt cược đều có cùng kết quả.
thời gian đặt cược
Chúng tôi cần hệ thống đưa ra quyết định về từng xác nhận có thể gây tranh cãi trước khi mất quá nhiều thời gian. Vì vậy, khi một DA được thêm vào chuỗi, tạo ra một điểm nhánh, sẽ có một thời hạn liên quan đến DA đó. Thời hạn này đủ xa trong tương lai để nếu bạn chọn làm điều này, bạn sẽ có thời gian để kiểm tra xem DA có hợp lệ hay không và nhận một giao dịch trên chuỗi để đặt cược vào kết quả của DA này. Nếu ai đó muốn đặt cược ủng hộ hoặc chống lại hiệu lực của DA này, họ phải làm như vậy trước hạn chót. (Sau thời hạn, các nhóm lợi ích vẫn có thể được giới thiệu, nhưng họ không tham gia vào việc quyết định ủng hộ hay chống lại DA.) Sau khi hết thời hạn, tất cả các nhóm lợi ích liên quan đến việc quyết định khiếu nại sẽ được thông báo.
tranh luận
Nếu Alice và Bob ở các địa điểm khác nhau, thì một trong hai điều là đúng. Hoặc là có một đường dẫn bên phải từ một trong số chúng sang bên kia -- ngụ ý rằng các tuyên bố của chúng được căn chỉnh -- hoặc không có đường dẫn nào như vậy. Nếu không có một con đường chuyển động bên phải nối ô vuông của Alice và Bob, thì họ phải bất đồng về điều gì đó. Sẽ luôn có một điểm tranh chấp duy nhất giữa họ - một DA duy nhất mà một trong số họ đặt cược rằng DA hoạt động và người kia thì không.
Bất cứ khi nào phát sinh tranh chấp giữa hai bên, hệ thống có thể bắt đầu một giao thức giải quyết tranh chấp tương tác giữa hai bên. Tôi không có đủ chỗ để mô tả giao thức giải quyết tranh chấp ở đây - chỉ cần nói rằng đó là một giao thức tương tác hai giai đoạn tương tự như những gì chúng tôi đã mô tả trong các tài liệu khác của Arbitrum.
Do thỏa thuận giải quyết tranh chấp, một bên sẽ bị coi là không đúng. Bên đó sẽ mất quyền lợi của mình. Cổ phần sẽ bị xóa khỏi chuỗi mà nó đã tham gia. Một số trong số đó sẽ chuyển đến bên kia trong tranh chấp và phần còn lại sẽ bị phá hủy.
Nhiều tranh chấp có thể đang diễn ra cùng một lúc, nhưng mỗi người đánh cược chỉ có thể tham gia vào tối đa một tranh chấp tại một thời điểm. Mỗi tranh chấp làm giảm số lượng bất đồng trong hệ thống vì cược của người thua cuộc bị xóa sổ. Bên thua cược có thể đặt cược lại nếu họ muốn, nhưng cược mới sẽ không thể ảnh hưởng đến DA mà thời gian đặt cược đã qua. Hậu quả của việc này là sau khi thời gian đặt cược của DA trôi qua, tranh chấp sẽ dần dần giải quyết được bất kỳ sự bất đồng nào về cách xử lý DA đó.
xác minh kết quả
Khi thời hạn đặt cược của một DA đã qua, tất cả các cược kịp thời (trước thời hạn đặt cược) còn lại sẽ nằm trên cùng một nhánh của DA đó và hệ thống có thể xác nhận kết quả của DA đó. DA được chấp nhận hoặc bị từ chối và trạng thái hiện tại chuyển sang hộp tương ứng ở bên phải của DA.
Nếu DA được xác nhận là hợp lệ, chẳng hạn như thanh toán, nó sẽ có hiệu lực trên chuỗi. Đây là cách trạng thái của máy ảo di chuyển về phía trước.
Nói chung, các bên sẽ hành động trung thực vì họ không muốn thua cược khi đặt cược vào những tuyên bố không có thật. Chỉ DA hợp lệ mới được xác nhận và không ai đặt cược vào các nhánh không hợp lệ của bất kỳ DA nào trên một chuỗi. Trong trường hợp này, mỗi DA có thể được xác nhận ngay sau khi hết thời gian đặt cược.
tại sao nó không đáng tin cậy
Một thuộc tính quan trọng của Arbitrum Rollup là nó không đáng tin cậy - một bên trung thực có thể buộc máy ảo hoạt động chính xác và đạt được tiến bộ. Để hiểu tại sao, hãy tưởng tượng rằng Alice luôn đặt cược vào nhánh thực trên mọi DA và nếu cây không có sản phẩm nào, cô ấy khẳng định DA.
Vì Alice đang đặt cược vào cây thật nên cô ấy thắng mọi tranh chấp mà cô ấy tham gia. Nếu những người khác không đồng ý với Alice, họ sẽ (a) mất cổ phần trong một tranh chấp không liên quan với bên thứ ba hoặc (b) kết thúc tranh chấp với Alice và mất cổ phần của họ cho cô ấy. Trong cả hai trường hợp, tất cả những người không đồng ý với Alice cuối cùng sẽ mất cổ phần của họ. Chỉ những cổ phần đồng ý với Alice mới tồn tại, vì vậy con đường của Alice trên cây cuối cùng sẽ là con đường duy nhất có cổ phần đúng lúc -- và con đường của Alice sẽ được xác nhận.
Bởi vì hệ thống theo cách này là không đáng tin cậy, nếu Alice đặt cược vào một hình vuông và cô ấy biết đường dẫn đến hình vuông đó là có thật, thì Alice có thể chắc chắn rằng hình vuông mà cô ấy đặt cuối cùng sẽ được xác nhận. Đối với Alice, con đường đó dường như là cuối cùng.
Ngay cả khi bạn không đặt cược vào một con đường, nếu bạn thấy nhiều người đặt cược vào nó và bạn tin rằng ít nhất một trong số họ thành thật, thì bạn có thể chắc chắn rằng con đường đó cuối cùng sẽ được xác nhận -- chỉ dành cho bạn, điều đó con đường là con đường cuối cùng.
Lợi ích của việc không tin tưởng vào tính hữu hạn
Tại sao sự không tin tưởng vào kết quả lại có giá trị? Ví dụ cổ điển đến từ cuộc thảo luận trước đó về các giao thức tổng số khác. Giả sử một máy ảo muốn trả tiền cho Alice. Sự kiện thanh toán diễn ra trên đường trung thực, nhưng sẽ mất một thời gian trước khi khối nơi thanh toán xảy ra được xác nhận trên chuỗi.
chữ"Kết quả của sự thiếu tin cậy là cung cấp cho Alice một cách để có được tiền ngay lập tức. Nếu Bob có tiền để thanh toán ngay lập tức, anh ta có thể đưa tiền ngay cho Alice, đổi lại Alice sẽ chỉ định các khoản thanh toán chưa được xác nhận trong tương lai cho Bob (cộng với một khoản phí tối thiểu trả cho Bob). Bob chỉ muốn làm điều này nếu anh ấy có thể chắc chắn rằng khoản thanh toán sẽ thực sự xảy ra. Bob có thể xác định điều này bằng cách đặt cược vào một kết quả trung thực—khi đó anh ấy sẽ hoàn toàn tin tưởng rằng cuối cùng khoản thanh toán sẽ xảy ra. Không chỉ Bob có thể làm điều này, bất cứ ai có tiền đều có thể cho anh ta vay. Bất kỳ ai có tiền đều có thể cho Alice và những người khác giống như cô ấy vay tiền theo cách tương tự. Những người này có thể cạnh tranh với nhau bằng cách đưa ra mức phí thấp hơn, giúp Alice nhận tiền ngay lập tức rẻ hơn."Điểm mấu chốt là khả năng tồn tại của một cơ chế thị trường như vậy phụ thuộc vào kết quả của sự mất lòng tin. nếu như
Điều này không chỉ đúng với các khoản thanh toán mà còn đúng với những thứ khác mà máy ảo thực hiện. Nếu một máy ảo phát ra một mục nhật ký thông báo rằng có điều gì đó đã xảy ra, thì kết quả không đáng tin cậy có nghĩa là bất kỳ ai cũng có thể hành động một cách chắc chắn rằng mục nhật ký đó sẽ được xác nhận trên chuỗi.
cuộc tấn công bị trì hoãn
cuộc tấn công bị trì hoãn
Bởi vì hệ thống này không đáng tin cậy, kẻ xấu không thể ép buộc kết quả sai. Những gì họ có thể cố gắng làm là làm chậm tiến độ. Làm như vậy đòi hỏi họ phải hy sinh cổ phần, điều này có thể tốn kém nếu cổ phần là đáng kể.
Hãy tưởng tượng rằng ai đó có động cơ để khởi động một cuộc tấn công trì hoãn và họ sẵn sàng hy sinh một khoản tiền. thiệt hại tồi tệ nhất họ có thể làm là gì?
Điều đầu tiên cần lưu ý là những kẻ xấu không thể ngăn cản các bên trung thực tiếp tục xây dựng con đường trung thực. Và họ cũng không thể ngăn cản các bên trung thực có được sự tin tưởng không đáng tin cậy trong quá trình hoàn thiện nhánh trung thực.
Điều gì sẽ xảy ra nếu kẻ tấn công đặt nhiều cược vào các kết quả không có thật? Sau đó, những cược này phải được thắng từng cái một trong tranh chấp. Nếu có nhiều người đặt cược vào một kết quả trung thực, tất cả những người đó có thể tham gia tranh chấp với kẻ tấn công trong khi cố gắng gỡ bỏ cược của kẻ tấn công. Và lưu ý rằng mọi người sẽ hiểu rõ chuyện gì đang xảy ra và nhiều người sẽ muốn tham gia, đặt cược vào kết quả thực sự để họ có thể tham gia vào cuộc kiếm ăn điên cuồng sử dụng tranh chấp để lấy tiền đặt cược từ những kẻ tấn công. Nếu có K người đặt cược vào phe trung thực, thì kẻ tấn công sẽ chi K tiền cược để mua một khoảng thời gian tranh chấp. Nếu kẻ tấn công đặt cược nhiều hơn, nó sẽ có khả năng thu hút nhiều người đặt cược trung thực hơn. Đây là một động lực xấu cho kẻ tấn công.
tối ưu hóa
Nhiều tối ưu hóa khác nhau có thể được thực hiện để giảm số lượng sổ sách kế toán trên chuỗi cần thiết để vận hành giao thức, giảm chi phí gas trên chuỗi và giúp dễ dàng tạo ra một cơn điên cuồng cho ăn có lợi trước những kẻ tấn công độ trễ. Tôi sẽ không đi sâu vào các tối ưu hóa này ở đây, bài đăng này đủ dài.
con đường phía trước
tiêu đề cấp đầu tiên


