BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Bài phát biểu mới nhất của Vitalik: Tấn công chồng chéo 51% trở thành mối đe dọa chết người đối với chuỗi khối PoW, PoS là lối thoát duy nhất

巴比特
特邀专栏作者
Bài viết này có khoảng 7048 từ, đọc toàn bộ bài viết mất khoảng 11 phút
Tấn công 51% có thể làm gì?
Tóm tắt AI
Tấn công 51% có thể làm gì?

Lưu ý của biên tập viên: Bài viết này là của Babbitt, được dịch bởi Free and Easy, tác giả là Vitalik Buterin (V God), được Odaily sao chép với sự ủy quyền.

Từ ngày 20 đến ngày 22 tháng 2 theo giờ Bắc Kinh, Hội nghị Chuỗi khối Stanford năm 2020 do Findora tổ chức đã được tổ chức tại Đại học Stanford. Hội nghị này tập trung vào các phương pháp quản lý rủi ro và kỹ thuật bảo mật trong hệ thống chuỗi khối, đồng thời thảo luận về ứng dụng của công nghệ mã hóa, giao thức phi tập trung, chính thức các phương pháp và phân tích thực nghiệm, v.v., để cải thiện tính bảo mật của hệ thống chuỗi khối.

Mô tả hình ảnh

(Ảnh: Vitalik đã có bài phát biểu tại Hội nghị Chuỗi khối Stanford 2020)

Sau đây là nội dung bài phát biểu của Vitalik:

Tấn công 51% có thể làm gì? Có nhiều loại tấn công 51% khác nhau và chúng có thể thực hiện các hoạt động khác nhau trên các ứng dụng khác nhau và tạo ra các kết quả cũng như hậu quả khác nhau. Một kiểu tấn công 51% mà bạn có thể quen thuộc là lùi một khối. Bạn thực hiện một giao dịch, bạn gửi tiền đến một sàn giao dịch, bạn đổi những đồng tiền đó lấy một đồng tiền khác, bạn rút những đồng tiền đó và bạn thực hiện một cuộc tấn công 51%, hoàn nguyên giao dịch gửi tiền của bạn…

Đây là loại tấn công 51% chính mà chúng tôi đã thảo luận trong 10 năm qua và là loại mà chúng tôi đã xem xét nhiều nhất.

1. Các kiểu tấn công 51% khác

1.1 Tấn công đánh giá giao dịch Trên thực tế, đánh giá giao dịch là một cuộc tấn công 51% khác! Do các giao thức lớp 2 và DeFi đều là những xu hướng lớn gần đây, nên việc kiểm duyệt giao dịch trở nên đặc biệt nguy hiểm. Trong môi trường của nhiều giao thức lớp 2 (bao gồm plasma, kênh, kênh trạng thái chung, mạng sét, Bản tổng hợp lạc quan, điện toán tương tác, TruBit, v.v.), xem xét có nghĩa là hành vi trộm cắp!

Vì vậy, nếu bạn có thể kiểm tra các giao dịch thách thức, bạn có thể ăn cắp tiền từ mọi người. Điều này không áp dụng cho zk Rollup, nhưng cuộc tấn công này áp dụng cho phần lớn các giao thức mà mọi người đang xem xét ngay bây giờ. Kiểm duyệt đặc biệt nguy hiểm trong bối cảnh DeFi vì nó là một công cụ mà qua đó bạn có thể thao túng thị trường và sau đó nắm bắt giá trị.

Nếu bạn có thể kiểm tra từng giao dịch chuỗi khối ethereum duy nhất đã chạm vào Uniswap, sau đó đợi một ngày, giá ether có thể biến động một chút và tôi sẽ có thể trích xuất rất nhiều giá trị chênh lệch giá từ cuộc tấn công này.

Có thể nói rằng kiểm duyệt là nguy hiểm, và trong các giao thức DeFi và giao thức lớp 2, kiểm duyệt giao dịch cũng có thể được coi là tương đương với hành vi trộm cắp.

1,2 Tấn công ứng dụng khách nhẹ Rất nhiều người đang chạy ứng dụng khách nhẹ và nếu bạn đang chạy ứng dụng khách nhẹ, cuộc tấn công 51% có thể khiến những ứng dụng khách nhẹ đó chấp nhận chuỗi chứa các khối giao dịch hoàn toàn không hợp lệ. Chữ ký giả, giao dịch không đúng định dạng, chữ ký trái phép (ăn cắp tiền từ một tài khoản và chuyển chúng sang tài khoản khác), họ có thể nhận được các khối có thể sử dụng được mạng chấp nhận. 1.3 Các cuộc tấn công vào tính không sẵn có của dữ liệu Ai ở đây đã quen thuộc với các vấn đề về tính sẵn sàng của dữ liệu? Vâng, không phải tất cả mọi người, nhưng rất nhiều người đã nhận nó. Ý tưởng ở đây là bạn có thể tạo một chuỗi nơi bạn xuất bản tiêu đề khối. Các máy khách nhẹ có thể nhìn thấy chuỗi, nhưng không thể xuất bản một số hoặc tất cả dữ liệu trong các phần thân khối. Điều này thật tệ vì nếu dữ liệu không được công bố thì dữ liệu đó có thể đúng hoặc có thể không và không có cách nào để tạo ra bằng chứng cho người khác rằng dữ liệu đó có thể đúng và bạn từ chối những người có thể muốn tạo Thông tin giao dịch trong tương lai. Điều đó nói rằng, các khối không sử dụng được cũng nguy hiểm. 1, 4 Các cuộc tấn công làm nản lòng Các cuộc tấn công làm nản lòng là một thuật ngữ ám chỉ việc phá rối một cách ác ý những người khác, khiến họ mất thu nhập và khiến họ đồng lõa với bạn hoặc buộc phải nghỉ việc. Khai thác ích kỷ với hơn 1/3 sức mạnh tính toán là một ví dụ về điều này. Điều đó nói rằng, một cuộc tấn công 51% cũng là một cuộc tấn công can ngăn rất mạnh mẽ. 1.5 Liên quan đến việc sửa đổi chuỗi khối không thể giả mạo, các cuộc tấn công 51% rất mạnh và kiểu tấn công này là mối đe dọa đối với việc sửa đổi không thể giả mạo của chuỗi khối.

Ai ghi nhơ điêu nay? Một sàn giao dịch đã bị đánh cắp rất nhiều tiền và họ đang xem xét thúc đẩy việc đảo ngược chuỗi khối Bitcoin trong một ngày để lấy lại số tiền đó. Nếu điều gì đó như thế này có thể xảy ra, thì những thứ bên trong chuỗi khối có thể bị đảo ngược và chuỗi khối mất đi các thuộc tính chính của nó để trở thành một chuỗi khối, điều này thật đáng sợ.

Ngoài ra, các cuộc tấn công 51% không phải là dân chủ, chúng là chuyên quyền, vì vậy với tư cách là một phương pháp dân chủ, điều đó không tốt cho chúng.

2. Các cuộc tấn công 51% đã xảy ra trên thực tế và kịch bản tấn công 51% tồi tệ nhất

Trên thực tế, một cuộc tấn công 51% có thể được thực hiện Đây là một bức ảnh từ Hội nghị mở rộng quy mô Bitcoin ở Hồng Kông năm 2015. Trong bức ảnh này, một số người kiểm soát 90% sức mạnh tính toán của Bitcoin đang ngồi cùng nhau, tạo tư thế "Tôi có quyền lực", haha.

Các cuộc tấn công 51% có thể được thực hiện. Ví dụ: ETC, Bitcoin Gold, v.v. đều đã gặp phải các cuộc tấn công 51%. Tôi chắc chắn rằng tôi đã bỏ lỡ 1-2 cuộc tấn công.

Tấn công trại sinh sản thực sự là cuộc tấn công 51% mà chúng ta đã thấy cho đến nay, không phải là tồi tệ nhất. Một cuộc tấn công vào trại sinh sản là kịch bản ác mộng nhất đối với kiểu tấn công này. Về cơ bản, bạn cần có đủ phần cứng để tấn công một chuỗi, đợi chuỗi đó phục hồi rồi tấn công lại vì bạn vẫn có phần cứng. Cuối cùng, cộng đồng sẽ chịu đủ sự tra tấn này và họ sẽ thay thế thuật toán bằng chứng công việc (PoW), vì họ không có cách nào để xây dựng ASIC trong một khoảng thời gian ngắn, vì vậy bạn chỉ cần thuê rất nhiều sức mạnh tính toán của CPU và GPU để tiếp tục cuộc tấn công, và sau đó, Chuỗi sẽ chết trừ khi họ chuyển sang Proof of Stake (PoS) hoặc trở thành một thứ gì đó hoàn toàn tập trung.

3. Thuật toán bằng chứng cổ phần (PoS) có thể phá vỡ chu kỳ này không?

Đây là một bài đăng trên blog mà tôi đã viết vào năm 2016, trong đó tôi đã cố gắng mô tả triết lý đằng sau Proof of Stake (PoS) là gì và tại sao nó là thứ mà chúng ta nên mong đợi tồn tại và tại sao nó lại là một thứ có ý nghĩa. Có một sự bất đối xứng trong Proof of Stake (PoS), khác với Proof of Work (PoW), nơi bạn chỉ có phần thưởng, vì vậy bạn bị trừng phạt vì tham gia cuộc tấn công hoặc không tham gia cuộc tấn công, chỉ có phần thưởng khối. . Trong hệ thống bằng chứng cổ phần (PoS), cuộc tấn công của bạn có thể bị phát hiện và khoản tiền gửi bạn bị mất lớn hơn nhiều so với số tiền cam kết mà bạn có thể bị phạt.

Chúng được đưa vào Casper CBC và một loạt các thuật toán bằng chứng cổ phần (PoS) dựa trên dấu gạch chéo và tiền gửi bảo đảm khác. Về lý thuyết, mục tiêu của thiết kế này là làm cho các cuộc tấn công 51% trở nên cực kỳ tốn kém. Về cơ bản, muốn tấn công một chuỗi PoS, bạn cần mua một đống coin, bạn cần kiểm soát hơn 50% số coin trong hệ thống, sau đó khi bị bắt quả tang tấn công, bạn sẽ bị phạt, nếu bạn muốn làm lại Để khởi động một cuộc tấn công, bạn phải mua thêm tiền, bởi vì bạn tiếp tục mua thì giá tiền tăng cao cuối cùng sẽ khiến bạn phá sản, vì vậy từ góc độ này, thay vì để những kẻ tấn công nhắm vào PoW, chúng tôi mục tiêu là làm cho Chuỗi chuyển sang PoS.

Còn các kiểu tấn công khác thì sao? Bây giờ hãy thảo luận về câu hỏi đầu tiên, PoS giải quyết các loại tấn công khác như thế nào? Cho đến nay, chúng tôi đã tập trung vào sự đảo ngược của tài chính. Điều này khá phổ biến trong lý thuyết đồng thuận chịu lỗi của Byzantine. Ý tưởng cơ bản là nếu 2/3 số bên đứng về một phía và 1/3 còn lại đứng về phía bên kia... 1/3 số người xác thực phải gửi hai thông báo mâu thuẫn nhau, bạn có thể phát hiện và xử phạt họ. Tuy nhiên, đó là về tấn công ngược lại.

Còn các kiểu tấn công khác thì sao? Dữ liệu không hợp lệ, dữ liệu không có sẵn, kiểm duyệt, phá hoại?

Hãy giải quyết từng chút một, chúng tôi sẽ không quan tâm đến tính hợp lệ của dữ liệu, chúng tôi sẽ lưu ý rằng nếu bạn đảm bảo về tính khả dụng của dữ liệu và đảm bảo rằng nếu một khối là một phần của chuỗi khối, thì tất cả Tất cả dữ liệu có thể được tải xuống bởi một nút trong mạng. Nếu bạn có khả năng chống kiểm duyệt, bạn xuất bản một khối, sau đó khối đó sẽ được đưa vào và từ hai điều đó, bạn có được tính hợp lệ. Lý do là điện toán tương tác, Rollup và các giao thức hiện có này. Về cơ bản, với Rollup, bạn xuất bản tất cả dữ liệu trên chuỗi và sau đó chuỗi đảm bảo tính khả dụng của dữ liệu đó, bạn có một số bằng chứng gian lận và đảm bảo rằng nếu một số tính toán không hợp lệ, thì bạn có thể đưa ra bằng chứng gian lận không thể kiểm duyệt và nó sẽ được xử lý trên chuỗi . Vì vậy, tính hợp lệ của dữ liệu không quá quan trọng, bởi vì lớp đầu tiên (lớp 1) và lớp thứ hai (lớp 2) bằng chứng gian lận có thể giải quyết vấn đề này.

Nếu bạn không thể kiểm duyệt các khối của người khác, thì bạn không thể ngăn họ được đưa vào chuỗi khối. Vì vậy, Đau buồn không phải là vấn đề lớn miễn là các hình phạt đối với các biện pháp khuyến khích được kiểm soát.

Chúng ta có thể rút gọn thành hai điều: tấn công tính khả dụng của dữ liệu và tấn công kiểm duyệt.

giấygiấy, nơi tôi mô tả một sơ đồ về cơ bản cho phép các máy khách blockchain xác minh tính khả dụng của dữ liệu blockchain mà không cần thực sự tải xuống tất cả dữ liệu.

Một phiên bản rơm đơn giản của sơ đồ này là: cách ngu ngốc nhất để kiểm tra xem một khối có sẵn hay không là tải xuống toàn bộ. Nhưng ở đây, chúng tôi đang giả định một chuỗi khối có khả năng mở rộng, có thể được chia nhỏ, trong đó hơn 2 MB/giây dữ liệu sẽ được tải lên chuỗi và khách hàng sẽ không thể tải xuống mọi thứ. Đối với một khách hàng muốn kiểm tra tính khả dụng của dữ liệu, tất cả những gì chúng tôi phải làm là kiểm tra một mẫu ngẫu nhiên. Nó sẽ chọn ngẫu nhiên một số đoạn dữ liệu, chẳng hạn như 30 đoạn, 40 đoạn, 80 đoạn... Nó sẽ chọn ngẫu nhiên các vị trí và yêu cầu bằng chứng merkle cho các vị trí này, miễn là bạn nhận được phản hồi hợp lệ từ tất cả các vị trí bạn chấp nhận, sau đó Sau đó, bạn chấp nhận khối hợp lệ.

Nếu bạn chấp nhận một khối bằng sơ đồ này, thì rất có thể bạn biết rằng khối đó là hợp lệ. Nếu có ít hơn 50% dữ liệu, chẳng hạn như ở đây có tất cả dữ liệu ở bên trái, ở đây có tất cả dữ liệu ở bên phải, thì ít nhất một trong các bước kiểm tra rất có thể sẽ không thành công.

Với kế hoạch này, kẻ tấn công có thể giả mạo một số khách hàng cụ thể. Tuy nhiên, nếu kẻ tấn công lừa đủ khách hàng để họ tải xuống dữ liệu lá mầm bằng một nửa tổng số dữ liệu, thì những khách hàng đó có thể tiếp tục xây dựng lại dữ liệu từ đó.

Điều này không chứng minh rằng khối đã có đầy đủ, nó có thể thiếu một phần, nhưng nó chứng tỏ rằng ít nhất một nửa số khối đã có sẵn. Sẽ thật tuyệt nếu chúng tôi có một số kỹ thuật để khôi phục toàn bộ khối dữ liệu từ 50% dữ liệu.

Xóa mã hóa Đây là nơi mã hóa xóa xuất hiện, vì vậy chúng tôi sẽ lấy dữ liệu, giả sử đó là đánh giá đa thức, chúng tôi sẽ đánh giá cùng một đa thức ở nhiều điểm hơn, bây giờ, bất kỳ 50% dữ liệu nào cũng đủ để phục hồi tất cả dữ liệu. Với sơ đồ này, bạn có thể xác minh rằng khối này hữu ích và khối đó có sẵn ở kích thước có khả năng rất lớn trong khi tải xuống 20-200 KB dữ liệu theo cách cá nhân.

Đây là phần đầu tiên. Điều này bao gồm các cuộc tấn công về tính khả dụng của dữ liệu, là một phần của giải pháp phân đoạn Ethereum 2.0, giải pháp này ít nhất cho phép chúng tôi cung cấp cho các chuỗi khối phân đoạn có cùng sự đảm bảo về tính khả dụng.

Chứng minh tính đúng đắn Vậy làm thế nào để chứng minh một gốc là gốc của mã xóa này? Làm cách nào để bạn chứng minh rằng bạn không bị kẹt dữ liệu rác trong đó? Bạn có thể sử dụng bằng chứng gian lận, chẳng hạn như bản 2D này và nếu bạn viết mã sai, thì ai đó có thể tạo bằng chứng gian lận ngắn và bạn có thể phát nó lên mạng và mạng có thể từ chối chặn. Sơ đồ 2D này đã được nghiên cứu vào năm 2017. Gần đây, có điều gì đó về mã hóa cây merkle trong đó bạn mã hóa từng cấp độ trong cây merkle, có các thuộc tính đẹp. Cũng có những cách tiếp cận không dựa vào bằng chứng gian lận, chẳng hạn như sử dụng STARK hoặc SNARK để chứng minh rằng tính toán của gốc merkle là chính xác, trong khi một khả năng khác liên quan đến các cam kết đa thức - bạn sẽ nhận được dữ liệu của mình và bạn sẽ diễn giải đó là một đánh giá đa thức, bạn sẽ tính toán đa thức, sau đó bạn sẽ thực hiện một loạt các phép mở có cam kết đa thức tại một loạt điểm và kiểm tra tính khả dụng của dữ liệu của bạn sẽ yêu cầu 80 vị trí thay vì 80 phép mở, hoặc nếu Bạn sử dụng đại số thông minh để có được một số loại mở nhiều lần, và bạn có thể đạt được hiệu quả cao hơn nữa.

Lợi ích của các kế hoạch này là chúng không dựa vào bằng chứng gian lận, vì vậy các kế hoạch xác thực dữ liệu khối đã được xuất bản và chúng không còn có bất kỳ giả định độ trễ tích hợp nào nữa.

Sharding: Các chuỗi khối được chia nhỏ hiện tồn tại ngoài các ủy ban thường dựa vào các ủy ban, ý tưởng là bạn có một loạt các nút, bạn chọn ngẫu nhiên một số nút và bạn cần hầu hết hoặc hầu hết chúng nằm trong một khu vực nhất định. Một khối được ký như vậy rằng mạng chấp nhận khối là hợp lệ.

Vấn đề với bất kỳ loại kế hoạch dựa trên ủy ban nào là nó sẽ phải chịu sự giám sát của những kẻ xấu khi vượt quá một ngưỡng nhất định. Nếu chúng ta nói về khả năng chống lại các cuộc tấn công 51%, thì chúng ta đang nói về một hệ thống mà ngay cả khi đa số bắt đầu cuộc tấn công, thì thiểu số vẫn có thể tiếp tục hệ điều hành.

Sơ đồ bảo vệ với ngưỡng cố định không thực sự giúp ích cho bạn. Vì vậy, giải pháp ở đây là giao thức cần dựa hoàn toàn vào một tập hợp các sơ đồ kiểm tra tính khả dụng của dữ liệu hơn là vào các ủy ban.

Về vấn đề kiểm duyệt, ai ở đây, ai muốn ngừng kiểm duyệt? Được rồi, có rất nhiều người, vì vậy, hiện trạng không tốt lắm. Đây là một bài viết của nrryuya, người đã thực hiện một số công việc xác minh chính thức ethereum, ông ấy đã viết một bài báo nói rằng trong thiết kế hiện tại của ethereum 2.0, có một số chiến lược để hầu hết mọi người xem xét các khối, Việc xem xét kỹ lưỡng như vậy không thể phân biệt được với một khối chậm trễ, gây khó khăn cho việc xác định ai chịu trách nhiệm.

Cuộc tấn công ở đây khá khó chịu, kẻ tấn công hack một số trình xác thực và khiến họ bỏ phiếu cho một khối khác, sử dụng các trình xác thực khác để bỏ phiếu cho khối của chính họ, khối thực sự chứa nội dung cần kiểm duyệt... Nhưng bản thân họ không có đủ phiếu bầu để được hơn 51%, vì vậy những gì họ đang cố gắng kiểm duyệt sẽ không bao giờ thực sự được đưa vào. Đây là một hiệu ứng gián tiếp nhiều lớp. Trong Ethereum 1.0 và Ethereum 2.0, một bên độc hại thực hiện cuộc tấn công 51% có thể kiểm duyệt và khi kiểm duyệt đủ mạnh, rất khó để xác định liệu có cần phải làm gì đó hay không.

Bao gồm các khối chú Đây là điều cơ bản nhất chúng ta có thể làm cho đến nay: bao gồm các khối chú. Ý tưởng ở đây là trong Ethereum 1.0, các khối không phải là một phần của chuỗi khối có thể được đưa vào sau, trong khi sơ đồ mới là chúng tôi thêm các quy tắc giao thức cho biết các giao dịch trong các khối chú cũng được xử lý.

Vì vậy, bạn có một chuỗi khối bao gồm cả các khối chú.

Ý tưởng: Trình phát hiện kịp thời (TD) Hãy tưởng tượng nếu ít nhất chúng ta có thể có các máy khách trực tuyến, các máy khách trên mạng có thể tải xuống nội dung và giao tiếp với các máy khách khác theo định kỳ. Hãy để họ kiểm tra xem một khối có đến đúng giờ không.

Nếu họ thấy rằng một khối đến đúng giờ và họ thấy rằng khối đó đã không được chuỗi chấp nhận trong một thời gian dài, thì khối đó sẽ tự động bị loại. Nếu một khối không đến đúng lúc, thì bạn có thể sử dụng nó cho một cuộc tấn công khôi phục 51%.

Ý tưởng là máy khách sẽ phát hiện cục bộ xem một khối có đến khi nó được yêu cầu hay không và sử dụng khối đó làm thông tin để xác định chuỗi sẽ tuân theo.

Không phải mọi nút đều có thể tuân theo giao thức, bởi vì các nút ngoại tuyến cũng sẽ tồn tại. Trừ khi một cuộc tấn công 51% đang diễn ra, nếu không có cuộc tấn công nào xảy ra thì chuỗi khối chiến thắng sẽ là một chuỗi tốt, nếu một cuộc tấn công đang xảy ra và bạn ngoại tuyến thì bạn phải kiểm tra lớp xã hội để xem chuyện gì đã xảy ra, nhưng sẽ chỉ có một số người tham gia thực hiện, những người khác sẽ có sự đồng thuận khá rõ ràng.

Vấn đề: Tấn công cạnh Nếu bạn tạo một khối và nó đến đúng giờ bất kể định nghĩa của khối là gì, một số nút sẽ thấy nó đến vào một thời điểm khác. Do đó, các nút có thể không đồng ý về việc "liệu một khối có bị kiểm duyệt quá lâu hay không" và liệu một khối "có được xuất bản đúng hạn hay không", họ có thể không đồng ý về các tham số thời gian này.

Và những kẻ tấn công có thể lợi dụng điều này, khiến những người khác có những bất đồng lâu dài về việc liệu cuộc tấn công có xảy ra hay không, và kéo theo rất nhiều vấn đề về quản trị.

Vì vậy, điều này đòi hỏi chúng ta phải có một bộ phát hiện kịp thời tốt hơn (TD)

Modified Timeality Detector (TD) Chúng ta quay trở lại Bài toán các tướng lĩnh Byzantine, bài báo năm 1982 của Leslie Lamport. Hóa ra bài báo chứa một thuật toán mà mọi người không thực sự nói đến, nhưng có lẽ họ nên nói nhiều hơn. Nó che giấu tuyên bố này một cách trừu tượng bằng một thông điệp bằng văn bản không thể giả mạo (được gọi là chữ ký điện tử). Lambert tuyên bố rằng anh ta có một thuật toán đồng thuận có thể chịu đựng tới 99% những kẻ tấn công bị lỗi (tức là 99% Fault Tolerant Consensus).

Thuật toán này hoạt động và cái hay của nó là nó hoạt động miễn là bạn có giả định về tính đồng bộ, không chỉ giữa những người khai thác thực hiện đồng thuận và trình xác nhận, mà còn giữa những người khai thác và khách hàng, khách hàng và giữa các khách hàng khác. Nó có một giả định mạnh mẽ hơn về việc ai nên trực tuyến và nó sử dụng giả định này để đạt được mức độ chịu lỗi cao hơn, nhưng đó là một giả định rất nguy hiểm mà chúng ta không muốn tự đặt ra.

Tôi sẽ mô tả phiên bản tục ngữ duy nhất. Ở đây, giả sử rằng một người nói là trung thực, và có n tổng số người nói, chúng ta chỉ cần 1/n người nói là trung thực.

Ý tưởng ở đây là, giả sử một khối được xuất bản, sau đó khách hàng và người chứng minh có thời hạn mà họ cần nhận khối để xem xét khối đúng hạn. Đối với khách hàng, thời hạn là t và đối với người chứng minh, thời hạn là t+δ. Vì vậy, ở đây người đề xuất sẽ xuất bản một khối b, giả sử người đề xuất là loại xấu xa, đang cố gắng thực hiện một cuộc tấn công cận biên, nút 1 nhìn thấy nó trước thời hạn, nút 2 cũng nhìn thấy nó trước thời hạn. Người chứng thực đã gửi khối, nhưng do giả định về tính đồng bộ của mạng, nếu một nút chấp nhận khối, thì điều này có nghĩa là người chứng thực được đảm bảo chấp nhận khối trước thời hạn của họ, vì khối có thể được gửi đến người xác nhận. Nếu ngay cả một khách hàng cho rằng một khối là kịp thời, thì người chứng minh được đảm bảo nhìn thấy nó trước thời hạn của họ, vì vậy người chứng minh sẽ thêm chữ ký của chính họ và do tính đồng bộ của mạng, khách hàng khác sẽ thấy khối cùng với chữ ký trước thời hạn cho một khối đã ký.

bài báobài báođược dành riêng cho lĩnh vực nghiên cứu này, vì vậy vui lòng xem qua nếu bạn muốn biết thêm chi tiết. Để cung cấp cho bạn một ý tưởng sơ bộ, bạn có một nhóm kẻ tấn công, mỗi người trong số họ có thể trì hoãn thời hạn một chút, vì vậy nếu một kẻ tấn công nhận được một khối, thì miễn là độ trễ mạng thấp hơn tham số delta của bạn, nó sẽ trì hoãn Tính kịp thời của một khối lan truyền đến phần còn lại của mạng.

Một sự thật thú vị là nếu bạn có bộ phát hiện tính kịp thời này, bạn sẽ xử lý tất cả các khối tính thời gian theo trình tự thời gian tự khai báo và chỉ có thế. Vấn đề duy nhất là nó mất nhiều thời gian tạo khối và nếu bạn muốn xử lý tiền gửi, rút ​​tiền và cắt giảm của trình xác thực, thì đó có thể là một giao thức thú vị, nhưng nó không phải là giao thức tốt nhất để chạy chuỗi khối.

Thậm chí tốt hơn, bạn có thể phát hiện các chuỗi tấn công và xem xét các cuộc tấn công bằng cách sử dụng trình phát hiện kịp thời.

4. Tóm tắt

Kỹ thuật chống kiểm duyệt không hoàn hảo như các kỹ thuật khác vì nó dựa trên giả định đồng bộ hóa giữa mạng và máy khách, bạn có thể đặt khoảng thời gian này thành bất kỳ thứ gì bạn muốn, nhưng nó liên quan đến mức độ kiểm duyệt mà bạn sẵn sàng. tha thứ. Bạn có thể đảm bảo tính nhất quán trên tập hợp các nút trực tuyến và trong trường hợp bị tấn công, bạn có thể đồng ý về việc chuỗi có phải là chuỗi tấn công hay không và mọi thứ khác. Bạn có thể sử dụng điều này như là bước khởi đầu của sự đồng thuận xã hội một phần để xác định cách khôi phục, điều này giúp bạn chỉ định mức độ trừng phạt mạnh hơn cho kẻ tấn công vì bạn có thể xác định kẻ tấn công là ai một cách đáng tin cậy hơn.

Nói chung, nếu kẻ tấn công xuất bản một chuỗi không sử dụng được, thì kiểm tra tính khả dụng của dữ liệu sẽ bắt được nó, nếu chúng xuất bản một khối không hợp lệ, bằng chứng gian lận có thể bắt được và nếu bạn xem xét các khối trong thời gian dài, thì chuỗi này sẽ tự động bị bỏ qua bởi mạng lưới. Nếu bạn xem xét một khối thời gian trung bình, thì bạn có thể sử dụng trình kiểm tra tính kịp thời để xử lý khối đó một cách rõ ràng và tương ứng không sử dụng ủy ban nếu kẻ tấn công cố gắng không tham gia hoặc phá hủy ủy ban.

Chà, chúng tôi có một loạt các công cụ về cơ bản giúp giảm bớt nỗi sợ bị tấn công 51% rất nhiều hoặc có thể bỏ qua chúng hoặc phục hồi sau chúng. cảm ơn tất cả.

Vitalik
ETH
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
巴比特
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android