Tác giả gốc: V God
Bản dịch gốc và hiệu đính: Min Min & amp; A Jian
Dành cho nhiều ứng dụng blockchain Nói chung , sự không tin cậy là một trong những tính năng quan trọng nhất. Cái gọi là không tin cậy có nghĩa là hoạt động bình thường của ứng dụng không giả định trước rằng những người tham gia cụ thể sẽ hành động theo một cách cụ thể, ngay cả khi họ sẽ thực hiện những hành động bất ngờ do lợi ích trong tương lai (điều đó không thể làm cho điều kiện làm việc của ứng dụng đi chệch khỏi kỳ vọng). Các ứng dụng chuỗi khối không bao giờ có thể hoàn toàn không có sự tin cậy, nhưng một số ứng dụng lại không đáng tin cậy hơn nhiều so với các ứng dụng khác. Nếu muốn thực hiện những bước đi vững chắc nhằm giảm thiểu lòng tin, trước tiên chúng ta phải xác định mức độ tin cậy.
Trước hết, định nghĩa cá nhân của tôi về niềm tin rất đơn giản: niềm tin là sự giả định về hành vi của người khác. Trước khi dịch bệnh bùng phát, bạn không cố tình giữ khoảng cách hai mét với người khác vì sợ họ bất ngờ đâm mình. Đây là một loại tin tưởng: một mặt là tin tưởng rằng người khác sẽ không phát điên, mặt khác đó là tin tưởng vào sức mạnh ràng buộc của hệ thống pháp luật đối với các hành vi vi phạm pháp luật, tội phạm. Khi bạn chạy một đoạn mã do người khác viết, bạn tin tưởng rằng họ trung thực (từ góc độ tính cách hoặc từ góc độ lợi ích tài chính) và ít nhất đã có đủ người kiểm tra mã để biết bên trong có gì. Không tự trồng lương thực cũng là một hình thức tin cậy: tin tưởng rằng sẽ có đủ người sản xuất lương thực vì mục đích kiếm tiền. Có nhiều nhóm khác nhau mà bạn có thể tin tưởng và cũng có nhiều loại hình tin cậy.
Để phân tích các giao thức blockchain, tôi sẽ chia niềm tin thành bốn khía cạnh:
Có bao nhiêu mọi người có cần cư xử như bạn mong đợi không?
Có tổng cộng bao nhiêu người tham gia?
Điều gì thúc đẩy những người này cư xử như bạn mong đợi? Họ có cần phải là người vị tha hay lính đánh thuê? Có cần thiết phải tránh sự phối hợp giữa chúng không?
Nếu những giả định này bị phá vỡ thì hệ thống sẽ bị thiệt hại bao nhiêu?
Bây giờ, chúng ta hãy tập trung vào hai câu hỏi đầu tiên. Qua hình ảnh bên dưới chúng ta có thể thấy trực quan hơn:

Màu xanh đậm hơn có nghĩa là khỏe mạnh hơn. Chúng ta hãy phân tích chi tiết các tình huống sau:
1: 1: Chỉ có một người tham gia trong toàn bộ hệ thống. Nếu tác nhân này hoạt động như bạn mong đợi thì hệ thống sẽ hoạt động bình thường. Đây là mô hình “tập trung” truyền thống và cũng là mô hình chúng tôi muốn vượt qua.
N: N: Thế giới "Dystopian". Tất cả những người tham gia trong hệ thống phải hành xử như bạn mong đợi để hệ thống hoạt động bình thường. Nếu bất kỳ người tham gia nào thất bại, sẽ không có kế hoạch dự phòng.
N/2: N: Đây là cách blockchain hoạt động - nếu phần lớn thợ đào (hoặc người xác thực PoS) trung thực thì blockchain có thể hoạt động bình thường. Lưu ý rằng N càng lớn thì N/2 càng có giá trị. Một mạng lưới có các công cụ khai thác/trình xác thực được phân phối rộng rãi sẽ thú vị hơn nhiều so với một chuỗi khối chỉ được kiểm soát bởi một số ít công cụ khai thác/trình xác thực. Dù vậy, chúng tôi vẫn muốn đạt được mức độ bảo mật cao hơn vì vẫn tồn tại vấn đề tấn công 51%.
1: N: Chỉ cần một người tham gia trong số nhiều người tham gia cư xử như bạn mong đợi thì toàn bộ hệ thống có thể chạy bình thường. Bất kỳ hệ thống nào dựa trên bằng chứng gian lận đều thuộc loại này. Điều này cũng đúng với cài đặt tin cậy, mặc dù N thường nhỏ hơn trong cài đặt tin cậy. Cần lưu ý rằng N càng lớn thì càng tốt!
Rất ít: N: Trong số rất nhiều người tham gia, chỉ cần một số lượng nhỏ người tham gia đạt đến một con số cố định hoạt động như bạn mong đợi thì toàn bộ hệ thống có thể hoạt động bình thường chạy. Kiểm tra tính sẵn có của dữ liệu thuộc loại này.
0 : N: Hệ thống có thể hoạt động bình thường mà không cần phụ thuộc vào tác nhân bên ngoài. Tự xác minh tính hợp lệ của khối thuộc loại này.
Mặc dù các mô hình khác "0 : N" đều dựa trên "niềm tin", nhưng có sự khác biệt rất lớn giữa các mô hình này ! Có sự khác biệt rất lớn giữa việc tin tưởng rằng một người (tổ chức) cụ thể sẽ hành xử như bạn mong đợi và việc tin tưởng rằng bất kỳ người nào cũng sẽ hành xử như bạn mong đợi. So với "N/2 : N" và "1 : 1", "1 : N" và "0 : N" gần hơn. Một số người có thể cho rằng mô hình "1 : N" giống với mô hình "1 : 1" vì cả hai hệ thống đều dựa vào một người tham gia, nhưng thực tế chúng khá khác nhau: trong hệ thống "1 : N", nếu người tham gia này biến mất hoặc làm điều ác, chỉ cần đổi sang người tham gia khác, nếu là hệ thống “1:1” thì bạn sẽ bất lực.
Đặc biệt, điều quan trọng cần lưu ý là ngay cả tính chính xác của phần mềm bạn đang chạy thường phụ thuộc vào mô hình tin cậy "vài: N" để đảm bảo Khi một lỗi xảy ra trong mã phần mềm, sẽ có người tìm ra kịp thời. Một khi bạn hiểu được thực tế này, bạn sẽ nhận ra rằng việc cố gắng chuyển từ mô hình "1:N" sang mô hình "0:N" cũng giống như việc lắp đặt các cửa an ninh cho một ngôi nhà có cửa sổ đang mở.
Một điểm khác biệt quan trọng nữa là mức độ thiệt hại đối với hệ thống nếu giả định về niềm tin của bạn bị phá vỡ? Trên blockchain, hai loại lỗi phổ biến nhất là lỗi hoạt động và lỗi an toàn. Lỗi hoạt động có nghĩa là bạn tạm thời không thể thực hiện các thao tác (ví dụ: rút tiền, đóng gói giao dịch thành khối, đọc dữ liệu trên chuỗi). Lỗi bảo mật là tình huống xảy ra mà hệ thống nhằm mục đích ngăn chặn (ví dụ: một khối không hợp lệ được thêm vào chuỗi khối).
Sau đây liệt kê các mô hình tin cậy được sử dụng bởi một số giao thức blockchain Lớp 2. Tôi sử dụng "N nhỏ" để chỉ nhóm người tham gia trong chính hệ thống lớp 2 và "N lớn" để chỉ những người tham gia trong chuỗi khối cơ bản. Giả thuyết của tôi là cộng đồng Lớp 2 sẽ luôn nhỏ hơn cộng đồng blockchain cơ bản của nó. Ngoài ra, cái mà tôi gọi là "sự thất bại về khả năng tồn tại" đặc biệt đề cập đến tình trạng mã thông báo bị kẹt trong một thời gian dài. Không thể sử dụng hệ thống nhưng việc rút tiền ngay lập tức không được coi là lỗi thực sự.
Lớp kênh (bao gồm các kênh trạng thái, Lightning Network, v.v.): Sử dụng mô hình tin cậy "1:1" để đảm bảo tính tồn tại (đối tác của bạn có thể tạm thời đóng băng kênh của bạn tiền, nhưng bạn có thể dàn trải số tiền trên nhiều kênh để giảm thiểu tác động tiêu cực) và mô hình "N/2: big N" để đảm bảo an ninh (kẻ tấn công có thể đánh cắp tiền của bạn thông qua cuộc tấn công 51%).
Plasma (sử dụng nhà điều hành tập trung): Sử dụng mô hình "1:1" để đảm bảo hoạt động (nhà điều hành có thể tạm thời đóng băng tiền của bạn), "N/ 2 : big N" để đảm bảo an ninh (kẻ tấn công có thể đánh cắp tiền của bạn thông qua cuộc tấn công 51%).
Plasma (sử dụng toán tử bán tập trung, chẳng hạn như DPOS): Sử dụng mô hình "N/2: N nhỏ" để đảm bảo hoạt động, "N/2: mô hình big N" để đảm bảo an ninh.
Optimistic Rollup: Sử dụng mô hình "1 : 1" hoặc "N/2 : N nhỏ" để đảm bảo tính sống động (tùy thuộc vào loại toán tử), "N /2: mô hình N lớn để đảm bảo an ninh.
ZK Rollup: Sử dụng mô hình "1: N nhỏ" để đảm bảo tính tồn tại (nếu nhà điều hành không đóng gói giao dịch của bạn, bạn có thể lấy lại tiền của mình, nếu nhà điều hành không đóng gói giao dịch rút tiền của bạn ngay lập tức, nó sẽ không thể đóng gói thêm giao dịch. Bạn có thể tự mình rút tiền với sự trợ giúp của bất kỳ nút đầy đủ nào trong hệ thống Rollup.); không có nguy cơ lỗi bảo mật.
ZK Rollup (tăng cường rút ánh sáng): Không có nguy cơ xảy ra lỗi hoạt động hoặc lỗi bảo mật.
Cuối cùng là vấn đề về động lực: để đạt được kết quả mong muốn, những gì bạn tin tưởng Những người tham gia có cần phải rất vị tha, vị tha vừa phải hoặc duy lý không? Theo mặc định, "bằng chứng gian lận" yêu cầu người tham gia phải có lòng vị tha, nhưng mức độ phụ thuộc vào độ phức tạp của phép tính (xem "Tình huống khó xử của người xác minh" để biết chi tiết) và có nhiều cách để sửa đổi các quy tắc để chúng trở nên hợp lý.
Nếu chúng ta thêm cách thanh toán phí dịch vụ thì hành vi giúp người khác rút tiền từ ZK Rollup sẽ hợp lý nên không cần lo lắng không rút được thoát khỏi Bản tổng hợp. Đồng thời, nếu toàn bộ cộng đồng đồng ý không chấp nhận các chuỗi khối được tạo thông qua các cuộc tấn công 51% (lịch sử giao dịch quay trở lại thời gian dài trước đây hoặc kiểm duyệt các khối cách đây đã lâu), rủi ro đối với các hệ thống khác có thể được giảm thiểu.
Kết luận: Nếu bạn nghe ai đó nói rằng một hệ thống "dựa vào sự tin cậy", hãy nhớ hỏi! Hệ thống này là mô hình "1 : 1", mô hình "1 : N" hay mô hình "N/2 : N"? Hệ thống này có yêu cầu người tham gia phải có lòng vị tha hay lý trí không? Nếu đó là lòng vị tha thì người tham gia phải trả bao nhiêu tiền? Nếu giả định bị phá vỡ, bạn phải đợi bao lâu để lấy lại được tiền? một vài giờ? Bao nhiêu ngày? Hoặc nó có thể không bao giờ được lấy lại? Chỉ sau khi bạn hiểu những vấn đề này, bạn mới có thể quyết định có nên sử dụng hệ thống này hay không.
Liên kết 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