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)
p>
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.
Vậy điều gì khiến Ethereum trở thành một sự đổi mới mang tính đột phá?
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.
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... …
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.
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.
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.
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.
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.)
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.
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.
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