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:

Quan điểm: Hiểu Ethereum và tương lai của nó từ góc độ “trạng thái”

Đọc bài viết này mất 50 phút
Giống như mô hình Ethereum phải đối mặt với sự đánh đổi trong thiết kế, tất cả các giải pháp về khả năng mở rộng này cũng vậy
Tiêu đề gốc: "Quan điểm: Tìm hiểu Ethereum và tương lai của nó từ góc độ "trạng thái""
Nguồn gốc: Những người đam mê Ethereum (ID: ethfans)


1. Giới thiệu


Kể từ khi được thành lập vào năm 2015, chuỗi khối Ethereum đã trải qua năm thăng trầm. Năm năm không chỉ biến giao thức Ethereum như một khái niệm thành hiện thực, làm cho giao thức này trưởng thành và cụ thể hơn mà còn bộc lộ những đặc điểm và sự đánh đổi của một thiết kế như vậy. Những sự đánh đổi này, như những thách thức về thiết kế, đã thu hút một cách tự nhiên và tiếp tục thu hút vô số người thông minh đang cố gắng cải thiện khả năng sử dụng của Ethereum. Trong số đó, thứ thu hút nhiều nỗ lực và trí tưởng tượng nhất chắc chắn là thứ được đề xuất để cải thiện "khả năng mở rộng" một loạt kế hoạch.


Điều mà bài viết này muốn chỉ ra là giống như mô hình Ethereum phải đối mặt với sự đánh đổi trong thiết kế, tất cả các giải pháp về khả năng mở rộng này cũng phải đối mặt với sự đánh đổi; và đánh giá những điều này sự đánh đổi Liệu nó có xứng đáng hay không đòi hỏi chúng ta phải quay trở lại với chính Ethereum, với những vấn đề thực sự và nhu cầu thực sự của các nút Ethereum và người dùng Ethereum. Quan điểm "trạng thái", như một quan điểm để hiểu bản thân Ethereum, có thể giúp chúng tôi làm rõ thiết kế của các giải pháp này và tiết lộ những lợi ích và tổn thất của chúng tôi.


Bài viết này sẽ bắt đầu bằng việc giải thích ý nghĩa của "trạng thái", tiết lộ ngọn giáo cuối cùng và gót chân Achilles của Ethereum, sau đó khám phá các hướng cải tiến khác nhau. "Tính trạng thái phong phú" là nguồn gốc của "khả năng kết hợp" của các hợp đồng thông minh Ethereum, nhưng nó cũng là điểm yếu lớn nhất của mạng Ethereum. Từ đó, chúng ta có thể thấy giải pháp nào thường được nhắc đến hiện nay sẽ ảnh hưởng đến "khả năng kết hợp" và "khả năng mở rộng" nào đáng kể hơn.


2. Ethereum như một mô hình


(1) Trạng thái phong phú và khả năng kết hợp


"Trạng thái" là gì? Trạng thái là tình huống cụ thể của một hệ thống tại một thời điểm nhất định. Lấy blockchain triển khai tiền điện tử làm ví dụ, trạng thái của blockchain tại một thời điểm nhất định là sự phân bổ tài sản của tất cả các địa chỉ trên blockchain tại thời điểm đó (địa chỉ A có 10 xu, địa chỉ B có 100 xu), v.v.) ( Trên thực tế, những gì chúng ta có chỉ là một số trạng thái, tâm trí và sự đồng thuận xã hội của chúng ta coi những trạng thái này là “tài sản”).

Từ góc nhìn này, mỗi bộ giao thức blockchain có thể được chia đại khái thành hai phần, một phần là Cơ chế đồng thuận và phần còn lại là các quy tắc chuyển đổi trạng thái (đôi khi được gọi là "quy tắc đồng thuận"); phần trước xác định các quy tắc khối, xác định khi nào tất cả các nút tham gia vào chuỗi khối cần cập nhật cục bộ cơ sở dữ liệu chuỗi khối. Trạng thái (ví dụ: dưới dạng nút của chuỗi khối Ethereum, bất cứ khi nào nó nhận được một khối có bằng chứng khối lượng công việc đáp ứng các yêu cầu về độ khó, nút sẽ cập nhật trạng thái mới nhất của cơ sở dữ liệu chuỗi khối cục bộ); và trạng thái Quy tắc chuyển đổi xác định giao dịch nào hợp lệ ("Tài khoản không thể chi tiêu nhiều hơn số dư của chính nó") và cũng xác định cách nút sẽ cập nhật trạng thái khi xử lý giao dịch ("Giao dịch này có nghĩa là tài khoản A đã chuyển 5 xu vào tài khoản B, khi đó số dư của tài khoản A sẽ bị trừ 5 và số dư tài khoản B sẽ được cộng thêm 5”).

Đối với Bitcoin, cơ chế đồng thuận của nó là "đồng thuận PoW + Satoshi Nakamoto" và quá trình chuyển đổi trạng thái của nó. Các quy tắc dựa trên trên UTXO. Đối với Ethereum, cơ chế tạo khối của nó là “quy tắc PoW + Ghost” và các quy tắc chuyển đổi trạng thái của nó dựa trên các tài khoản.

Vậy điều gì khiến Ethereum trở thành một sự đổi mới mang tính đột phá?


Chúng ta thường nghe rằng điều khiến Ethereum trở nên đặc biệt là nó "giới thiệu ngôn ngữ lập trình hoàn chỉnh Turing", hỗ trợ khả năng lập trình", v.v. Trên thực tế, nhận định này không chính xác 2. Bởi vì cho phép các ngôn ngữ lập trình phức tạp hơn không có nghĩa là Bitcoin có thể được lập trình; cho phép Bitcoin sử dụng các ngôn ngữ lập trình vững chắc thì không có được Ethereum. Điều thực sự đặc biệt ở Ethereum là "tính trạng thái phong phú" của nó: nó cho phép một hợp đồng gọi một hợp đồng khác và ngoại trừ dung lượng khối, không áp đặt bất kỳ hạn chế nào đối với số cấp độ của các lệnh gọi đó.

Hợp đồng B có thể gọi hợp đồng A và thay đổi trạng thái của hợp đồng A dựa trên mã được tiết lộ bởi hợp đồng A; Hợp đồng C gọi hợp đồng B cũng có thể gián tiếp gọi hợp đồng A và thay đổi A hợp đồng Trạng thái... Do đó, mặc dù một trạng thái được lưu trữ trong hợp đồng A nhưng logic điều khiển của nó có thể chồng chéo và tích lũy liên tục, nếu hiểu trạng thái là tài sản thì điều này tương đương với việc cho phép quyền sử dụng tài sản đó (điều kiện sử dụng ) Nó không ngừng được kiểm soát chặt chẽ và phức tạp hơn, điều này có nghĩa là, về lý thuyết, logic cập nhật của một trạng thái có thể vô cùng gần với hợp đồng tài chính ngoài đời thực (vì tất cả các hợp đồng tài chính đều có thể được xếp chồng và kết hợp thông qua logic đơn giản) . Thuộc tính này cho phép tích lũy bất kỳ số lượng lớp điều khiển nào là quan trọng nhất, nhưng cách lập trình điều khiển này chỉ là thứ yếu.


Ngoài ra, Ethereum còn cho phép người dùng ghi các trạng thái vào blockchain, khiến các trạng thái này trở nên chính xác một phần của trạng thái toàn cầu và yêu cầu các nút cập nhật trạng thái theo logic tùy chỉnh của hợp đồng. Kết quả là, một hợp đồng có thể hiển thị trạng thái của chính nó cho tất cả các tài khoản khác trên Ethereum và trạng thái phong phú nói trên thực sự phát huy tác dụng.

Đúng vậy, hiện tại chúng tôi đã thu thập được ba thuộc tính như ngọc rồng:
(1) Mô hình điện toán trên chuỗi: Các hợp đồng có thể yêu cầu các nút thực hiện tính toán theo logic được xác định riêng của chúng; (
2) Trạng thái toàn cầu: Trạng thái của hợp đồng có thể trở thành một phần của trạng thái toàn cầu và được chia sẻ với tất cả mọi người các tài khoản khác Public;
(3) Trạng thái phong phú: Các hợp đồng có thể gọi lẫn nhau và không giới hạn số lượng lớp ngăn xếp nên logic điều khiển có thể được tích lũy từng lớp;

Bây giờ chúng ta có thể triệu hồi ngọn giáo mạnh nhất của Ethereum: "Khả năng kết hợp" (LEGO tiền tệ)!


Phương pháp tính toán on-chain cho phép chúng ta có nhiều hợp đồng khác nhau; trạng thái toàn cầu cho phép các hợp đồng này truy cập trạng thái của nhau; trạng thái giàu có cho phép kết hợp các hợp đồng đa dạng không giới hạn. Vì vậy, chúng ta không chỉ có loại tiền tệ ổn định DAI mà còn có thị trường cho vay, chúng ta cũng có thể có ứng dụng xổ số, chúng ta cũng có thể có ứng dụng tự động quyên góp số tiền thu được từ xổ số và chúng ta cũng có thể có ứng dụng tự động cân bằng lại số tiền tiết kiệm tỷ lệ giữa các thị trường cho vay khác nhau... …


(2) Vấn đề bùng nổ dữ liệu trạng thái


"Khả năng kết hợp" quá tốt để có thể trở thành sự thật, phải không? Đúng vậy, bộ ba thuộc tính trên thực chất là một con dao hai lưỡi.


Quá trình chuyển đổi trạng thái của Ethereum có thể được tóm tắt như sau: hàm chuyển đổi trạng thái lấy trạng thái cũ và danh sách giao dịch làm đầu vào và đầu ra mới trạng thái. Điều này có nghĩa là các nút xác thực đầy đủ của Ethereum phải duy trì trạng thái mới nhất của chuỗi khối Ethereum cục bộ để có thể thực thi các chức năng trạng thái và sử dụng kết quả để xác minh tính hợp lệ của một khối (và cũng để liên lạc với các nút Ethereum khác). .


Mâu thuẫn là: đối với hợp đồng và nhà phát triển, trạng thái của hợp đồng được lưu trên nút Ethereum như một phần trạng thái toàn cầu của Ethereum. được tính toán bởi các nút Ethereum (và được trả bởi người dùng bắt đầu yêu cầu tính toán). Kiến trúc "không có máy chủ" này rất thoải mái, tuy nhiên, các trạng thái này sẽ được lưu vĩnh viễn trong quá trình xác minh đầy đủ của Ethereum miễn là chúng được thanh toán một lần. Trong nút , mặc dù mỗi bản cập nhật đều yêu cầu thanh toán nhưng không thể tránh khỏi việc dữ liệu trạng thái được lưu cục bộ trên nút sẽ tiếp tục tích lũy và mở rộng.


Lý do khiến việc mở rộng dữ liệu trạng thái gặp vấn đề là vì nó sẽ ngày càng mang lại nhiều vấn đề hơn cho nút xác minh đầy đủ Tải và ghi đĩa cứng (ngẫu nhiên) cao. Dữ liệu trạng thái không giống như dữ liệu khối. Dữ liệu khối là tĩnh và không yêu cầu đọc và ghi thường xuyên sau khi được duy trì. Tuy nhiên, mỗi khối dữ liệu trạng thái bổ sung cần được đọc và ghi nhiều lần. Khi lượng dữ liệu trạng thái tăng lên, , gánh nặng đọc và viết sẽ ngày càng nặng nề hơn. Trong vài năm qua, chúng ta thường nghe mọi người nói rằng các full node trên Ethereum rất khó triển khai và đây là một trong những lý do. Cách đây một thời gian, dịch vụ nút Ethereum miễn phí của Infura đã bị sập 4, khiến nhiều dịch vụ dựa vào Infura cũng sụp đổ. Đây là một lời cảnh tỉnh cho mọi người - hóa ra việc bảo trì nút Ethereum khó đến mức mọi người thà tin tưởng người khác.


Vấn đề này không dễ giải quyết. Trong vài năm qua, nhiều lần nâng cấp hard fork của Ethereum đã làm tăng mức tiêu thụ gas của các opcode truy cập trạng thái, chính xác là để ngăn cản các hợp đồng tạo ra trạng thái mới với chi phí kinh tế. Nhưng đây rõ ràng chỉ là giải pháp tạm thời, vì logic cơ bản không thay đổi, dữ liệu trạng thái phải tiếp tục được lưu trữ trên nút Ethereum, nhưng người dùng tạo dữ liệu trạng thái chỉ cần trả phí một lần. Một số người cũng cho rằng, để thay đổi điều này, cần phải đưa ra cơ chế "tiền thuê nhà nước", yêu cầu hợp đồng tiết kiệm nhà nước phải liên tục trả tiền thuê nhà, nếu không hợp đồng sẽ bị chấm dứt. Tuy nhiên, cơ chế này có sự phức tạp không thể tưởng tượng được, một mặt khó xác định được phương thức thu tiền thuê hợp lý, mặt khác cũng khó xác định đối tượng thanh toán hợp lý. Vì vậy, nghiên cứu về cơ chế tiền thuê nhà nước cũng bị đình trệ trong năm 2019 5. Ngoài ra còn có các dự án (chẳng hạn như Nervos) cố gắng xác định kích thước của không gian trạng thái sẵn có dựa trên số lượng tiền tệ nắm giữ.Do đó, kích thước của dữ liệu trạng thái sẽ luôn có giới hạn trên, giúp tránh được vấn đề lạm phát trạng thái, nhưng điều này cũng làm thay đổi bản chất của tài sản bản địa, thuộc tính kinh tế.

Cho đến nay, ngoại trừ "không quốc tịch", tôi chưa thấy thỏa đáng, cơ bản nào để giải quyết vấn đề này, " không quốc tịch”, thực tế mà nói, chúng ta cũng phải đối mặt với nhiều thách thức. Chúng ta sẽ nói về điều này sau.

Nói tóm lại, trạng thái toàn cầu, tính toán trên chuỗi và trạng thái phong phú không chỉ làm cho các hợp đồng trên Ethereum có thể kết hợp được mà còn khiến mạng Ethereum rơi vào tình trạng tập trung. Chúa tể của những chiếc nhẫn trong tiểu thuyết "Chúa tể của những chiếc nhẫn", nó không chỉ có thể triệu hồi sức mạnh mạnh mẽ mà còn có thể nuốt chửng chính người dùng. Tôi lo rằng Ethereum sẽ phải gánh gánh nặng này trong thời gian dài.


Tiếp theo, chúng tôi sử dụng quan điểm "trạng thái" để hiểu thiết kế và sự cân bằng của các giải pháp có khả năng mở rộng khác nhau.


3. Hướng phát triển của Ethereum


Trong chương này, chúng ta sẽ phân tích bốn hướng phát triển của Ethereum: giải pháp Lớp 2, sharding, không trạng thái và giải pháp Rollup. Sự phân loại này hoàn toàn không hợp lý, bởi vì rollup là một tập con của giải pháp Lớp 2; và trạng thái không trạng thái là công nghệ tiên quyết cho sharding; thậm chí việc đặt chúng cạnh nhau cũng không hợp lý, vì giải pháp Lớp 2 gần như không yêu cầu Thay đổi lớp dưới cùng của Ethereum, trong khi sharding và trạng thái không trạng thái có những yêu cầu như vậy. Điều này được thực hiện chỉ để thuận tiện cho việc mô tả và hiểu biết.


(1) Giải pháp lớp 2


Ý tưởng đằng sau giải pháp Lớp 2 xuất phát từ một trực giác đơn giản nhưng rất chính xác: lý do khiến Ethereum gặp phải vấn đề về thông lượng Nút cổ chai là bởi vì băng thông, sức mạnh tính toán và khả năng duy trì dữ liệu trạng thái của các nút tạo nên mạng Ethereum bị hạn chế và khó cải thiện; chỉ cần yêu cầu các nút của toàn bộ mạng xử lý nhiều giao dịch hơn trên một đơn vị thời gian, hoạt động của các nút Yêu cầu chắc chắn sẽ tăng lên, gây tổn hại đến sự phân quyền; tuy nhiên, từ góc độ sử dụng, không nhất thiết tất cả các trạng thái đều được đặt trên Ethereum, cũng như không cần thiết tất cả các phép tính trạng thái đều diễn ra trên Ethereum; Chúng ta có thể lưu trạng thái trung gian (hoặc tất cả các trạng thái) của hợp đồng ở nơi khác và tương tác của người dùng (tức là cập nhật trạng thái) không xảy ra trên chuỗi khối Ethereum; chỉ khi người dùng thấy cần thiết phải giải quyết một trạng thái nhất định. Vào thời điểm đó, trạng thái được gửi tới Ethereum và Ethereum xác nhận điều đó.

Tóm lại: Nếu chúng ta không thể làm cho mạng đạt được sự đồng thuận về nhiều giao dịch hơn trên mỗi đơn vị thời gian, thì chúng ta nên cải thiện ý nghĩa của một giao dịch.


Giải pháp cổ điển "kênh trạng thái" của Lớp 2 thể hiện rõ ràng nhất ý tưởng này: khi tham gia After two Người dùng kênh khóa tiền vào hợp đồng, không có giao dịch tiếp theo nào giữa hai bên sẽ được gửi đến chuỗi. Họ sử dụng các công cụ liên lạc khác để trao đổi tin nhắn chữ ký và đạt được sự hiểu biết lẫn nhau về trạng thái của kênh. họ gửi và nhận bao nhiêu tin nhắn cũng như lượng dữ liệu trạng thái mà họ tạo ra, nó sẽ không trở thành gánh nặng cho Ethereum); cho đến khi hai người nghĩ rằng không cần phải tương tác nữa (hoặc cần phải giải quyết tạm thời) thì hai bên đã thống nhất Trạng thái và chữ ký của hai người được gửi tới Ethereum, sau đó Ethereum sẽ cập nhật trạng thái của hợp đồng và giải quyết số tiền cho hai người dựa trên trạng thái này.

Nếu bạn coi giải pháp Lớp 2 là mẫu thiết kế cho hợp đồng, bạn sẽ thấy rõ hơn - Giải pháp Lớp 2 chọn không sử dụng trạng thái toàn cầu . Một hợp đồng khác không thể biết trong thời gian thực trạng thái nội bộ của hợp đồng Lớp 2 là gì (mỗi người dùng A\B\C có bao nhiêu tiền), vì các trạng thái này không có trên chuỗi. được kết hợp với các hợp đồng khác.


Tuy nhiên, giải pháp Lớp 2 cũng đã đạt được một điều cực kỳ giá trị: tốc độ giao dịch nhanh hơn (Mặc dù trạng thái trung gian đã được xác nhận không an toàn như trạng thái chuỗi chính), nó có phí xử lý thấp hơn và gánh nặng nhỏ hơn đối với các nút chuỗi chính.

Nhưng tại sao giải pháp Lớp 2 không mang lại kết quả trong vài năm qua? Bởi vì trước khi giải pháp Rollup xuất hiện, các giải pháp khác, bao gồm cả kênh nhà nước và Plasma, không thể chứng minh rằng số tiền bị khóa trong hợp đồng của chính họ cũng an toàn như số tiền bị khóa trong hợp đồng có trạng thái (chúng sẽ không bị đóng băng hay bị đánh cắp). . Trong giải pháp kênh trạng thái, nếu bạn không luôn giám sát blockchain, đối tác của bạn có thể "đánh cắp" tiền của bạn bằng cách gửi trạng thái cũ lên chuỗi chính; trong giải pháp Plasma, bạn thường phải dựa vào nhà điều hành để cung cấp cho bạn có bằng chứng về tình trạng của bạn nên bản thân người điều hành khó có thể bảo vệ được.

Điều này hoàn toàn khác với trải nghiệm sử dụng hợp đồng nhà nước trên mạng chính Ethereum. Loại trừ rủi ro về mã của hợp đồng, số tiền bạn gửi vào hợp đồng sẽ không bị đánh cắp trừ khi ai đó thực hiện cuộc tấn công 51% để hủy giao dịch của bạn; trừ khi ai đó tiếp tục xem xét các giao dịch của bạn thông qua cuộc tấn công 51%, bạn chắc chắn sẽ có thể Rút tiền quỹ riêng của bạn. (Trong bài viết sau, chúng ta sẽ xem giải pháp Rollup giải quyết vấn đề này như thế nào.)


( 2 ) Sharding


Một trực giác khác để cải thiện Ethereum và tăng thông lượng của Ethereum là: Thông lượng của Ethereum bị hạn chế do thực tế là mỗi nút đầy đủ phải xử lý tất cả các giao dịch trên chuỗi; nếu chúng ta có thể cho phép mỗi nút chỉ xử lý một phần giao dịch và các nhóm nút khác nhau xử lý các giao dịch khác nhau một cách riêng biệt (song song), thì Thông lượng của toàn bộ hệ thống trên một đơn vị thời gian bằng tổng công suất xử lý của một nhóm gồm các nhóm nút này; nghĩa là, gánh nặng trên một nút không tăng, nhưng thông lượng của toàn bộ hệ thống tăng (và việc phân nhóm càng mịn , thông lượng càng cao. Hệ số nhân càng lớn). Điều này được gọi là "sharding".
Một câu hỏi thú vị liên quan đến kiến trúc phân mảnh là định nghĩa chính xác của nó. Trong kiến trúc blockchain cổ điển, không phân đoạn, các nút đầy đủ phải (1) lặp lại tất cả các phép tính; (2) duy trì tất cả các trạng thái; (3) truyền bá tất cả các khối/giao dịch. Một số người cho rằng chỉ cần phá vỡ một trong số chúng là có thể bị coi là phân mảnh; nhưng nhìn từ góc độ chặt chẽ hơn, cả ba đều phải bị phá vỡ để đạt được hiệu quả cải thiện thông lượng xuất phát từ lý thuyết  6. Những định nghĩa khác nhau sẽ mang lại những hiệu quả rất khác nhau. Ở đây, định nghĩa tôi áp dụng là một nút không cần duy trì ít nhất tất cả trạng thái của toàn bộ hệ thống.

Nhưng một câu hỏi thú vị hơn là, liệu công nghệ tiên quyết mà kiến trúc sharding yêu cầu có thể được nhận ra, kiến trúc này có thể quan trọng đến mức nào.


Trong kiến trúc sharding do nhóm nghiên cứu của Ethereum Foundation hình thành, trạng thái của toàn bộ hệ thống được chia thành nhiều phần và mỗi phần được cập nhật song song, nghĩa là: một phân đoạn không thể hiểu trạng thái bên trong của phân đoạn khác trong thời gian thực. Khi hợp đồng A' nằm trên phân đoạn A cố gắng gọi hợp đồng B' trên phân đoạn B, không thể giả định rằng bộ xử lý sở hữu trạng thái của phân đoạn B. Do đó, kết quả xử lý phải đợi phân đoạn B hoàn tất cập nhật trạng thái trước khi có thể được trả lại. . Kết quả là, các giao dịch chéo phải chịu mức giá khó chịu nhất trong quá trình xử lý giao dịch: độ trễ. Điều quan trọng là sự chậm trễ này không thể được trừu tượng hóa dưới dạng chi phí tiền tệ. Bởi vì phân đoạn B không biết rằng một giao dịch yêu cầu tự gọi nó đã xảy ra trên phân đoạn A, nên nó chỉ có thể đợi một lớp giao tiếp đáng tin cậy để phát giao dịch cho chính nó.


Giá trị có thể được tạo ra trên mỗi đơn vị thời gian càng cao thì độ trễ sẽ càng khó chịu; và điều này có nghĩa là giả sử có một sharding tập trung vào ứng dụng DeFi nhất định , những ứng dụng này sẽ không lên lịch sức mạnh xử lý trên các phân đoạn khác thông qua các giao dịch chéo phân đoạn, bởi vì điều này đơn giản là vô nghĩa và không thể đáp ứng yêu cầu về độ trễ của ứng dụng DeFi. Tương tự, điều này cũng có nghĩa là khả năng xử lý của một phân đoạn duy nhất của cụm ứng dụng DeFi này là giới hạn trên của khả năng xử lý của nó (không khác gì một blockchain đơn lẻ). Xây nhà, làm đường ở vùng núi sâu, rừng già không thể giải quyết được vấn đề không gian sống của người dân ở các thành phố lớn.


(Một số người nghĩ rằng thông lượng phân đoạn "nhàn rỗi" này có thể được sử dụng bởi nhiều ứng dụng thích hợp hơn. Tôi nghĩ rằng giải pháp Lớp 2 có thể đạt được hiệu quả tương tự, và yêu cầu ít thay đổi hơn đối với lớp bên dưới và an toàn hơn.)


(三) Không quốc tịch


Không quốc tịch là cách duy nhất để đối đầu với nhà nước Nâng cấp hướng mở rộng dữ liệu vấn đề 7.

Trong giao thức Ethereum hiện tại, bản thân giao dịch không mang trạng thái mà nó truy cập. Vì lý do này mà nút xử lý giao dịch phải duy trì dữ liệu trạng thái làm điều kiện tiên quyết để thực hiện chức năng chuyển trạng thái. Chính vì lý do này mà việc mở rộng dữ liệu trạng thái là một vấn đề (tăng gánh nặng cho nút).

Chìa khóa của trạng thái không trạng thái là cho phép chính giao dịch/khối mang thông tin trạng thái được truy cập, do đó, một khối có thể tự xác minh được mà không cần các nút xử lý giao dịch phải có trạng thái.

Trên thực tế, tình trạng không quốc tịch làm thay đổi Ethereum bằng cách thay đổi cấu trúc của khối Ethereum. đã được xác minh. Không cần phải duy trì dữ liệu trạng thái, điều này giúp loại bỏ nhu cầu đọc và ghi vào đĩa cứng và việc xác minh khối có thể nhanh hơn. Ngoài ra, mỗi nút hoàn toàn không thể duy trì dữ liệu trạng thái hoặc nó có thể duy trì dữ liệu trạng thái của một số hợp đồng nhất định theo nhu cầu riêng của mình.

Tuy nhiên, thành thật mà nói, tình trạng không quốc tịch vẫn phải đối mặt với nhiều thách thức về thiết kế. Cụ thể:


(1) Tính không quốc tịch đòi hỏi phải có một nhân chứng của trạng thái được truy cập vào khối/giao dịch. Quy mô của phần dữ liệu này có thể rất lớn. Khối hiện tại của Ethereum Kích thước dữ liệu khoảng 20 đến 40 KB, nhưng kích thước của dữ liệu nhân chứng có thể ở mức MB (tùy thuộc vào kích thước của trạng thái được truy cập);

(2) Chỉ các nút đã duy trì tất cả các bang đều có thể tập hợp Nhân chứng, vậy ai sẽ cung cấp trạng thái cho người dùng bình thường? (Trên thực tế, đây có thể được coi là một sự thay đổi trong các giả định hoạt động của Ethereum: ban đầu tất cả các nút đầy đủ đều có thể tham gia khai thác; nhưng điều này sẽ không xảy ra sau khi tình trạng không trạng thái được thực hiện);

(3) Làm thế nào Định giá lượng gas tiêu thụ của giao dịch? Đặc biệt vì nhân chứng nhạy cảm với thời gian nên không thể xác định cần bao nhiêu tính toán để tập hợp nhân chứng dựa trên mã hoạt động.

Vì những khó khăn này, các nút đầy đủ của Ethereum có thể phải chạy ở chế độ duy trì tất cả các trạng thái này trong một thời gian dài. Tuy nhiên, tình trạng không quốc tịch chắc chắn là hướng thú vị nhất trong các cải tiến hiện tại đối với giao thức Ethereum. Bởi vì nó đối mặt với vấn đề cốt lõi của Ethereum và cố gắng giải quyết nó một cách triệt để. Ngoài ra, nghiên cứu về việc sử dụng dữ liệu trạng thái trong giao thức Ethereum cũng nuôi dưỡng các hướng nghiên cứu khác, chẳng hạn như phương pháp đồng bộ hóa 8.


Tôi có thành kiến khi tin rằng tương lai của Ethereum, nếu không nói là không quốc tịch, là một loại giải pháp nào đó lấy cảm hứng từ tình trạng không quốc tịch.


(4) Giải pháp tổng hợp


Lược đồ Rollup là lược đồ Lớp 2. Điểm đặc biệt của nó là nó sẽ sử dụng các Giao dịch được xuất bản trên chuỗi khối Ethereum .

Giống như các giải pháp Lớp 2 khác, giải pháp Rollup cũng lưu trữ trạng thái ngoài chuỗi và thực hiện không phải Các nút của Ethereum được yêu cầu để tính toán trạng thái mới của hợp đồng; tuy nhiên, tất cả các giao dịch sẽ thay đổi trạng thái của hợp đồng đều được xuất bản dưới dạng dữ liệu, có nghĩa là bất kỳ bên thứ ba nào cũng có thể dựa vào những dữ liệu công khai này và các quy tắc công khai để tính toán đưa ra trạng thái của hợp đồng (mặc dù hợp đồng trên Ethereum không thể tận dụng các trạng thái này).

Như đã đề cập trước đó, khi hợp đồng Lyaer-2 chọn chuyển tính toán trạng thái ra bên ngoài chuỗi Ethereum và Bằng cách che giấu trạng thái hợp đồng của chính mình, nó gây ra rủi ro cho người dùng: người dùng không biết liệu nhà điều hành hợp đồng Lớp 2 có gửi trạng thái không hợp lệ đến chuỗi để blockchain hoàn tất hay không. để trực tiếp đánh cắp tiền của người dùng; Ngoài ra, người dùng không biết liệu người điều hành hợp đồng Lớp 2 có xem xét các giao dịch của mình và đóng băng tiền của mình hay không.

Có hai cách để giải quyết vấn đề trộm tiền. Một là đảm bảo rằng mọi chuyển đổi trạng thái đều hợp lệ, tức là mỗi khi bạn muốn cập nhật trạng thái gốc của hợp đồng, hãy để Ethereum thực hiện quy trình xác minh tính toàn vẹn của phép tính. Chỉ khi xác minh được thông qua, hợp đồng mới được phép cập nhật gốc trạng thái. Đây là ý tưởng của zk-rollup, một ý tưởng khác là yêu cầu mọi người cập nhật gốc trạng thái của hợp đồng khi yêu cầu. Nó đi kèm với một khoản tiền gửi. Nếu gốc trạng thái đã gửi không hợp lệ, người báo cáo gốc trạng thái có thể nhận được tiền đặt cọc của người gửi ban đầu. Đây là tổng hợp lạc quan. Nhưng có một điều kiện tiên quyết cho ý tưởng thứ hai này: người tố cáo phải có cách để có được trạng thái trước khi chuyển đổi trạng thái, nếu không sẽ không thể tạo ra bằng chứng về lỗi của quá trình chuyển đổi.


Chỉ có một giải pháp cho vấn đề tiền bị khóa: làm suy yếu khái niệm "nhà điều hành" càng nhiều càng tốt để bất kỳ ai cũng có thể gửi giao dịch tới Ethereum để cập nhật Lớp- 2 trạng thái hợp đồng. Nhưng điều này quay trở lại câu hỏi: Nếu người gửi không có tư cách hợp đồng thì làm sao có thể chứng minh tính hợp lệ của quyền truy cập trạng thái của chính mình và để hợp đồng được giải phóng?


Cuối cùng, giải pháp Tổng hợp giải quyết vấn đề này bằng cách "xuất bản dữ liệu giao dịch khớp ở mỗi lần chuyển đổi trạng thái". Do đó, mặc dù hợp đồng tổng hợp không hiển thị trạng thái trên chuỗi, nhưng bất kỳ ai - kể cả người dùng hợp đồng tổng hợp - đều có thể xây dựng lại trạng thái nội bộ của hợp đồng tổng hợp dựa trên các gói giao dịch công khai này. Điều này có nghĩa là, nếu được thiết kế phù hợp, số tiền trong hợp đồng rollup có thể an toàn như hợp đồng lưu trạng thái trên chuỗi khối Ethereum (tức là hợp đồng mà chúng ta thường sử dụng ngày nay)!


Lấy zk-rollup làm ví dụ. Chương trình xác minh trên chuỗi đảm bảo rằng hợp đồng tổng hợp không thể cập nhật gốc trạng thái sai, giống như khi không có sự cho phép của bạn. DAO không thể tịch thu DAI của bạn; đồng thời, giả sử nó cũng tiết lộ phương pháp xây dựng tính toán tính toàn vẹn, bạn có thể bắt đầu chuyển đổi trạng thái trực tiếp sang hợp đồng trên chuỗi bất kỳ lúc nào để rút tiền của chính mình. Điều này hoàn toàn giống với một hợp đồng có trạng thái, thông thường: nếu không có cuộc tấn công 51% thì không có cách nào khôi phục trạng thái của hợp đồng tổng số; nếu không có cuộc tấn công 51% kéo dài thì không có gì ngăn cản bạn lấy lại tiền của mình.


Optimistic-rollup dựa trên một số giả định về kinh tế tiền điện tử và do đó yếu hơn một chút: ngoài trạng thái khôi phục tấn công 51%, kẻ tấn công còn có thể thực hiện một cuộc tấn công kiểm duyệt 51% để đưa một gốc trạng thái sai vào hợp đồng, hoặc bạn có thể đánh cược rằng tất cả những người tính toán trạng thái mới nhất của hợp đồng sẽ không quan sát thấy lỗi (xác suất rất nhỏ). Nhưng Optimistic-rollup cũng cung cấp quyền tự do giám sát mạnh mẽ và bạn có thể lấy lại tiền của mình bất kỳ lúc nào.


Nói cách khác, nếu người dùng sẵn sàng gửi tiền vào một hợp đồng có trạng thái (chẳng hạn như hợp đồng phức hợp, nhà sản xuất dao, uniswap) , thì không có lý do gì để không gửi tiền vào hợp đồng tổng số (nếu bạn phải thêm một vòng loại, đó sẽ là hợp đồng zk-rollup). Với zk-rollup, giải pháp lớp 2 có thể cung cấp cho người dùng mức độ bảo mật quỹ cao nhất mà các hợp đồng trên chuỗi khối Ethereum có thể cung cấp. Rõ ràng, chỉ khi đạt được điều này, chúng ta mới có thể đạt được việc áp dụng trên quy mô lớn.


Tất cả các giải pháp Lớp 2 có thể được coi là sự thỏa hiệp hướng tới tình trạng không trạng thái: bản thân giải pháp Lớp 2 là không trạng thái. trạng thái nội bộ của hợp đồng Lớp 2 không thể truy cập được đối với các hợp đồng khác), cho dù trạng thái bên trong của nó phức tạp đến đâu, nó sẽ không làm tăng gánh nặng cho nút Ethereum; đồng thời, cập nhật hợp đồng Lớp 2 (gốc trạng thái ) Tại thời điểm này, Ethereum đóng vai trò xác minh nhiều hơn, tức là xác minh rằng bản cập nhật gốc trạng thái là hợp lệ, thay vì tự tính toán gốc trạng thái. Tuy nhiên, trong kỷ nguyên tổng hợp, giải pháp Lớp 2 đã chứng minh rằng nó có thể an toàn như một hợp đồng có trạng thái và lời hứa của nó có thể trở thành hiện thực.


IV. Kết luận


Tóm lại, trong bài viết này, tôi giải thích nguồn gốc “khả năng kết hợp” của Ethereum và liệu các giải pháp về khả năng mở rộng được thảo luận sôi nổi khác nhau có hy sinh khả năng kết hợp này hay không và liệu Cái gì được đổi lấy. Người đọc có thể nhận thấy rằng khi lý luận và đánh giá, tôi rất coi trọng “những gì mình đã đạt được/đạt được” và “những gì hành vi của mọi người cho thấy họ cần”. Vâng, chính từ góc độ này mà tôi giải thích sự hấp dẫn của giải pháp tổng hợp (trên thực tế, đây có thể là một trong những động lực cốt lõi để tôi viết bài này). Theo tôi, xu hướng tư duy như vậy có thể khiến xuất phát điểm suy nghĩ của chúng ta trở nên đáng tin cậy hơn, tránh đoán được nhu cầu của người dùng và tránh đầu tư xây dựng lâu đài trên không.


Trong quá trình lịch sử, tôi đã thấy người ta chọn những thứ nhất định trong số những thứ tùy chọn, điều đó khiến tôi phải nghĩ rằng những thứ này là quan trọng. ; và nếu Một số công nghệ nhất định không làm tăng những gì mọi người có thể lựa chọn mà còn hy sinh những gì mọi người thực sự lựa chọn, thì không có lý do gì để tin tưởng vào những công nghệ này.


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

举报 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