BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Giải thích chi tiết về việc mở rộng lớp thứ hai của Ethereum: Arbitrum Rollup

Đọc bài viết này mất 30 phút
Bây giờ Ethereum rất chú ý đến giải pháp Rollup, bạn cần hiểu Arbitrum Rollup là gì.
Tiêu đề gốc: "Hiểu nguyên tắc hoạt động của Arbitrum Rollup trong một bài viết"
Nguồn gốc: Những người đam mê Ethereum


Tôi vừa xuất bản Đã viết một bài đăng trên blog so sánh Arbitrum Rollup với các hệ thống tổng hợp cạnh tranh (Bản dịch tiếng Trung). Tuy nhiên, bài viết đó không mô tả chi tiết nguyên lý hoạt động của Arbitrum Rollup nên nhiệm vụ của bài viết này là lấp đầy khoảng trống này.


Nói một cách dễ hiểu, Arbitrum Rollup là một giao thức ngoài chuỗi được quản lý bởi một hợp đồng trên chuỗi Ethereum. Để cho phép các ứng dụng của họ chạy trên Arbitrum Rollup, các nhà phát triển dApp cần viết một bộ hợp đồng trong Solidity và sau đó biên dịch các hợp đồng này thành mã thực thi có thể chạy trên máy ảo Arbitrum. Nó sẽ chạy nhanh hơn, đó là điều bạn và tôi mong đợi.


Cơ bản về tổng hợp


Hãy bắt đầu với những điều cơ bản. Chúng tôi sử dụng Merkle Tree để tổ chức trạng thái của máy ảo, do đó có thể tính toán giá trị băm mật mã của trạng thái máy ảo. Chúng tôi lưu trữ hàm băm này trên chuỗi, vì vậy tại bất kỳ thời điểm nào trong giao thức, có một số trạng thái máy ảo được xác nhận và hoàn thiện đầy đủ (thông qua sự đồng thuận trên chuỗi). Giá trị băm của các trạng thái đã đạt đến trạng thái cuối cùng này sẽ được lưu trữ trên chuỗi.


Những người tham gia giao thức nâng cao trạng thái của máy ảo bằng cách đề xuất Xác nhận có thể tranh chấp (DA); xác nhận tuyên bố rằng từ một số trạng thái nhất định Bắt đầu từ đầu, dựa trên trên một số cơ sở kỹ thuật, máy ảo sẽ thực hiện một số bước tính toán cụ thể, tạo hàm băm trạng thái mới, hoàn thành các khoản thanh toán liên quan trong quá trình thực thi và tạo các sự kiện nhật ký liên quan. Một khẳng định gây tranh cãi có thể hợp lệ (tức là đáng tin cậy) hoặc không hợp lệ. Người tham gia được yêu cầu đặt cọc để đảm bảo tính hợp lệ của khẳng định khi đưa ra khẳng định đang tranh chấp. (Tìm hiểu thêm về đặt cược và cách thức hoạt động sau.)



- Xác nhận tranh chấp dẫn đến điểm quyết định trong giao thức-


Như thể hiện trong hình trên, việc đưa ra khẳng định tranh chấp sẽ tạo ra một điểm quyết định hợp lý mà cuối cùng thỏa thuận phải giải quyết. Nếu xác nhận tranh chấp là hợp lệ, hệ thống sẽ chuyển sang trạng thái mới ở góc trên bên phải của hình, bao gồm giá trị băm trạng thái mới do xác nhận tranh chấp tạo ra và các tác dụng phụ khác (tạo các khoản thanh toán và nhật ký tương ứng). Nếu khẳng định bị tranh chấp không hợp lệ thì nhập nhánh ở góc dưới bên phải, khẳng định bị tranh chấp sẽ bị hệ thống từ chối và trạng thái ban đầu sẽ không thay đổi.


Giao thức Trọng tài cũ


Giao thức Trọng tài ban đầu chỉ được xử lý mỗi lần A gây tranh cãi quả quyết. Khi một số người tham gia đưa ra khẳng định đang bị tranh chấp, sẽ có một khoảng thời gian thử thách mà trong đó bất kỳ ai cũng có thể phản đối khẳng định đang bị tranh chấp. Nếu không bị phản đối, xác nhận tranh chấp sẽ được hệ thống chấp nhận; nếu không, giao thức giải quyết tranh chấp sẽ được thực thi và xác nhận tranh chấp sẽ bị thu hồi (điều này nhằm ngăn chặn người đề xuất và người phản đối thông đồng để đưa ra kết quả tranh chấp).


Việc này rất đơn giản nhưng có hai nhược điểm. Thứ nhất, vì mỗi lần chỉ có một xác nhận tranh chấp được xử lý nên tốc độ xử lý của máy ảo rất hạn chế. Trong mỗi giai đoạn thử thách, quy trình xử lý thông thường về cơ bản là dừng lại. Thứ hai, kẻ xấu có thể đóng băng hoàn toàn máy ảo bằng cách cố tình thách thức tất cả các xác nhận đang tranh chấp. Kẻ tấn công cần phải trả một số tiền đặt cọc, nhưng nếu sẵn lòng, ít nhất chúng có thể trì hoãn hệ thống trong một thời gian dài thông qua cuộc tấn công này trong một số trường hợp nhất định.


Phiên bản mới và cải tiến


Bản tổng hợp Arbitrum mới được giới thiệu trong bài viết của tôi Giao thức này giải quyết hai nhược điểm nêu trên. Thông qua "đường dẫn" để xử lý nhiều xác nhận gây tranh cãi, nút xác minh mô phỏng tốc độ tính toán của máy ảo và tốc độ xử lý của máy ảo nhanh bằng tốc độ xử lý của máy ảo. Thứ hai, như chúng tôi sẽ giải thích sau, những kẻ độc hại không thể trì hoãn hệ thống, họ chỉ có thể tạm thời trì hoãn việc xác nhận kết quả cuối cùng trên chuỗi, nhưng những kết quả này đã được "hoàn thiện mà không cần sự tin cậy" đối với các nút trung thực.


Vậy phải làm thế nào? Sau đó, chúng ta cần đi sâu hơn một chút...


Theo sau mỗi trạng thái có thể có nhiều nhất một khẳng định gây tranh cãi. Nếu không có khẳng định gây tranh cãi nào sau một trạng thái thì bất kỳ ai cũng có thể tạo ra một khẳng định gây tranh cãi để theo sau nó như một điểm phân nhánh mới. Kết quả là một cái cây đến từ một tương lai song song.



- Tương lai song song cây-


Đặt cược


Một phần quan trọng khác của giao thức là đặt cược. Bất cứ ai cũng có thể đặt cược vào một ô (trạng thái) nhất định trên cây. Đặt cược vào một ô có nghĩa là bạn đang khẳng định rằ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 nhánh từ trạng thái hiện tại đến ô bạn đặt cược là nhánh chính xác. Nếu bạn sai, bạn có thể mong đợi khoản tiền gửi của mình sẽ bị mất.


Việc cá cược không thể bị thu hồi. Bạn có thể di chuyển đặt cược của mình sang bên phải - bạn có thể chọn nhánh lên hoặc xuống sau điểm rẽ nhánh - nhưng bạn không thể di chuyển đặt cược của mình sang bên trái, vì điều đó tương đương với việc rút lại cam kết đặt cược trước đó của bạn.


Những người tham gia đưa ra khẳng định đang tranh chấp sẽ đặt cược vào ô kế thừa "xác nhận khẳng định của họ là hợp lệ". Thông thường, họ có thể di chuyển cược hiện có sang bên phải trên ô đáp ứng các điều kiện. (Trong trường hợp hiếm hoi là họ không thể thực hiện điều này, họ có thể đặt cược bổ sung vào ô bắt buộc. Tuy nhiên, lưu ý rằng họ sẽ đặt cược xung đột trên cả hai đường dẫn, vì vậy cuối cùng họ sẽ mất ít nhất một trong số tiền gửi của mình - thường là mâu thuẫn và không phải là một bước đi khôn ngoan).


Có một chi tiết khác về cá cược: nếu hộp bạn đặt cược được xác nhận là lịch sử được chấp nhận Một phần của 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ể ngừng chuyển khoản đặt cược của mình cho đến khi hệ thống "bắt kịp" bạn và sau đó bạn có thể lấy lại tiền đặt cọc của mình.



- Một cây trạng thái chuẩn hơn - bao gồm một loạt các xác nhận hợp lệ-


Tại thời điểm này, bạn có thể lo lắng rằng cây song song trong tương lai sẽ trở nên rất lớn và nhiều lá. Điều này khó có thể xảy ra trên thực tế vì nó đòi hỏi nhiều bên phải đặt cược vào những kết quả không nhất quán. Chỉ cần một trong số họ trung thực thì những người còn lại sẽ mất tiền đặt cọc. Nhiều khả năng, cái cây thực sự là một chuỗi các DA hợp lệ được xâu chuỗi lại với nhau, lần lượt, với tất cả các cược trên cùng một nhánh.


Thời gian đặt cược


Chúng tôi cần hệ thống hoạt động trong thời gian ngắn nhất có thể Đưa ra quyết định đối với từng khẳng định đang tranh chấp. Vì vậy, khi một xác nhận gây tranh cãi được thêm vào chuỗi, dẫn đến một nhánh, sẽ có một giới hạn thời gian liên quan đến nó. Khoảng thời gian này đủ dài để bất kỳ ai, nếu muốn, có đủ thời gian để kiểm tra xem xác nhận đang tranh chấp có hợp lệ hay không và tạo ra giao dịch cá cược trên chuỗi. Bất kỳ ai muốn đặt cọc phải thực hiện trước khi kết thúc thời hạn (số cổ phần đã hết hạn vẫn có thể tồn tại trên chuỗi, nhưng họ không thể xác định tính hợp lệ của xác nhận đang tranh chấp đó). Sau khi hết thời gian, tất cả các cược có thể xác định khẳng định đang tranh chấp sẽ được biết.

 

Tranh chấp


Nếu Alice và Bob đặt cược vào các ô khác nhau thì một trong hai sự kiện sau đây phải là vật phẩm ĐÚNG VẬY. Một trong hai cược có thể chuyển sang cược kia - nghĩa là các xác nhận của chúng nhất quán - hoặc không thể tìm thấy đường dẫn như vậy. Nếu không có đường di chuyển sang phải nối hộp của Alice và Bob thì chúng phải phân kỳ. Phải có một điểm khác biệt duy nhất giữa chúng - một khẳng định gây tranh cãi duy nhất mà một người đặt cược vào tính hợp lệ của nó và người khác đặt cược vào tính vô hiệu của nó.



- Có tranh chấp giữa Alice và Bob-


Khi xảy ra tranh chấp giữa hai người tham gia, hệ thống có thể khởi tạo giao thức giải quyết tranh chấp tương tác. Tôi không có đủ không gian ở đây để mô tả giao thức giải quyết tranh chấp này - chỉ cần nói rằng đó là giao thức tương tác phân đôi tương tự như những gì chúng tôi đã mô tả trong tài liệu Arbitrum khác.


Kết quả của một thỏa thuận giải quyết tranh chấp là một bên tham gia sẽ bị coi là sai. Tiền đặt cọc của người tham gia này sẽ bị mất. Cược sẽ bị xóa khỏi ô mà nó được đặt. Một phần tiền đặt cọc sẽ được chuyển cho bên tranh chấp còn lại và phần còn lại sẽ bị đốt cháy.


Nhiều tranh chấp có thể được giải quyết cùng một lúc, nhưng mỗi người đặt cược chỉ được tham gia tối đa một tranh chấp tại một thời điểm. Vì cược của người thua sẽ bị loại bỏ nên mỗi tranh chấp được giải quyết sẽ giảm số lượng bất đồng trong toàn hệ thống. Những người tham gia đã mất tiền đặt cọc có thể tiếp tục đặt cược, nhưng những lần đặt cược mới không thể ảnh hưởng đến khẳng định đang tranh chấp rằng thời gian đặt cược đã hết. Tác dụng của việc này là sau khi thời hạn đặt cược cho một xác nhận đang tranh chấp kết thúc, mọi bất đồng về cách xử lý xác nhận đó sẽ bị loại bỏ.


Xác nhận kết quả


Sau khi thời gian đặt cược của xác nhận tranh chấp hết hạn, nếu tất cả Cược được gửi theo thời gian (và chưa bị xóa) tất cả đều tồn tại trên cùng một nhánh được tạo từ xác nhận, khi đó hệ thống có thể chắc chắn rằng kết quả của xác nhận đó là đúng. Khẳng định bị tranh chấp được chấp nhận hoặc bị từ chối và trạng thái hiện tại sẽ chuyển sang ô bên phải của khẳng định bị tranh chấp. Nếu xác nhận tranh chấp được xác nhận là hợp lệ, các tác động đi kèm của nó, chẳng hạn như thanh toán, v.v., cũng sẽ có hiệu lực trên chuỗi. Đây là cách trạng thái của máy ảo tiến về phía trước.


Trong những trường hợp bình thường, người tham gia sẽ trung thực và ngoan ngoãn, và không ai muốn mất tiền đặt cọc do đặt cược sai. Chỉ những xác nhận bị tranh chấp hợp lệ mới được xác nhận (bởi những người tham gia khác), tạo thành một chuỗi và không ai sẽ đặt cược vào nhánh không hợp lệ của bất kỳ xác nhận bị tranh chấp nào. Trong trường hợp này, tất cả các xác nhận gây tranh cãi sẽ được xác nhận ngay sau khi hết thời gian đặt cược.


Tại sao không cần tin cậy


Một đặc tính quan trọng của Arbitrum Rollup là nó không yêu cầu sự tin cậy - miễn là có người tham gia trung thực, trạng thái máy ảo có thể được đảm bảo là chính xác tiến về phía trước. Tại sao, hãy tưởng tượng rằng Alice luôn đặt cược vào nhánh đúng, và nếu không có khẳng định nào gây tranh cãi thì cô ấy sẽ tự mình khẳng định điều đó.


Vì Alice luôn đặt cược vào nhánh đúng nên cô ấy sẽ thắng mọi tranh chấp. Nếu bất kỳ ai không đồng ý với Alice, họ sẽ (a) tranh chấp với bên thứ ba không liên quan và mất tiền đặt cọc, hoặc (b) tranh chấp với Alice và mất tiền đặt cọc. Trong cả hai trường hợp, tất cả những người không đồng ý với Alice sẽ mất tiền đặt cọc. Chỉ những người đồng ý với vụ đặt cược của Alice mới sống sót, vì vậy con đường trên cây của Alice cuối cùng sẽ trở thành nhánh duy nhất đặt cược kịp thời - và con đường của Alice sẽ được xác nhận.



- Chỉ cần Alice thành thật thì bất kể người khác có nói gì làm, Các hộp màu xanh lá cây đều sẽ được xác nhận -


Bởi vì hệ thống theo cách này không đáng tin cậy nên nếu Alice đặt cược vào một hộp, cô ấy phải biết nó Con đường hộp này là đáng tin cậy và Alice có thể chắc chắn rằng hộp cuối cùng sẽ được xác nhận. Đối với Alice, con đường đã được định sẵn.


Ngay cả khi bạn không đặt cược vào một con đường nhất định, nếu bạn thấy nhiều người đặt cược vào con đường đó, miễn là như bạn Bằng cách tin tưởng rằng có ít nhất một người trung thực trong số họ, bạn có thể chắc chắn rằng con đường cuối cùng sẽ được xác nhận—đối với bạn, con đường đó sẽ giống như một thỏa thuận đã hoàn thành.


Lợi ích của tính hữu hạn không cần sự tin cậy 


Tại sao không cần đến sự tin tưởng? Tính hữu hạn có giá trị không ? Ví dụ kinh điển xuất phát từ cuộc thảo luận trước đây về các giao thức tổng hợp khác. Giả sử một máy ảo muốn trả tiền cho Alice. Sự kiện thanh toán xảy ra trên đường dẫn trung thực, nhưng hộp chứa khoản thanh toán vẫn cần một thời gian để được xác nhận trên chuỗi.


Tính cuối cùng không đáng tin cậy cho phép Alice nhận được tiền ngay lập tức. Nếu Bob còn tiền, anh ta có thể trả tiền ngay cho Alice để đổi lấy biên lai không xác định của Alice (cộng với một khoản tiền boa nhỏ cho Bob). Bob sẽ chỉ muốn giao dịch với Alice nếu anh ấy chắc chắn rằng khoản thanh toán của Alice chắc chắn sẽ được thực hiện. Bob có thể đảm bảo điều này bằng cách đặt cược vào một kết quả trung thực - mang lại cho anh ta niềm tin không thể tin cậy rằng khoản thanh toán cuối cùng sẽ xảy ra. Không chỉ Bob mới có thể làm được điều này. Bất cứ ai có một số tiền đều có thể cho Alice hoặc những người có nhu cầu giống cô ấy vay tiền theo cách này, những người này cạnh tranh với nhau bằng cách đưa ra mức phí thấp hơn, do đó chi phí để Alice có được tiền ngay lập tức giảm đi rất nhiều.


Điều quan trọng là khả năng tồn tại của cơ chế thị trường này phụ thuộc vào tính chất cuối cùng không đáng tin cậy. Nếu “tất cả mọi người” biết rằng điều này cuối cùng sẽ được xác nhận, thì việc trì hoãn xác nhận trên chuỗi sẽ không gây ra nhiều bất tiện.


Không chỉ thanh toán mà còn những việc khác mà máy ảo có thể thực hiện. Nếu một máy ảo tạo ra một sự kiện nhật ký để ghi lại những gì đã xảy ra, tính hữu hạn không đáng tin cậy có nghĩa là bất kỳ ai cũng có thể thực hiện hành động một cách chắc chắn vì sự kiện nhật ký cuối cùng sẽ được xác nhận trên chuỗi.


Tấn công bị trì hoãn


Vì hệ thống không đáng tin cậy nên kẻ xấu không thể buộc xảy ra lỗi. Tất cả những gì họ có thể làm là làm chậm hệ thống. Làm như vậy đòi hỏi họ phải trả tiền đặt cọc, việc này có thể tốn kém nếu số tiền đặt cọc lớn.


Hãy tưởng tượng nếu ai đó muốn trả tiền đặt cọc để tiến hành một cuộc tấn công bị trì hoãn, trường hợp xấu nhất mà họ có thể tạo ra là gì?


Điều đầu tiên cần lưu ý là kẻ xấu không thể ngăn cản người tốt tiếp tục xây dựng những chi nhánh lương thiện. Và họ không thể ngăn cản những người tốt có được niềm tin không đáng tin cậy rằng những nhánh trung thực cuối cùng sẽ được xác nhận.


Tất cả những gì kẻ tấn công có thể làm là đặt cược vào nhánh sai để trì hoãn việc xác nhận đường đi trung thực trên chuỗi. Mỗi lần đặt cược của họ sẽ tạo ra tranh chấp với một người tham gia trung thực và người tham gia trung thực sẽ lấy đi một phần lớn tiền gửi của kẻ tấn công khỏi tranh chấp. Khi toàn bộ số tiền gửi của kẻ tấn công bị lấy đi, xác nhận trên chuỗi sẽ tiếp tục được thực hiện.


Điều gì xảy ra nếu kẻ tấn công đặt cược nhiều lần vào kết quả sai? Sau đó, số tiền đặt cọc này sẽ bị lấy đi hết tranh chấp này đến tranh chấp khác. Nếu nhiều người đặt cược vào một kết quả trung thực, những người này đều có thể tham gia giải quyết tranh chấp và lấy đi tiền đặt cọc của kẻ tấn công song song. Và cần lưu ý rằng mọi người đều biết chuyện gì đang xảy ra và nhiều người muốn tham gia để lấy miếng bánh, đặt cược vào kết quả chính xác và giật tiền đặt cọc từ kẻ tấn công. Nếu bên trung thực đặt K, số tiền gửi K của kẻ tấn công sẽ bị tiêu hao trong thời gian trì hoãn tranh chấp. Nếu kẻ tấn công đặt cược nhiều hơn, điều đó có thể sẽ thu hút nhiều người đặt cược trung thực hơn. Đây là một thảm họa cho những kẻ tấn công.


Tối ưu hóa 


Nhiều tối ưu hóa cũng có thể được thực hiện để giảm bớt chuỗi cần thiết để vận hành giao thức Tăng lượng dữ liệu kế toán và giảm mức tiêu thụ gas trên chuỗi, giúp kẻ tấn công dễ dàng thực hiện một cuộc tấn công điên cuồng do các cuộc tấn công bị trì hoãn gây ra. Tôi sẽ không đi sâu vào chi tiết về những tối ưu hóa này ở đây - bài viết này đã đủ dài rồi.


 Nguồn gốc



Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi