Lớp 1 nên đổi mới trong ngắn hạn nhưng ít hơn trong dài hạn

Rate this post


2018 ngày 26 tháng 8
Xem tất cả bài viết
Lớp 1 nên đổi mới trong ngắn hạn nhưng ít hơn trong dài hạn

Xem cập nhật 2018-08-29

Một trong những sự đánh đổi quan trọng trong thiết kế chuỗi khối là liệu có nên xây dựng thêm chức năng vào chính các chuỗi khối lớp cơ sở (“lớp 1”) hay xây dựng nó thành các giao thức nằm trên cùng của chuỗi khối và có thể được tạo và sửa đổi mà không cần thay đổi cấu trúc chuỗi khối. blockchain (“lớp 2”). Sự đánh đổi cho đến nay đã thể hiện rõ nhất trong các cuộc tranh luận về quy mô, với một bên là tăng kích thước khối (và phân mảnh) và bên kia là các giải pháp lớp 2 như Plasma và các kênh, và ở một mức độ nào đó là quản trị chuỗi khối, với khả năng phục hồi tổn thất và trộm cắp. có thể giải quyết bằng DAO fork hoặc khái quát hóa của chúng như EIP 867 hoặc bằng các giải pháp lớp 2 như Reversible Ether (RETH). Vì vậy, cách tiếp cận nào cuối cùng là tốt hơn? Những người biết tôi rõ, hoặc đã nhìn thấy tôi ra bản thân mình như một trung tâm bẩn, biết rằng tôi chắc chắn sẽ nói “một số của cả hai”. Tuy nhiên, về lâu dài, tôi nghĩ rằng khi các chuỗi khối ngày càng trưởng thành hơn, lớp 1 nhất thiết sẽ ổn định và lớp 2 sẽ ngày càng gánh nhiều gánh nặng của sự đổi mới và thay đổi liên tục.

Có nhiều lý do tại sao. Đầu tiên là các giải pháp lớp 1 yêu cầu thay đổi giao thức liên tục xảy ra ở lớp giao thức cơ sở, thay đổi giao thức lớp cơ sở yêu cầu quản trị và người ta vẫn chưa chứng minh được rằng, về lâu dài, việc quản trị chuỗi khối mang tính “hoạt động tích cực” cao có thể tiếp tục mà không gây ra sự bất ổn chính trị đang diễn ra hoặc rơi vào tình trạng tập trung hóa.

Để lấy một ví dụ từ lĩnh vực khác, hãy xem xét sự bảo vệ của Moxie Marlinspike về bản chất tập trung và không liên kết của Signal. Tất nhiên, một tài liệu của một công ty bảo vệ quyền duy trì quyền kiểm soát đối với một hệ sinh thái mà công ty phụ thuộc vào hoạt động kinh doanh chính của mình nên được coi là muối bỏ bể, nhưng người ta vẫn có thể hưởng lợi từ các lập luận. trích dẫn:

Một trong những điều gây tranh cãi mà chúng tôi đã làm với Signal từ rất sớm là xây dựng nó như một dịch vụ không liên kết. Không có gì về bất kỳ giao thức nào mà chúng tôi đã phát triển yêu cầu tập trung hóa; hoàn toàn có thể xây dựng một trình nhắn tin dựa trên Giao thức tín hiệu được liên kết, nhưng tôi không còn tin rằng có thể xây dựng một trình nhắn tin liên kết cạnh tranh nữa.

Và:

Câu trả lời của họ là “thật ngu ngốc, internet sẽ phát triển được bao xa nếu không có các giao thức có thể tương tác được xác định bởi bên thứ 3?” Tôi nghĩ về nó. Chúng tôi đã có phiên bản sản xuất đầu tiên của IP và đã cố gắng trong 20 năm qua để chuyển sang phiên bản sản xuất thứ hai của IP nhưng không thành công. Chúng tôi đã có phiên bản HTTP 1.1 vào năm 1997 và bị mắc kẹt ở đó cho đến bây giờ. Tương tự như vậy, SMTP, IRC, DNS, XMPP, tất cả đều bị đóng băng tương tự vào khoảng cuối những năm 1990. Để trả lời câu hỏi của anh ấy, đó là mức độ phát triển của Internet. Nó đã đến cuối những năm 90. Điều đó đã đưa chúng tôi đi khá xa, nhưng không thể phủ nhận rằng một khi bạn đã liên kết giao thức của mình, thì việc thay đổi sẽ trở nên rất khó khăn. Và ngay bây giờ, ở cấp độ ứng dụng, những thứ đứng yên không hoạt động tốt trong một thế giới mà hệ sinh thái đang chuyển động… Chừng nào liên kết còn có nghĩa là ngừng trệ trong khi tập trung hóa có nghĩa là chuyển động, thì các giao thức liên kết sẽ gặp sự cố tồn tại trong một môi trường phần mềm đòi hỏi sự chuyển động như ngày nay.

Tại thời điểm này và trong tương lai gần, rõ ràng là các nền tảng ứng dụng phi tập trung, thanh toán tiền điện tử, hệ thống nhận dạng, hệ thống danh tiếng, cơ chế trao đổi phi tập trung, đấu giá, giải pháp quyền riêng tư, ngôn ngữ lập trình hỗ trợ giải pháp quyền riêng tư và hầu hết các nền tảng khác những điều thú vị có thể được thực hiện trên chuỗi khối là những lĩnh vực sẽ tiếp tục có sự đổi mới quan trọng và liên tục. Các nền tảng ứng dụng phi tập trung thường cần tiếp tục giảm thời gian xác nhận, thanh toán cần xác nhận nhanh, chi phí giao dịch thấp, quyền riêng tư và nhiều tính năng tích hợp khác, các sàn giao dịch đang xuất hiện dưới nhiều hình thức và quy mô bao gồm các nhà tạo lập thị trường tự động trên chuỗi, đấu giá theo lô thường xuyên, đấu giá tổ hợp và nhiều hơn nữa. Do đó, “xây dựng” bất kỳ thứ nào trong số này thành một chuỗi khối lớp cơ sở sẽ là một ý tưởng tồi, vì nó sẽ tạo ra mức quản trị cao vì nền tảng sẽ phải liên tục thảo luận, triển khai và điều phối các cải tiến kỹ thuật mới được phát hiện. Vì lý do tương tự, các sứ giả được liên kết gặp khó khăn khi bắt đầu hoạt động mà không tập trung lại, các chuỗi khối cũng sẽ cần phải lựa chọn giữa việc áp dụng quản trị của nhà hoạt động, với những nguy cơ kéo theo và tụt hậu so với các lựa chọn thay thế mới xuất hiện.

Ngay cả mức độ hạn chế của chức năng dành riêng cho ứng dụng, tiền biên dịch, của Ethereum cũng đã thấy một số hiệu ứng này. Cách đây chưa đầy một năm, Ethereum đã thông qua hard fork Byzantium, bao gồm các hoạt động để tạo điều kiện thuận lợi cho các hoạt động của đường cong elip cần thiết cho chữ ký vòng, ZK-SNARK và các ứng dụng khác, sử dụng đường cong alt-bn128. Giờ đây, Zcash và các chuỗi khối khác đang hướng tới BLS-12-381 và Ethereum sẽ cần phải rẽ nhánh một lần nữa để bắt kịp. Một phần để tránh gặp phải các sự cố tương tự trong tương lai, cộng đồng Ethereum đang tìm cách nâng cấp EVM lên E-WASM, một máy ảo đủ hiệu quả hơn để ít cần phải kết hợp các trình biên dịch trước dành riêng cho ứng dụng.

Nhưng cũng có một lập luận thứ hai ủng hộ các giải pháp lớp 2, một giải pháp không phụ thuộc vào tốc độ phát triển kỹ thuật dự đoán: đôi khi có những sự đánh đổi không thể tránh khỏi, không có giải pháp tối ưu toàn cầu duy nhất. Điều này khó thấy hơn trong các chuỗi khối kiểu Ethereum 1.0, nơi có một số mô hình nhất định phổ biến hợp lý (ví dụ: mô hình dựa trên tài khoản của Ethereum là một). Trong phân mảnh chuỗi khối, tuy nhiên, một loại câu hỏi không không phải tồn tại trong Ethereum ngày nay mọc lên: làm thế nào để thực hiện các giao dịch chéo? Nghĩa là, giả sử rằng trạng thái chuỗi khối có các khu vực A và B, nơi có ít hoặc không có nút nào đang xử lý cả A và B. Hệ thống xử lý các giao dịch ảnh hưởng đến cả A và B như thế nào?

Câu trả lời hiện tại liên quan đến giao tiếp giữa các phân đoạn không đồng bộ, đủ để chuyển nội dung và một số ứng dụng khác, nhưng không đủ cho nhiều ứng dụng khác. Các hoạt động đồng bộ (ví dụ: để giải quyết vấn đề về xe lửa và khách sạn) có thể được bắt đầu bằng cách giật chéo phân đoạn, nhưng điều này đòi hỏi nhiều vòng tương tác giữa các phân đoạn, dẫn đến sự chậm trễ đáng kể. Chúng ta có thể giải quyết những vấn đề này bằng sơ đồ thực thi đồng bộ, nhưng điều này đi kèm với một số sự đánh đổi:

  • Hệ thống không thể xử lý nhiều hơn một giao dịch cho cùng một tài khoản trên mỗi khối
  • Các giao dịch phải khai báo trước những phân đoạn và địa chỉ mà chúng ảnh hưởng
  • Có nguy cơ cao về bất kỳ giao dịch cụ thể nào không thành công (và vẫn phải trả phí!) nếu giao dịch chỉ được chấp nhận ở một số phân đoạn mà nó ảnh hưởng chứ không phải những phân đoạn khác

Rất có khả năng là một sơ đồ tốt hơn có thể được phát triển, nhưng nó sẽ phức tạp hơn và có thể có những hạn chế mà sơ đồ này không có. Có những kết quả đã biết ngăn cản sự hoàn hảo; ít nhất, luật của Amdahl đặt ra giới hạn cứng đối với khả năng của một số ứng dụng và một số loại tương tác để xử lý nhiều giao dịch hơn mỗi giây thông qua song song hóa.

Vậy làm cách nào để chúng ta tạo ra một môi trường nơi các kế hoạch tốt hơn có thể được thử nghiệm và triển khai? Câu trả lời là một ý tưởng có thể được ghi nhận cho Justin Drake: công cụ thực thi lớp 2. Người dùng sẽ có thể gửi tài sản vào một “hợp đồng bắc cầu”, sẽ tính toán (sử dụng một số kỹ thuật gián tiếp như xác minh tương tác hoặc ZK-SNARK) gốc trạng thái bằng cách sử dụng một số bộ quy tắc thay thế để xử lý chuỗi khối (nghĩ điều này tương đương với “siêu giao thức” lớp hai như Mastercoin/OMNI và Đối tác trên Bitcoin, ngoại trừ do hợp đồng cầu nối, các giao thức này sẽ có thể xử lý các tài sản có “sổ cái cơ sở” được xác định trên giao thức cơ bản) và sẽ xử lý rút tiền khi và chỉ khi bộ quy tắc thay thế tạo ra yêu cầu rút tiền.


Lưu ý rằng bất kỳ ai cũng có thể tạo công cụ thực thi lớp 2 bất kỳ lúc nào, những người dùng khác nhau có thể sử dụng các công cụ thực thi khác nhau và một người có thể chuyển từ công cụ thực thi này sang bất kỳ công cụ thực thi nào khác hoặc sang giao thức cơ sở, khá nhanh chóng. Chuỗi khối cơ sở không còn phải lo lắng về việc trở thành một công cụ xử lý hợp đồng thông minh tối ưu; nó chỉ cần là một lớp có sẵn dữ liệu với các quy tắc thực thi gần như hoàn thành Turing để bất kỳ hợp đồng cầu nối lớp 2 nào cũng có thể được xây dựng trên đầu và cho phép các hoạt động cơ bản mang trạng thái giữa các phân đoạn (trên thực tế, chỉ chuyển ETH mới có thể thay thế được trên các phân đoạn là đủ, nhưng cũng cần rất ít nỗ lực để cho phép các cuộc gọi giữa các phân đoạn, vì vậy chúng tôi cũng có thể hỗ trợ chúng), nhưng không yêu cầu sự phức tạp hơn thế. Cũng lưu ý rằng các công cụ thực thi lớp 2 có thể có các quy tắc quản lý trạng thái khác với lớp 1, vd. không phải trả tiền thuê kho bãi; bất cứ điều gì xảy ra, vì trách nhiệm của người dùng công cụ thực thi cụ thể đó là đảm bảo rằng nó bền vững và nếu họ không làm như vậy thì hậu quả sẽ thuộc về người dùng công cụ thực thi cụ thể đó.

Về lâu dài, lớp 1 sẽ không cạnh tranh tích cực về tất cả những cải tiến này; nó chỉ đơn giản là cung cấp một nền tảng ổn định cho sự đổi mới lớp 2 diễn ra ở trên cùng. Điều này có nghĩa là, chẳng hạn, sharding là một ý tưởng tồi và chúng ta nên giữ kích thước chuỗi khối và trạng thái nhỏ để máy tính thậm chí 10 năm tuổi có thể xử lý giao dịch của mọi người? Tuyệt đối không. Ngay cả khi các công cụ thực thi là thứ được chuyển một phần hoặc toàn bộ sang lớp 2, thì sự đồng thuận về thứ tự và tính khả dụng của dữ liệu vẫn là một chức năng cần thiết và có tính khái quát cao; để xem các công cụ thực thi lớp 2 khó khăn như thế nào nếu không có sự đồng thuận về tính sẵn có của dữ liệu có thể mở rộng ở lớp 1, hãy xem những khó khăn trong nghiên cứu Plasma và ví dụ khó khăn trong việc mở rộng tự nhiên sang các chuỗi khối có mục đích chung hoàn toàn. Và nếu mọi người muốn đưa một trăm megabyte mỗi giây dữ liệu vào một hệ thống mà họ cần có sự đồng thuận về tính khả dụng, thì chúng ta cần có sự đồng thuận về tính khả dụng của dữ liệu một trăm megabyte mỗi giây.

Ngoài ra, lớp 1 vẫn có thể cải thiện việc giảm độ trễ; nếu lớp 1 chậm, thì chiến lược duy nhất để đạt được độ trễ rất thấp là các kênh trạng thái, thường có yêu cầu về vốn cao và có thể khó khái quát hóa. Các kênh trạng thái sẽ luôn đánh bại các chuỗi khối lớp 1 về độ trễ vì các kênh trạng thái chỉ yêu cầu một thông báo mạng duy nhất, nhưng trong những trường hợp kênh trạng thái không hoạt động tốt, các chuỗi khối lớp 1 vẫn có thể tiến gần hơn so với hiện nay.

Do đó, quan điểm cực đoan khác, rằng các lớp cơ sở chuỗi khối có thể thực sự tối thiểu tuyệt đối và không bận tâm đến công cụ thực thi hoàn chỉnh gần như Turing hoặc khả năng mở rộng vượt quá khả năng của một nút, cũng rõ ràng là sai; có một mức độ phức tạp tối thiểu nhất định cần thiết để các lớp cơ sở đủ mạnh để các ứng dụng xây dựng trên chúng và chúng tôi vẫn chưa đạt đến mức đó. Sự phức tạp bổ sung là cần thiết, mặc dù nó nên được lựa chọn rất cẩn thận để đảm bảo rằng nó phục vụ mục đích chung tối đa và không nhắm mục tiêu vào các ứng dụng hoặc công nghệ cụ thể sẽ lỗi thời trong hai năm do mất hứng thú hoặc các lựa chọn thay thế tốt hơn.

Và ngay cả trong tương lai, các lớp cơ sở sẽ cần tiếp tục thực hiện một số nâng cấp, đặc biệt nếu các công nghệ mới (ví dụ: STARK đạt đến mức trưởng thành cao hơn) cho phép chúng đạt được các đặc tính mạnh hơn so với trước đây, mặc dù các nhà phát triển ngày nay có thể quan tâm đến việc tạo cơ sở nền tảng lớp tương thích tối đa về phía trước với những cải tiến tiềm năng như vậy. Vì vậy, sẽ tiếp tục đúng khi cần có sự cân bằng giữa các cải tiến của lớp 1 và lớp 2 để tiếp tục cải thiện khả năng mở rộng, quyền riêng tư và tính linh hoạt, mặc dù lớp 2 sẽ tiếp tục chiếm tỷ trọng đổi mới ngày càng lớn hơn theo thời gian.

Cập nhật 2018.08.29: Justin Drake đã chỉ ra cho tôi một lý do chính đáng khác tại sao một số tính năng có thể được triển khai tốt nhất trên lớp 1: những tính năng đó là hàng hóa công cộng và do đó không thể được tài trợ một cách hiệu quả hoặc đáng tin cậy bằng phí sử dụng dành riêng cho tính năng và do đó được thanh toán tốt nhất bằng trợ cấp thanh toán phí phát hành hoặc phí giao dịch bị đốt cháy. Một ví dụ có thể về điều này là tạo số ngẫu nhiên an toàn và một ví dụ khác là tạo bằng chứng kiến ​​thức bằng không để xác thực khách hàng hiệu quả hơn về tính chính xác của các tuyên bố khác nhau về nội dung hoặc trạng thái chuỗi khối.

Thanh Thuy

Leave a Reply

Your email address will not be published. Required fields are marked *