Tiêu đề gốc: "Quan điểm | Tìm hiểu về "Sidechains""
Nguồn gốc: Những người đam mê Ethereum
Tuyên bố từ chối trách nhiệm: Các ý kiến trình bày ở đây chỉ là ý kiến cá nhân của tôi và không nhất thiết thể hiện cùng quan điểm của chủ lao động của tôi hoặc của những người khác.
Cảm ơn Albert Ni đã đọc và cho ý kiến.
Tầm quan trọng của Lớp 2 đối với Ethereum Tình dục ngày càng gia tăng và đã trở thành một sự đồng thuận.
Tuy nhiên, "Lớp-2" là nhãn không chính xác. Khi một số người nói về "Lớp 2", họ chỉ muốn nói đến "những thứ không có trên Ethereum Lớp 1". Nhưng trên thực tế, cách giải pháp tương tác với Ethereum Layer-1 là rất quan trọng. Các giải pháp khác nhau dưới cùng tên "Lớp-2" có thể có những đặc điểm rất khác nhau. Có thể lập luận rằng "Lớp 2" nên đề cập cụ thể đến thứ gì đó có thuộc tính cụ thể (ví dụ: tất cả chúng ta có thể đồng ý rằng những thứ được triển khai trên AWS không phải là Lớp 2, nhưng cũng có một số dự án có đảm bảo bảo mật tương tự, nhưng chúng cũng được coi là Lớp-2). Tuy nhiên, đây không phải là chủ đề tôi muốn nói ở đây.
Điều tôi muốn thảo luận ở đây là các đặc tính của sidechain.
Ý nghĩa cơ bản của chuỗi bên là: một nhóm người xác minh gửi trạng thái mới nhất của chuỗi tới một (chuỗi chính) ) hợp đồng thông minh, một loại hệ thống được quảng bá theo cách này. Các điểm kiểm tra (trạng thái mới nhất) này có thể được sử dụng trong hợp đồng bắc cầu để hỗ trợ việc gửi và rút tiền của người dùng. Nói chung, cũng sẽ có một quy trình bầu chọn người lãnh đạo giữa nhóm người xác thực để quyết định ai sẽ tạo khối chuỗi bên tại một thời điểm nhất định; chẳng hạn như thuật toán chứng minh quyền lực PoA và thuật toán PoS.
(Ghi chú của người dịch: Từ định nghĩa này, có thể thấy tác giả đang thảo luận về các chuỗi bên không có cơ chế đảm bảo tính hợp lệ được thiết kế trên chuỗi chính; theo hiện tại của mọi người Đối với định nghĩa rộng về "chuỗi bên", tác giả thảo luận về một tập hợp con của chuỗi bên tổng quát; tuy nhiên, "chuỗi bên" ban đầu, tức là khái niệm hẹp về chuỗi bên, hoàn toàn giống với những gì tác giả đề xuất ở đây. Chỉ cần xem Mọi người đều sẵn sàng coi "chuỗi bên" là một danh từ riêng hoặc lấy nghĩa phái sinh của nó.)
Side chain nằm trong chuỗi này. Nó cũng đóng một vai trò quan trọng trong hệ sinh thái Ethereum. Chúng là giải pháp tạm thời về khả năng mở rộng và tính khả dụng cho đến khi các nhà nghiên cứu phát triển được giải pháp tốt hơn. Các sản phẩm như xDai cũng nêu bật nhu cầu về trải nghiệm người dùng tốt hơn và lan tỏa nhu cầu đó.
Tuy nhiên, sidechainskhông có tính bảo mật mà cộng đồng Ethereum rộng lớn hơn mong đợi . Điều này không có nghĩa là không bao giờ nên sử dụng sidechain. Nếu mọi người được thông tin đầy đủ nhưng sẵn sàng sử dụng nó thì đó là lựa chọn của họ và nó có thể đáng giá. Nhưng thật nguy hiểm nếu người dân thiếu hiểu biết. Bài viết này hy vọng sẽ cung cấp một số thông tin. Nếu mọi người đã biết đầy đủ về những đặc tính này thì tôi có viết một đặc tính khác cũng không có hại gì. Nhưng nếu bài viết này có thể giúp mọi người nhận ra những hiểu lầm của mình thì đó là một điều tốt.
Vậy sidechain thiếu những tính năng bảo mật nào? Hầu hết tất cả các sidechain không thể cung cấp:
1. Kiểm duyệt kháng cự
2. Tính cuối cùng
3. Đảm bảo quyền sở hữu quỹ
Nếu bạn muốn có tất cả các tính năng này thì bạn có thể phải tìm một giải pháp khác để thay thế sidechain. Tất nhiên, cũng có thể cải thiện hiệu suất của các giải pháp cụ thể ở các khía cạnh này trong khi vẫn duy trì kiến trúc cốt lõi của chuỗi bên.
Tôi nghĩ thảo luận cởi mở có lợi cho tất cả mọi người.
Rõ ràng, sidechain có khả năng chống kiểm duyệt Ít kháng cự hơn các blockchain (được thiết kế tốt). Nếu không thì sẽ không cần đến blockchain nữa. Nhưng ở đây chúng ta đào sâu hơn một chút.
Nếu một chuỗi bên có N trình xác thực và miễn là M trình xác thực đồng ý, thì mọi giao dịch đều có thể được xem xét giao dịch, thì chỉ ( N-M) những người xác thực cần đoàn kết để xem xét một khối. Điều này dẫn đến một vấn đề nan giải thú vị: làm cho việc xem xét các giao dịch trở nên khó khăn hơn sẽ khiến việc xem xét các khối trở nên dễ dàng hơn. Bởi vì các giao dịch kiểm duyệt và các khối kiểm duyệt đều là những điều xấu nên về cơ bản, các sidechain không thể đạt được khả năng chống kiểm duyệt mạnh mẽ
(Lưu ý của người dịch: Ở đây logic như sau. Nếu hệ thống không thể tạo khối miễn là M trình xác thực không đồng ý tạo khối, thì đương nhiên chỉ cần M trình xác thực để xem xét một giao dịch nhất định bằng cách từ chối tạo khối; tuy nhiên, điều này cũng có nghĩa là miễn là N-M người xác thực đồng ý, họ có thể tạo khối theo ý muốn, luôn tạo khối chứa nội dung khác nhưng không phải khối nhất định hoặc thậm chí biến mất chung).
Mối lo ngại này vẫn tồn tại khi sử dụng PoS, và thậm chí việc tính trọng lượng khối theo vốn chủ sở hữu sẽ khiến vấn đề trở nên tồi tệ hơn, bởi vì số lượng thực thể độc lập đạt đến ngưỡng có thể thấp hơn (ngay cả trong trường hợp tốt nhất, khi vốn chủ sở hữu được phân bổ hoàn toàn đồng đều, nó cũng giống như tình huống không có PoS và sẽ không khá hơn).
Giả sử rằng chỉ có người xác thực (N-M) Bạn có thể tạo một khối. Đồng thời giả sử rằng tất cả các trình xác thực khác cần có toàn bộ dữ liệu của trạng thái để có thể xác thực trạng thái mới. Sau đó, miễn là trình xác thực (N-M) độc hại, chúng có thể:
1. Tạo một khối mới
2. Từ chối chia sẻ dữ liệu khối với người xác thực trung thực
3. Về cơ bản, N-(N-M) = M người xác thực trung thực Khả năng xảy ra như thế nào rằng người xác nhận chuyển ra khỏi quy trình đồng thuận và do đó có toàn quyền kiểm soát toàn bộ hệ thống
Rõ ràng là cần có nhiều chi tiết cụ thể hơn để đưa ra kết luận, nhưng chúng ta có thể bắt đầu suy nghĩ như sau: Động cơ nào để người xác thực hợp lý chia sẻ dữ liệu với người khác? Trong các cơ chế chứng minh thẩm quyền truyền thống, việc không làm như vậy có thể gây tổn hại đến danh tiếng. Tuy nhiên, cơ chế danh tiếng thực sự khó hoạt động vì thực tế không có cách nào để chứng minh rằng dữ liệu đã bị giữ lại trừ khi người khác đưa tất cả dữ liệu vào chuỗi. Bạn nghĩ giải pháp này có vẻ giống như một bản tổng hợp lạc quan? Vâng, đúng vậy. Điều này cũng có nghĩa là các sidechain có bảo mật tốt hơn về cơ bản sẽ "thoái hóa" thành các chuỗi tổng hợp lạc quan.
Trong hầu hết các chương trình sidechain, người xác thực nhận được một số hình thức thanh toán cho công việc của họ. Đối với những người xác thực trung thực, phần thưởng được chia sẻ giữa N người xác thực. Đối với những người xác nhận không trung thực, số phần thưởng tương tự sẽ chỉ được chia sẻ giữa những người xác nhận N-(N-M)=M, vì vậy những người xác nhận có mọi động cơ để không chia sẻ trạng thái cập nhật với người khác (Lưu ý của người dịch: Ở đây tính toán bị nghi ngờ là không chính xác) .
Có một khó khăn cơ bản ở đây: rất khó xác định các cuộc tấn công vào tính khả dụng của dữ liệu. Đối với những người xác nhận trung thực, rất khó để biết liệu ai đó đã tiến hành một cuộc tấn công hay họ đang gặp sự cố đồng bộ hóa.
Giả sử rằng quá trình chuyển trạng thái là như như sau:
state1 => state2 =>state3
Mỗi chuyển đổi yêu cầu một số giao dịch có hiệu lực trên trạng thái hiện tại để thay đổi trạng thái. Tính hữu hạn có nghĩa là một khi giao dịch có hiệu lực thì nó không thể bị thu hồi.
Điểm kiểm tra của chuỗi bên được gửi tới chuỗi khối Ethereum sau khi có sự đồng thuận của những người xác minh chuỗi bên và dựa trên Ethereum Cơ chế đồng thuận của diễn đàn đã được củng cố. Do đó, một số người có thể nghĩ rằng tính hữu hạn của chuỗi bên tương đương với tính hữu hạn của Ethereum; để khôi phục các khối của chuỗi bên, bạn cũng cần khôi phục các khối Ethereum. Nhưng điều này hoàn toàn sai.
Bởi vì tính hữu hạn có nghĩa là một giao dịch không thể được khôi phục, điều đó không có nghĩa là trạng thái cũ không thể được thay thế bằng trạng thái mới. Miễn là người xác nhận (N-M) đồng ý, họ có thể thực hiện chuyển đổi trạng thái sau:
state1 => state2 => state1
(Sử dụng trạng thái 1 để thay thế trạng thái 3 tương đương với việc khôi phục trạng thái 2, đã được hoàn thiện theo mặc định, nhưng điều này không yêu cầu Ethernet chút nào. Chuỗi chính cũng đã được khôi phục.)
Giả sử trạng thái hiện tại1={Alice:1000,Bob:0}. Tức là Alice có 1.000 khối và Bob không có gì. Vậy Bob có thể làm gì nếu anh ta có ác ý và kiểm soát (hoặc có thể làm hỏng) phần lớn các trình xác thực POA?
Anh ta có thể thực hiện chuyển đổi trạng thái, state1 => state2 và state2={Alice:0,Bob:1000}. Tức là ăn trộm toàn bộ số tiền của Alice và đưa cho Bob.
Do đó, khả năng bảo vệ của chuỗi bên bị suy yếu đến mức không có người xác nhận (N-M) nào đồng ý thực thi trạng thái bất hợp pháp như vậy . Chuyển thành.
Điều này thì ai cũng biết rồi (ít nhất tôi tin là vậy), nhưng tôi nghĩ vẫn cần phải nhắc nhở mọi người. Sự tự tin của bạn đối với chuỗi bên chỉ có thể dựa trên niềm tin của bạn rằng hầu hết những người xác thực sẽ không làm điều đó. Hầu hết các phân tích bảo mật của sidechain nên tập trung vào điều này.
Vẫn có thể có những người mà bạn có thể tin tưởng ở một mức độ nào đó. Giống như nhiều người trong chúng ta tin tưởng (vì nhiều lý do) các nhà cung cấp dịch vụ tập trung. Đôi khi sự hy sinh là xứng đáng. Điều quan trọng là phải hiểu rằng đây là một sự đánh đổi.
Có một lập luận duy nhất là: "Chúng ta có thể sử dụng các quy trình quản trị để giải quyết tất cả các vấn đề nêu trên". Cách tiếp cận này có sai sót vì toàn bộ hệ thống thoái hóa thành một quy trình quản trị. Một lý do khiến tôi đặc biệt lo lắng về tuyên bố này là nó có nghĩa là rằng các thuộc tính khác của sidechains là rạp hát (khi nào và vì lý do gì chúng ta cần những thuộc tính đó?). Ví dụ: nếu quy trình quản trị là phương tiện tối ưu để ngăn chặn các vấn đề trên, thì PoS có nghĩa là gì? , PoA, không có vấn đề gì trong số đó . Quy trình quản trị của hệ thống là PoA thực sự. Hơn nữa, rõ ràng là cuộc tấn công tương tự có thể được thực hiện vào quy trình quản trị của hệ thống.
Ngoài một số thuộc tính bổ sung của chuỗi bên, chẳng hạn như thời gian chặn nhanh hơn (và do đó trải nghiệm người dùng tốt hơn), thực sự có một số trường hợp mà các tính năng của chuỗi bên có thể chiếu sáng.
Ví dụ:
1. Bạn chỉ muốn N-M Trình xác thực có thể thực hiện bất kỳ chuyển đổi trạng thái nào. Một ví dụ về điều này là một ứng dụng doanh nghiệp muốn có các điều khiển nâng cao.
2. Trình xác nhận M=0 và N có thể thực hiện bất kỳ chuyển đổi trạng thái nào. Ví dụ: một trò chơi có bốn bên. Nhưng vấn đề là một người xác nhận có thể tắt chuỗi.
Trước đây, chuỗi bên được duy trì một giải pháp duy nhất có sẵn mà không có khả năng kết hợp và tương tác Ethereum theo chiều ngang. Bây giờ, khi các giải pháp mở rộng Lớp 2 khác đã hoàn thiện, đã đến lúc xem xét cách các chuỗi bên có thể tích hợp tốt hơn với các giải pháp khác.
Có một số đặc tính rất phù hợp để tích hợp chuỗi bên:
1. Đạt được sự di chuyển miễn phí trên quy mô lớn để đảm bảo rằng người dùng sẽ không bị mắc kẹt và không thể thoát ra do phải trả phí.
2. Thay thế cơ chế bầu chọn lãnh đạo bằng các giải pháp khác có khả năng chống kiểm duyệt tốt hơn (PoS có thể là hướng đi sai lầm. Xem bài đăng này)
p>
3. Cần có một điều phối viên để xử lý sự khác biệt giữa hai trạng thái trên chuỗi.
4. Thêm bằng chứng lỗi để ngăn chặn việc chuyển đổi trạng thái bất hợp pháp.
Khi công nghệ tổng hợp lạc quan và VM lạc quan trưởng thành, phạm vi đánh đổi của dự án cũng sẽ thay đổi, vì vậy bây giờ là lúc để suy nghĩ lại về sidechain Một thời điểm tốt cho các thuộc tính và sự đánh đổi liên quan của chúng.
Liên kết gốc a>
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