Nhà phát triển Eth2 nói về những thách thức và bài học kinh nghiệm trước khi ra mắt mainnet

Sau nhiều năm trì hoãn và thay đổi kế hoạch, Ethereum 2.0 cuối cùng cũng sắp được phát hành vào ngày 1 tháng 12.

Ethereum 2.0 Giai đoạn 0 đang giới thiệu cơ chế đặt cược đã được chờ đợi từ lâu vào nền tảng hợp đồng thông minh, ngoài việc khởi chạy bộ xương của chuỗi khối Eth2 trong tương lai, Chuỗi Beacon.

Tiến độ vào năm 2020 tăng dần đều khi ngày càng có nhiều mạng thử nghiệm được giới thiệu và lặp lại. Mặc dù họ đã thành công về tổng thể, nhưng họ không được miễn trừ các vấn đề liên quan đến đồng bộ hóa và sản xuất khối.

Một phần của những vấn đề đó đến từ thách thức giữ cùng một tốc độ giữa bảy máy khách khác nhau, hoặc phần mềm nút Ethereum 2.0, hoạt động với các ngôn ngữ lập trình và ngăn xếp công nghệ khác nhau.

Cointelegraph đã nói chuyện với Zahary Karadjov, nhà phát triển nghiên cứu tại Nimbus – một trong những khách hàng đó – để tìm hiểu thêm về con đường mà Ethereum 2.0 đã đi cho đến nay và các chặng tiếp theo của cuộc hành trình.

Cuộc phỏng vấn đã được chỉnh sửa nhẹ về độ dài và ngữ cảnh.

Cointelegraph: Nimbus dường như đã gặp một số vấn đề khác khi bắt kịp các thông số kỹ thuật Ethereum 2.0 được chia sẻ. Sao bạn lại nghĩ như vậy?

Zahary Karadjov: Chúng tôi rất bận rộn chuẩn bị Nimbus cho mainnet. Công bằng mà nói, nó có một chút thách thức hơn đối với chúng tôi vì chúng tôi đã mất một khoảng thời gian để phát triển một số thành phần mà các nhóm khác đã có sẵn – cụ thể hơn là lớp mạng Libp2p.

Đây là thứ mà chúng tôi phải xây dựng từ đầu và chúng tôi đã mất khá nhiều thời gian để ổn định nó. Có vài tháng chúng tôi gặp khó khăn về hiệu suất. Chỉ gần đây chúng tôi mới xuất bản bản phát hành ổn định đầu tiên của mình. Nhưng hiện tại, chúng tôi cảm thấy tin tưởng vào mainnet: Chúng tôi đang giải quyết những vấn đề nhỏ cuối cùng và quá trình kiểm toán của chúng tôi cũng đã hoàn thành.

CT: Prysm và Lighthouse – tương tự như các ứng dụng khách Ethereum 1.0 hiện tại được xây dựng trong Go và Rust – dường như đã đi trước những người khác cho đến nay. Đó có phải là vì họ đã có thể xây dựng dựa trên công việc được thực hiện cho Ethereum 1.0?

ZK: Lời giải thích của tôi sẽ là một sự đơn giản hóa, vì có nhiều yếu tố liên quan. Nhưng tôi có thể nói rằng việc phát triển Libp2p là nguyên nhân gây ra sự chậm trễ đáng kể nhất đối với chúng tôi. Và logic dễ dàng nhận thấy ở đây: Teku, được phát triển bằng Java, cũng không có triển khai Libp2p và nó cũng đã sẵn sàng ở giai đoạn sau một chút.

Nhóm Prysm có được điều xa xỉ là đã phát triển Libp2p cách đây rất lâu, vì nó ban đầu được phát triển trong Go, trong khi Lighthouse có thể tận dụng việc triển khai được tạo ra, một lần nữa, khá lâu trước đây bởi nhóm Parity cho công việc của họ Polkadot.

Libp2p là lớp mạng của Ethereum 2.0 – bạn có thể nói đó là một công nghệ hoàn toàn khác với công nghệ được sử dụng trong Ethereum 1.0. Theo thuật ngữ rất thực tế, đó là công nghệ đăng ký xuất bản được gọi là Gossipsub, là một cách được tối ưu hóa để truyền phát thông tin trong mạng.

CT: Hãy nói về mạng thử nghiệm Medalla. Nimbus và cộng đồng Eth2 đã học được những bài học gì, đặc biệt là xem xét các giai đoạn mà blockchain không cung cấp đảm bảo tính cuối cùng của khối?

ZK: Chà, cuộc đấu tranh giành vị trí cuối cùng bắt đầu từ một vấn đề kỹ thuật. Có sự cố Cloudflare Roughtime nổi tiếng, đã chứng minh chính xác những gì chúng ta đã thảo luận trong cuộc trò chuyện trước đó. Nếu mọi người trên mạng đang sử dụng cùng một ứng dụng khách, một vấn đề kỹ thuật trong ứng dụng khách cụ thể này có thể khiến nhiều trình xác thực ngoại tuyến, điều này có thể ngay lập tức khiến mạng chuyển sang trạng thái chưa hoàn thiện.

Chúng tôi đã gặp vấn đề này với ứng dụng khách Prysm và nó cũng dạy một bài học quan trọng về tầm quan trọng của giao tiếp. Nhóm Prysm đã có thể cung cấp bản sửa lỗi cho vấn đề này trong một khoảng thời gian rất ngắn – chỉ vài giờ. Nhưng phải mất một lúc khá lâu cộng đồng mới nhận ra có sự cố và triển khai bản sửa lỗi.

Đây là sự cố ban đầu đã tạo ra một khoảng thời gian dài không hoàn thành cho Medalla. Nhưng điều này thực sự rất hữu ích cho khách hàng vì khi mạng chưa hoàn thiện, khách hàng phải xem xét nhiều nhánh khác nhau có thể có và lịch sử thay thế, và điều này gây rất nhiều căng thẳng cho khách hàng. Vì vậy, những khoảng thời gian dài không hoàn thiện này cho phép chúng tôi xem và tối ưu hóa khách hàng cho những khoảnh khắc căng thẳng trong mạng nơi mọi thứ không chạy như mong đợi.

CT: Trong quá trình testnet và giai đoạn không hoàn tất, một số người dùng phàn nàn rằng số tiền đặt cọc của họ bị giảm ngay cả khi họ đang trực tuyến. Đó là lỗi hay một tính năng của hệ thống?

ZK: Bạn có thể mô tả nó như một hậu quả không lường trước được. Về cơ bản, vấn đề là khách hàng được thưởng cho các chứng thực được phát trên mạng. Nhưng những chứng thực này phải được bao gồm trong các khối. Nếu không có ai để tạo ra các khối, chứng thực của bạn sẽ không kết thúc trên chuỗi. Vì vậy, có vẻ như bạn không hoạt động.

Tôi cho rằng vấn đề này được nhóm thực hiện và nhóm nghiên cứu ghi nhận và thừa nhận. Nó sẽ được giải quyết trong tương lai của Ethereum – trong Giai đoạn 1, hoặc thậm chí Giai đoạn 0,5, một trong những nâng cấp đầu tiên của mạng. Nhưng chúng ta không nên quên rằng sẽ khá bất ngờ nếu chúng ta thấy tỷ lệ tham gia thấp trên mạng chính, vì khi có cổ phần thực sự tham gia, động cơ khuyến khích người xác thực trực tuyến sẽ mạnh hơn nhiều.

CT: Bạn có nghĩ rằng những phức tạp này và yêu cầu liên tục trực tuyến có thể khiến mọi người không đặt cược bằng thiết bị của họ không?

ZK: Chà, đây là một quan niệm sai lầm rất phổ biến mà tôi nghĩ chúng ta nên giao tiếp tốt hơn nhiều. Trên thực tế, rủi ro của việc không trực tuyến mọi lúc không phải là lớn. Bạn sẽ kiếm được lợi nhuận nếu bạn trực tuyến hơn 50% thời gian. Hãy nghĩ về điều đó: Bạn có thể ngoại tuyến trong nửa năm và bạn vẫn ở con số 0. Bạn sẽ không kiếm được tiền, nhưng bạn cũng sẽ không mất bất kỳ khoản tiền nào. Giao thức khá dễ dãi trong vấn đề này.

CT: Điều gì xảy ra sau khi ra mắt mạng chính của Giai đoạn 0? Sharding là bản nâng cấp tiếp theo trong danh sách hay bạn có mong đợi nhiều công việc hơn cần thiết cho Chuỗi báo hiệu ban đầu này không?

ZK: Chắc chắn sẽ có những bản nâng cấp khi tích hợp Giai đoạn 1 và nó sẽ yêu cầu những thay đổi đột phá – hay hãy gọi nó là một đợt hard fork – nơi các nhóm khách hàng sẽ phát hành phần mềm mới khi có nhiều chức năng hơn được đưa lên mạng. Chúng tôi mong đợi việc triển khai tiện ích cuối cùng vào một thời điểm nào đó, sẽ hoàn thiện chuỗi Ethereum 1.0 thông qua cơ chế đồng thuận của Ethereum 2.0. Tất cả các bản phát hành đang diễn ra này sẽ diễn ra song song. Chúng độc lập với nhau một chút và là một phần của lộ trình Ethereum trong vài năm tới.