Sau khi viết chữ Celestia và gõ dòng chữ, ông phàn nàn: Các kỹ năng cơ bản của Cosmos không vững chắc

Tác giả: Wuyue, Geek Web3

Vào ngày 17 tháng Mười Hai, tôi biết rằng dòng chữ CIAS sẽ được xuất bản trên Celestia, và tôi đã lên kế hoạch làm việc tạm thời để viết một kịch bản để chải dòng chữ. Bây giờ, tôi có rất nhiều điều để phàn nàn về Celestia và hệ sinh thái Cosmos của nó, cũng như chính sự kiện CIAS.

Trên thực tế, không khó để viết một tập lệnh để chải chữ khắc, chủ yếu được chia thành ba mô-đun: xây dựng ví, kết nối các nút và giao dịch tràn ngập. ** Hai bước đầu tiên chỉ cần được tìm thấy trong tài liệu dành cho nhà phát triển của chuỗi công khai mục tiêu để tìm cách triển khai nhanh chóng.

Đầu tiên tôi truy cập trang web chính thức của Celestia và Github để xem xét và không có trường hợp sử dụng nào để các nhà phát triển xây dựng kịch bản người dùng, chủ yếu là hoạt động của nút và các tài liệu liên quan khác. Tất nhiên, điều này là dễ hiểu, bởi vì Celestia không phải là một blockchain ToC. Celestia chỉ đề cập ở một nơi tối nghĩa rằng nó dựa trên Cosmos và có thể tương tác với mạng chính của nó với CosmJS.

Vì vậy, tôi đã đi thẳng đến CosmJS. Nhưng còn Cosmos thì sao, nó thậm chí còn không giỏi về tài liệu. ** Tôi đã trực tiếp đến Github và theo lẽ thường, nói chung loại JS này sẽ có trường hợp sử dụng trên Github. Nhưng hướng dẫn của nó bị ẩn trong một trang phụ.,Và sau khi nhấp vào nó.,Thực hiện theo cấu hình của nó để vượt qua.,Cuối cùng, một lỗi được báo cáo.。

**Lỗi này không phải là vấn đề môi trường.,Đó là vì hướng dẫn của nó chưa được cập nhật với phiên bản hướng dẫn.**Thường thì tên của lớp này bị thay đổi và không thể điều chỉnh được, v.v.。 Tôi đã chuyển sang phiên bản của thư viện npm trên phiên bản hướng dẫn cũ, và vẫn còn một số trường hợp sử dụng không hoạt động, vì vậy tôi đã bỏ cuộc sau khi quăng một thời gian.

Vì vậy, tôi đã google nó một lần nữa và hóa ra tài liệu chính xác nằm trên trang web chính thức thay vì Github, điều này hơi phản trực giác. **Một lần nữa, không phải là tốt để cập nhật hướng dẫn readme Github lên trang web chính thức?

Sau khi nhận được hướng dẫn chính xác, tôi nhanh chóng hoàn thành hai bước xây dựng ví và kết nối các nút, và bắt đầu xây dựng mô-đun giao dịch lũ lụt. Nói một cách đơn giản, mô-đun này là một vòng lặp for xử lý chữ ký giao dịch + yêu cầu mạng. Nhưng đây là một số vấn đề:

**Tất cả các phương thức giao dịch trong thư viện CosmJS chỉ hiển thị các tham số của chính giao dịch, nhưng trình tự của nó không bị lộ ** (trình tự tương tự như nonce trong hội thảo ETH, là bộ đếm giao dịch được đặt để ngăn chặn các cuộc tấn công phát lại và sau mỗi giao dịch được phát hành, nonce và chuỗi sẽ tự động +1).

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

Trình tự thực sự là nó kết nối với mạng để lấy nó khi ký (chainId, v.v.) khi ký và nó phải đi qua sendTokens () -> signAndBroadCast -> sign(). ** Truy cập mạng để yêu cầu và chờ trả lại mỗi khi giao dịch được gửi sẽ ảnh hưởng đến tốc độ của bàn chải và cũng sẽ làm tăng các yêu cầu mạng vô dụng, điều này không tốt cho lũ lụt và tất nhiên không có lợi cho việc tăng tốc / hủy giao dịch. **

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

Hãy xem xét ETH phương thức gửi giao dịch của Web3JS, nơi bạn có thể tự chỉ định nonce. Nhưng không phải trong CosmJS. ** Tôi vẫn nghĩ rằng thiết kế của ETH Fang hợp lý hơn nhiều, bạn có thể trực tiếp chỉ định nonce để hủy / tăng tốc giao dịch **, nếu giao dịch bị kẹt, bạn có thể tùy chỉnh nonce với cùng một giao dịch để thay thế giao dịch bị mắc kẹt, tất nhiên, nó cũng có thể được sử dụng cho cuộc tấn công lũ lụt của chúng tôi.

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

Do hạn chế về thời gian, có một số chức năng khác trong thư viện cần được sửa đổi, ** Tôi quyết định không sử dụng Proxy để viết lại, mà sửa đổi nó trực tiếp trong thư viện CosmJS. **

Ý tưởng của tập lệnh để kích hoạt giao dịch lũ lụt là liên tục bắt đầu giao dịch thông qua vòng lặp for và tạo chữ ký, gửi nó đến nút RPC và sau khi bắt đầu giao dịch, chuỗi / nonce sẽ là +1 và sau khi bắt đầu 20 giao dịch, chu kỳ sẽ được tái chế.

Các chuỗi chỉ được kéo cục bộ trước khi bắt đầu mỗi chu kỳ lũ lụt và không cần phải yêu cầu lại chuỗi từ các nút sau mỗi giao dịch, như mặc định trong thư viện CosmJS. Mặt khác, chainId được viết dưới dạng một giá trị cố định và không phải được yêu cầu nhiều lần từ nút. (Ghi chú của biên tập viên: Số vòng lặp ở đây được đặt tương đối thấp, và rõ ràng là tác giả không quá bạo lực.) Ai đó, khi gõ dòng chữ Conflux, đã thay đổi số chu kỳ mỗi chu kỳ thành 1000, gửi khoảng 200 giao dịch khác nhau mỗi phút)

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

Cuối cùng, tôi đã nhận được một kịch bản Celestia thô sơ, mà tôi đã thử nghiệm một thời gian ngắn sau khi CIAS rút phích cắm vào đêm 17 tháng 12 và gửi hàng trăm giao dịch. Sau khi CIAS hoạt động trở lại vào rạng sáng ngày 19/12, tôi đã tấn công một số CIAS (khoảng 1.800 người). Nhưng vẫn còn những điều khác để phàn nàn: **

  • Vào ngày 17 tháng 12, nút RPC của Celestia đã gặp sự cố dữ liệu không đồng bộ nghiêm trọng, chiều cao khối của các nút RPC khác nhau rất khác nhau và khi bạn yêu cầu nút đến trình tự tài khoản của mình, kết quả trả về về cơ bản không nhất quán, điều này rất đau đớn. Trình thám hiểm khối Celestia cũng không có sẵn, và về cơ bản nó bị mù. Có thể nói, tại thời điểm này, mặc dù mạng Celestia không ngừng hoạt động và vẫn có thể tạo ra các khối, nhưng ước tính nó đã gần đến giới hạn.
  • Cùng ngày, quan chức CIAS thấy rằng Celestia sắp không thể chịu đựng được, và tạm thời thông báo rằng tất cả các giao dịch đúc dòng chữ trên chuỗi sau chiều cao của khối 48460 là không hợp lệ, đó là một xu hướng khá “rút cáp mạng của sàn giao dịch”. Và trang web riêng của CIAS đã sụp đổ.

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

  • Không có bình luận nào về nhận thức rằng giao thức đồng thuận gốc của chuỗi Cosmos thực hiện công việc đồng thuận kém trên các khối, nhưng rõ ràng mục đích của CIAS rút cáp mạng đêm qua là hấp dẫn.
  • Vào ngày 17 tháng 12, thật khó để chọn một nút có dữ liệu được đồng bộ hóa nhanh nhất, bởi vì hầu hết tất cả các nút RPC đều quá đông và thường không phản hồi. Sau đó tôi đã cố gắng viết một số mã tự động chuyển đổi các nút.
  • Định dạng của dòng chữ trong CIAS không hoàn toàn phù hợp với các chữ khắc khác, ví dụ, trong json của brc-20, tất cả các số đều là chuỗi, trong khi trong CIA-20 là một số.

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

  • Chi phí cho các bản khắc CIAS đã tăng vọt lên 1,5 ~ 2U cho mỗi dòng chữ khi nó là mức cao nhất vào đêm qua, và một số người thậm chí còn trả 80U cho một dòng chữ. Mức phí cao như vậy phản ánh TPS hạn chế và người sáng lập Celestia tuyên bố rằng anh ta có thể xử lý 10k giao dịch mỗi giây, điều này rõ ràng là vô nghĩa.

写Celestia脚本打铭文后吐槽:Cosmos基本功不扎实

Nhìn chung, trải nghiệm của đêm 17 tháng 12 là một câu: Celestia chắc chắn không chuẩn bị để đối phó với lưu lượng truy cập quy mô lớn và nó rất chiếu lệ về cấu hình nút RPC (thật khó để tưởng tượng rằng hàng chục nút RPC có thể bị nổ tung trong 1 giờ). **

Vào đêm ngày 19, tình hình đã tốt hơn nhiều, ngoại trừ phí xăng tăng vọt, không có vấn đề gì lớn ở các khía cạnh khác, chỉ có thể nói rằng Celestia, với tư cách là một mạng DA chuyên phân phối dữ liệu đến các nút sáng, đã tạm thời chịu được thử nghiệm, nhưng tôi không biết liệu sẽ có bất kỳ cạm bẫy nào khác trong tương lai hay không.

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
0/400
Không có bình luận
  • Gate Fun hot

    Xem thêm
  • Vốn hóa:$3.48KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$0.1Người nắm giữ:1
    0.00%
  • Vốn hóa:$3.49KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$3.51KNgười nắm giữ:2
    0.00%
  • Vốn hóa:$3.51KNgười nắm giữ:1
    0.00%
  • Ghim