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

Chữ viết tay của Vitalik Buterin: Triết lý xác minh chuỗi khối

金色财经
特邀专栏作者
Bài viết này có khoảng 4902 từ, đọc toàn bộ bài viết mất khoảng 8 phút
Tại sao blockchain cần phải được xác minh?
Tóm tắt AI
Tại sao blockchain cần phải được xác minh?

Lưu ý của biên tập viên: Bài viết này đến từtài chính vàng, được in lại bởi Odaily với sự cho phép.

Lưu ý của biên tập viên: Bài viết này đến từ

tài chính vàng

Vitalik Buterin, người đồng sáng lập Ethereum, đã xuất bản bài báo "Triết lý xác minh chuỗi khối" trên trang web cá nhân của mình vào ngày 17 tháng 8. Jinse Finance đã biên soạn bài báo như sau:

Tại sao blockchain cần phải được xác minh?

Một trong những tính năng mạnh mẽ nhất của chuỗi khối là khả năng xác minh độc lập từng phần thực thi của chuỗi khối. Ngay cả khi phần lớn các công cụ khai thác chuỗi khối (hoặc trình xác thực trong chuỗi khối bằng chứng cổ phần) bị kẻ tấn công chiếm đoạt, nếu kẻ tấn công đó cố gắng đẩy các khối không hợp lệ, mạng sẽ đơn giản từ chối các khối đó. Ngay cả khi người dùng chưa xác thực các khối đó trong một khoảng thời gian nhất định, họ vẫn có khả năng tự động được cảnh báo và có thể kiểm tra xem chuỗi khối của kẻ tấn công có hợp lệ hay không và tự động từ chối các khối đó trước khi chấp nhận chuỗi theo quy tắc.

Nhưng chúng ta thực sự cần bao nhiêu xác nhận? Bạn có cần một trăm trình xác nhận độc lập hay một nghìn trình xác nhận độc lập không? Chúng ta có cần một nền văn hóa mà mọi người bình thường trên thế giới đều chạy phần mềm để kiểm tra mọi giao dịch không? Giải quyết các vấn đề trên sẽ là một thách thức rất quan trọng nếu chúng ta muốn xây dựng một chuỗi khối với cơ chế đồng thuận tốt hơn chuỗi bằng chứng công việc duy nhất do "Satoshi Nakamoto" tạo ra ban đầu.

tiêu đề phụ

Tại sao blockchain cần phải được xác minh?

Việc xác thực chuỗi khối rất có lợi cho người dùng vì hai lý do chính:

1. Trước hết, việc xác minh chuỗi khối sẽ tối đa hóa cơ hội mà các nút có thể xác định chính xác để nói trên chuỗi chuẩn. Chuỗi chuỗi hợp lệ với hầu hết các công cụ khai thác/người xác thực hỗ trợ chuỗi đó" (ví dụ: "chuỗi hợp lệ dài nhất" trong Bitcoin). Theo định nghĩa, chuỗi không hợp lệ bị từ chối và nếu lựa chọn được đưa ra giữa nhiều chuỗi hợp lệ, thì chuỗi có nhiều sự hỗ trợ nhất từ ​​người khai thác/người xác thực sẽ thắng. Vì vậy, nếu bạn có một nút có thể xác minh tất cả các điều kiện hợp lệ, từ đó phát hiện chuỗi nào hợp lệ và chuỗi nào không, thì bạn sẽ tối đa hóa cơ hội phát hiện chính xác chuỗi chuẩn.

2. Thứ hai, có một lý do sâu xa hơn để xác minh tính hợp lệ của chuỗi khối: Giả sử một diễn viên quyền lực cố gắng thực hiện một thay đổi đối với giao thức (chẳng hạn như thay đổi việc phát hành mã thông báo) và được hỗ trợ bởi đa số thợ mỏ, nếu không có ai khác Xác thực chuỗi khối, thì cuộc tấn công này dễ dàng thành công vì khách hàng của mọi người chấp nhận chuỗi mới theo mặc định và khi mọi người thấy điều gì đang xảy ra, những người bất đồng chính kiến ​​​​sẽ cố gắng phối hợp từ chối chuỗi đó. Tuy nhiên, nếu người dùng bình thường đang xác minh, thì vấn đề phối hợp lại rơi vào phía bên kia: những người cố gắng thay đổi thỏa thuận sẽ chịu trách nhiệm thuyết phục người dùng tích cực tải xuống các bản vá phần mềm để chấp nhận thỏa thuận.

Nếu có đủ người dùng đang xác thực, thì sẽ tránh được sự nhầm lẫn và tranh chấp không cần thiết đối với các thay đổi bắt buộc đối với giao thức. Sự hỗn loạn có thể gây ra nhiều thiệt hại và nó đòi hỏi sự phối hợp xã hội ngoài phạm vi để giải quyết nó. Nếu phần lớn người dùng đang xác thực (trực tiếp hoặc gián tiếp) và cuộc tấn công chỉ được hỗ trợ bởi phần lớn những người khai thác, cuộc tấn công sẽ hoàn toàn mặc định là thất bại, đó là kết quả tốt nhất trong tất cả các kết quả.

tiêu đề phụ

Xác định Quan điểm so với Phối hợp Quan điểm

Hình ảnh dưới đây là một ví dụ về quan điểm "theo định nghĩa" của Gavin Andresen:bitcoinMột góc nhìn khác, từ Ví Wasabi, đơn giản hơn từ quan điểm giải thích lý do tại sao các nút đầy đủ lại có giá trị:

Lưu ý rằng chế độ xem này có hai phần cốt lõi:

1. Theo định nghĩa, phiên bản của chuỗi không chấp nhận những gì bạn coi là quy tắc cơ bản và không thể chuyển nhượng không phải là

bitcoin

(hoặc Ethereum hoặc bất kỳ chuỗi khối nào khác), bất kể có bao nhiêu người khác chấp nhận chuỗi.

2. Điều quan trọng là bạn phải giữ nguyên tắc trong chuỗi mà bạn cho là chấp nhận được.

Tuy nhiên, tôi tin rằng quan điểm "cá nhân chủ nghĩa" này là rất sai lầm. Để biết lý do tại sao, hãy xem xét tình huống mà chúng ta lo sợ: đại đa số những người tham gia có thể chấp nhận một số thay đổi đối với các quy tắc của giao thức mà bạn cho là không thể chấp nhận được. Ví dụ: hãy tưởng tượng chúng ta có một tương lai nơi phí giao dịch thấp và hầu hết những người khác đồng ý thay đổi một bộ quy tắc mới nhằm tăng cường phát hành để giữ an toàn cho chuỗi khối, nhưng bạn vẫn ngoan cố tiếp tục chạy một nút tiếp tục thực thi các quy tắc cũ và chuyển sang một chuỗi khác với phần lớn các nút.

Ở góc độ của riêng bạn, bạn vẫn có thể đặt token trong một hệ thống vận hành theo quy tắc cũ có thể chấp nhận được. Nhưng cái gì cơ? Những người dùng khác hoàn toàn không chấp nhận mã thông báo của bạn và các sàn giao dịch cũng sẽ không chấp nhận mã thông báo của bạn. Trang web giá sẽ liệt kê giá của mã thông báo, nhưng nguồn dữ liệu của họ chắc chắn sẽ trỏ đến mã thông báo trên chuỗi đa số, vì vậy mã thông báo của bạn sẽ vô giá trị. Tiền điện tử và chuỗi khối về cơ bản là một cấu trúc xã hội và chúng chẳng có ý nghĩa gì nếu không ai khác tin vào chúng.

Vậy quan điểm thay thế là gì? Một ý tưởng cốt lõi được trình bày ở đây là xem blockchain như bảo mật kỹ thuật thông qua vấn đề phối hợp.

Thông thường, hầu hết các vấn đề phối hợp mà chúng ta gặp phải trong thế giới của mình đều là những điều tồi tệ, đây là một vài ví dụ:

2. Một số người nghĩ rằng Hoa Kỳ có thể tốt hơn nếu chuyển sang hệ mét;

3. Những người khác cảm thấy rằng nếu việc giảm 10% tất cả giá cả và tiền lương ngay lập tức trong trường hợp suy thoái sẽ giúp đất nước vượt qua, thì làm như vậy sẽ cần sự đồng ý của mọi người và thường rất khó đạt được.

Tuy nhiên, trong các ứng dụng chuỗi khối, chúng tôi sử dụng các vấn đề phối hợp để tạo lợi thế cho mình và xung đột do các vấn đề phối hợp tạo ra để chống lại hành vi sai trái của những người thực thi tập trung. Một ví dụ khác, chúng tôi có thể xây dựng một hệ thống với thuộc tính X và chúng tôi có thể đảm bảo rằng hệ thống luôn giữ lại thuộc tính X, nhưng việc thay đổi quy tắc từ X thành không-X yêu cầu nhiều người đồng ý cập nhật phần mềm của họ cùng một lúc . Ngay cả khi một người thực thi buộc phải thay đổi, điều đó sẽ rất khó khăn - khó khăn hơn nhiều so với việc một người dùng chịu trách nhiệm điều phối những người bất đồng chính kiến ​​​​để chống lại sự thay đổi.

Lưu ý rằng quan điểm này có một hệ quả đặc biệt: mục đích cốt lõi của nút đầy đủ của bạn không chỉ là để bảo vệ bạn và trong trường hợp xảy ra tranh cãi về hard fork, những người có nút đầy đủ sẽ an toàn hơn những người không có nút đầy đủ. . Ngược lại, quan điểm ở đây thiên về quan điểm miễn trừ nhóm, tức là: càng nhiều người xác minh thì độ an toàn của mọi người càng cao, cho dù chỉ có một số người xác minh thì kết quả cũng sẽ khiến mọi người trở thành cá nhân. được cung cấp một mức độ bảo vệ cao hơn.

tiêu đề phụ

Bây giờ, chúng ta chuyển sang chủ đề tiếp theo, chủ đề này rất liên quan đến các chủ đề như ứng dụng khách nhẹ và phân đoạn: với xác thực, chúng ta sẽ đạt được điều gì? Để hiểu điều này, chúng ta hãy quay lại thời điểm trước đó - nếu một cuộc tấn công xảy ra trên chuỗi khối, cách thức cuộc tấn công xảy ra có thể theo thứ tự ưu tiên sau:

mặc định là thất bại > mặc định là hỗn loạn > mặc định là chiến thắng

">" ở đây có nghĩa là "tốt hơn". Tốt nhất là cuộc tấn công thất bại hoàn toàn; tốt nhất là cuộc tấn công thứ hai gây ra sự hỗn loạn và mọi người không đồng ý về chuỗi chính xác, và tệ nhất là cuộc tấn công thành công. Câu hỏi ở đây là: tại sao hỗn loạn lại tốt hơn nhiều so với chiến thắng? Trên thực tế, đây là vấn đề về động lực, cụ thể là: sự nhầm lẫn làm tăng chi phí của kẻ tấn công, điều đó có nghĩa là xác suất kẻ tấn công chắc chắn giành chiến thắng sẽ giảm đi rất nhiều, vì vậy kẻ tấn công không được khuyến khích tấn công ngay từ đầu. Một môi trường hỗn loạn theo mặc định có nghĩa là kẻ tấn công không chỉ cần giành chiến thắng trong cuộc chiến blockchain với cuộc tấn công 51% mà còn phải thuyết phục cộng đồng đi theo "cuộc chiến xã hội" này, điều này khó hơn nhiều so với việc chỉ phát động một cuộc tấn công 51% và giành chiến thắng bằng tấn công thuần túy Nhiều, ít hấp dẫn hơn nhiều.

Mục tiêu của việc xác thực là đi từ trạng thái mặc định từ chiến thắng sang hỗn loạn (lý tưởng) và từ hỗn loạn đến thất bại (ít lý tưởng hơn). Nếu bạn có một nút xác thực đầy đủ và kẻ tấn công cố gắng đẩy một chuỗi với các quy tắc khác, thì cuộc tấn công sẽ thất bại. Nếu một số người có các nút xác thực đầy đủ và nhiều người khác thì không, cuộc tấn công có thể dẫn đến hỗn loạn. Tuy nhiên, bây giờ chúng ta phải nghĩ đến một câu hỏi khác, đó là: Có cách nào khác để đạt được hiệu quả tương tự không?

tiêu đề phụ

Khách hàng nhẹ và bằng chứng gian lận

Một sự phát triển tự nhiên theo hướng này là các khách hàng nhẹ với bằng chứng gian lận. Hầu hết các ứng dụng khách blockchain nhẹ hiện có trên thị trường hoạt động bằng cách chỉ cần xác minh rằng phần lớn các công cụ khai thác hỗ trợ một khối cụ thể mà không cần bận tâm kiểm tra xem các quy tắc giao thức khác có được thi hành hay không. Nghĩa là, khách hàng hoạt động dựa trên giả định tin cậy rằng hầu hết những người khai thác đều trung thực. Trong trường hợp xảy ra một fork gây tranh cãi, khách hàng sẽ tuân theo chuỗi đa số theo mặc định, để người dùng tự thực hiện các bước tích cực nếu họ muốn tuân theo các quy tắc cũ. Do đó, các khách hàng nhẹ bị tấn công ngày hôm nay sẽ giành chiến thắng theo mặc định. Nhưng với công nghệ phòng chống gian lận, mọi thứ đang bắt đầu rất khác.

Như thể hiện trong sơ đồ trên, các khối riêng lẻ trong chuỗi khối chỉ đề cập đến một số tài khoản. Bằng chứng gian lận sẽ chứa dữ liệu trong các tài khoản này cùng với bằng chứng Merkle rằng dữ liệu này là chính xác.

sự phân mảnh

Kỹ thuật này đôi khi được gọi là xác minh phi trạng thái: khách hàng chỉ có thể giữ các tiêu đề khối thay vì cơ sở dữ liệu trạng thái chuỗi khối đầy đủ và có thể xác minh bất kỳ khối nào trong thời gian thực bằng cách yêu cầu các nút khác cung cấp bằng chứng Merkle về bất kỳ trạng thái mong muốn nào. các mục xác minh khối cũng có thể được truy cập.

Sức mạnh của kỹ thuật này là các ứng dụng khách nhẹ chỉ xác thực các khối độc lập khi chúng nghe thấy cảnh báo (và các cảnh báo có thể xác minh được, vì vậy nếu các ứng dụng khách nhẹ nghe thấy cảnh báo sai, thì chúng có thể ngừng nghe cảnh báo cho nút đó). Vì vậy, trong những trường hợp bình thường, các máy khách nhẹ vẫn là máy khách nhẹ, chúng chỉ cần kiểm tra xem khối nào được hỗ trợ bởi phần lớn các công cụ khai thác/người xác thực. Tuy nhiên, trong những trường hợp đặc biệt, chẳng hạn như khi chuỗi đa số chứa một ứng dụng khách nhẹ không chấp nhận khối, miễn là có một nút trung thực để xác minh khối gian lận, thì nút đó sẽ thấy rằng khối đó không hợp lệ, miễn là vì nút A này phát bằng chứng gian lận và các nút khác trong mạng từ chối nó.

tiêu đề phụ

sự phân mảnh

Sharding có thể được coi là một phần mở rộng tự nhiên của xác minh mạng: trong một hệ thống được phân chia, có quá nhiều giao dịch trong hệ thống để duy trì xác minh trực tiếp, nhưng nếu hệ thống được thiết kế tốt, bất kỳ khối nào không hợp lệ đều có thể được phát hiện trong các khối riêng lẻ và sự không hợp lệ này thường sẽ mang theo bằng chứng gian lận có thể được lan truyền trên toàn mạng. Chúng ta có thể nghĩ về một mạng chia sẻ như thể mọi người đều là khách hàng nhẹ và miễn là mỗi phân đoạn có một số lượng người tham gia ngưỡng tối thiểu nhất định, thì mạng có khả năng miễn nhiễm bầy đàn.

Đây là ý nghĩa của khả năng kiểm toán trong thế giới thực: không phải lúc nào mọi người cũng xác minh mọi thứ, nhưng:

(i) từng bộ phận cụ thể đều có đủ mắt để nếu có sai sót sẽ tìm ra;

(ii) Khi một lỗi được phát hiện, phải đảm bảo rằng lỗi đó được hiển thị rõ ràng cho tất cả mọi người.

Điều đó nói rằng, blockchain chắc chắn có thể cải thiện điều này trong thời gian dài. Một nguồn cải tiến cụ thể là ZK-SNARK (hoặc "bằng chứng về tính hợp lệ"): bằng chứng mật mã xác minh hợp lệ cho phép nhà sản xuất khối chứng minh với khách hàng rằng một khối đã thỏa mãn một số điều kiện hợp lệ phức tạp tùy ý. Bằng chứng hợp lệ mạnh hơn bằng chứng gian lận vì chúng không dựa vào các trò chơi tương tác để phát hiện gian lận. Một kỹ thuật quan trọng khác là kiểm tra tính khả dụng của dữ liệu, ngăn chặn các khối thực thi dữ liệu chưa được công bố đầy đủ. Tuy nhiên, kiểm tra tính khả dụng của dữ liệu dựa trên giả định rất thận trọng rằng có ít nhất một số lượng nhỏ các nút trung thực ở đâu đó trong mạng và tin tốt là sẽ luôn có các nút trung thực trong mạng, ngay cả khi có sự hiện diện của một số lượng lớn kẻ tấn công.

tiêu đề phụ

开发者
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