Keyword

    Chi phí trên IC

    Đầu tiên, xin chân thành cảm ơn @SuddenlyHazel trên Twitter vì đã phân tích chi phí. Hãy theo dõi cô ấy vì cô ấy luôn làm rất nhiều điều tuyệt vời trên ICP. Bạn có thể kiểm tra chủ đề chi phí IC của cô ấy ở đây .

    Chi phí trên ICP rất phức tạp vì bạn tài trợ cho các canister có cycles được chuyển đổi từ ICP. Vì vậy, ICP -> cycles -> tính toán, lưu trữ và giao tiếp.

    ICP, cycle và SDR

    Tỷ lệ chuyển đổi ICP sang cycle được xác định thông qua đề xuất NNS xảy ra thường xuyên (chẳng hạn như cứ sau 5 phút). Đề xuất đặt tỷ lệ chuyển đổi tiền tệ ICP thành SDR/XDR. SDR/XDR là một loại tiền tệ ổn định. Vì vậy, hãy lấy giá hiện tại của ICP, trong ví dụ này, giả sử là 5 đô la. Sau đó chia cho giá SDR hiện tại, khoảng 1,4 đô la, để có được tỷ lệ chuyển đổi ICP thành SDR. Trong trường hợp này, $5 / $1,40 = 3,5714.

    Lý do ICP thành SDR quan trọng là vì 1 nghìn tỷ cycle bằng 1 SDR. Vì vậy, 1 nghìn tỷ cycle có giá khoảng 1,4 đô la và di chuyển lên xuống khi giá của SDR di chuyển lên và xuống.

    Bây giờ chúng ta đã có nền tảng này, cycle là gì? Và làm thế nào để chúng ta biết mọi thứ có giá bao nhiêu?

    Từ tài liệu Dfinity,

    Các cycle thể hiện chi phí thực hiện các hướng dẫn WebAssembly của mỗi ứng dụng

    Điều này chỉ có nghĩa là các cycle trả tiền cho giao tiếp, tính toán và lưu trữ. Trên lưu ý đó, chúng ta hãy đi sâu vào các chi phí!

    Có hai loại cuộc gọi đến ICP: cuộc gọi truy vấn và cuộc gọi cập nhật.

    Cuộc gọi truy vấn / Truyền dữ liệu ra ngoài / Đọc dữ liệu

    Các cuộc gọi truy vấn (hoặc đơn giản là đọc dữ liệu) rẻ hơn và nhanh hơn vì bạn không phải thông qua sự đồng thuận để trả về dữ liệu. Điều này có nghĩa là bạn không cần nói chuyện với TẤT CẢ các node trong subnet để lấy dữ liệu. Yêu cầu của bạn sẽ nhận được phản hồi từ node gần nhất và bạn sẽ lấy lại được dữ liệu của mình. Các cuộc gọi truy vấn rẻ và nhanh.

    Trong phân tích của Hazel, cô ấy liệt kê rằng chi phí khoảng 82 đô la Mỹ cho 150 triệu cuộc gọi truy vấn trả về tải trọng 2 MB. Đó là 300 Terabyte dữ liệu! Để so sánh chi phí truyền dữ liệu, hãy chuyển đổi giá trị này thành $$ mỗi GB. 82 USD / 300.000 = 0,0002733 USD / GB.

    Nói một cách dễ hiểu, AWS tính phí 0,07 USD/GB khi truyền dữ liệu ra ngoài, bất kể bạn đang lấy từ RDS (cơ sở dữ liệu quan hệ thông thường trên AWS) hay S3 (lưu trữ tệp thông thường trên AWS và là viết tắt của Simple Storage Service (Dịch vụ lưu trữ đơn giản)). Điều này có nghĩa là sẽ tốn 21 nghìn đô la để đọc 300 TB dữ liệu từ AWS.

    Điều này có nghĩa là chi phí truyền dữ liệu ra AWS cao gấp 256 lần so với truyền dữ liệu ra ICP (!!!). Điều này có vẻ điên rồ nhưng Hazel đề cập rằng AWS nổi tiếng với việc tính phí $$ cho băng thông và như bạn sẽ thấy sau này, trợ cấp chi phí truyền dữ liệu để họ phải kiếm tiền ở đâu đó.

    Cập nhật cuộc gọi / Truyền dữ liệu vào / Lưu dữ liệu

    Các cuộc gọi cập nhật tốn kém hơn các cuộc gọi truy vấn vì bạn phải đạt được sự đồng thuận về các thay đổi trạng thái, hay đúng hơn là khi bạn lưu dữ liệu, bạn có nhiều chỗ cần lưu. Khi hệ số sao chép tăng lên, chi phí của các cuộc gọi cập nhật cũng sẽ tăng lên vì bạn sẽ cần sao chép trạng thái (hoặc dữ liệu) của mình trên tất cả các node trong subnet của mình.

    Theo phân tích chi phí của Hazel trên Twitter, phải mất 6,6 nghìn tỷ chu kỳ để đưa 1 GB dữ liệu vào IC, tương đương khoảng 9,56 USD. Vì vậy, lưu 1 TB dữ liệu vào IC sẽ tốn 9.560 USD.

    Nói một cách dễ hiểu, AWS không tính bất kỳ khoản phí nào đối với việc truyền dữ liệu vào. Chi phí này phải được trợ cấp để khuyến khích mọi người đưa dữ liệu của họ vào AWS. Vì vậy, sẽ tốn 0 đô la trên AWS để đưa 300 Terabyte vào và quá trình tương tự này sẽ tốn 2,8 triệu đô la để đưa vào ICP. Ngoài ra, để cung cấp thêm thông tin, tôi đoán hệ số sao chép cho các noce trong subnet là 7 (đối với thử nghiệm của Hazel), do đó, về cơ bản, bạn đang sao chép 300 TB dữ liệu đến 7 địa điểm khác nhau trên thế giới, tự động tăng tính bảo mật và độ bền của dữ liệu của bạn. Nhưng vâng, mỗi bản sao sẽ có giá khoảng 400 nghìn đô la để đến đó. Trong ví dụ này, AWS rẻ hơn vô cùng vì AWS trợ cấp chi phí dữ liệu đến thành $0.

    Truyền dữ liệu

    Truyền dữ liệu được định nghĩa là đi từ canister này sang canister khác. AWS tương đương sẽ được chuyển từ vùng này sang vùng khác. Không có một cách cụ thể nào để truyền dữ liệu, đây chỉ đơn giản là hộp A gọi hộp B và truyền dữ liệu.

    Phân tích của Hazel cho thấy canister bắt đầu phải trả khoảng 1 nghìn tỷ cycle/GB (~1,4 USD/GB) và canister nhận phải trả khoảng 0,036 nghìn tỷ cycle/GB (~0,05 USD/GB). Vì vậy, để truyền 300 TB dữ liệu mà chúng tôi đang sử dụng làm ví dụ, sẽ tốn 420 nghìn đô la cho canister bắt đầu và 15 nghìn đô la cho canister nhận.

    Nói một cách dễ hiểu, AWS tính phí 0,02 USD/GB cho việc truyền dữ liệu giữa các khu vực. Điều này có nghĩa là việc truyền tệp 300 TB sẽ tốn 6.000 đô la, rẻ hơn 72 lần so với trên IC.

    Kho lưu trữ

    Chi phí 4 SDR để lưu trữ 1 GB dữ liệu trên IC trong một năm. Tức là khoảng $5/GB/năm cho dung lượng lưu trữ. Điều này có nghĩa là ví dụ 300 TB của chúng tôi sẽ tốn 1,5 triệu USD để lưu trữ trên IC/năm.

    Nói một cách dễ hiểu, AWS S3 tính phí 0,023 USD/GB/tháng hoặc 0,276 USD/GB/năm. Điều này có nghĩa là ví dụ 300 TB sẽ có giá 82.800 USD để lưu trữ trên S3. Đối với AWS RDS, chi phí là 0,115 USD/GB/tháng hoặc 1,38 USD/GB/năm, nghĩa là ví dụ 300 TB sẽ có giá 414.000 USD. Điều này có nghĩa là dung lượng lưu trữ trên IC đắt hơn 3,62 lần so với dung lượng lưu trữ trên AWS, mặc dù trên IC bạn nhận được bản sao mặc định trong khi bạn chỉ nhận được một phiên bản dữ liệu của mình trên AWS. Vì vậy, về mặt kỹ thuật, bạn có thể lập luận rằng dung lượng lưu trữ thực sự rẻ hơn trên ICP vì chi phí cho mỗi lần sao chép trên IC là 52% so với dung lượng lưu trữ trên AWS giả định cấu hình sao chép giống hệt nhau (và giả định chi phí giống hệt nhau cho các bản sao bổ sung trên AWS).

    Hoạt động đầu vào đầu ra

    Thí nghiệm cuối cùng mà Hazel thực hiện là xem một canister có thể xử lý bao nhiêu tin nhắn/giây. Cô ấy đánh cùng một canister từ 7 canister khác nhau, mỗi canister gửi 30 cuộc gọi cùng lúc với tải trọng 100 byte. Tốc độ xử lý trung bình là 21 tin nhắn/giây, cao nhất là 70 và thấp nhất là 16. Sẽ rất thú vị khi xem mức độ tải đồng bộ mà một canister/node/subnet con có thể xử lý trước khi nó bắt đầu tăng độ trễ.

    Ví dụ

    Chúng tôi đã đưa ra rất nhiều con số, vì vậy hãy làm một ví dụ hoạt động thực tế để so sánh chi phí một cách có hệ thống hơn.

    Giả sử chúng tôi đặt 1 TB dữ liệu vào và sau đó chúng tôi đọc dữ liệu đó 1.000 lần. Tôi không chắc về sự cân bằng giữa đọc và ghi dữ liệu, nhưng điều này hoàn toàn có thể xảy ra trong một ứng dụng web hiện đại.

    Truyền dữ liệu ICP AWS
    Chi phí dữ liệu IN 9,56$ / GB Free
    Chi phí OUT dữ liệu 0,0002733$ / GB 0,07$ / GB
    Chi phí IN cho 1 TB $9,560 Free
    Chi phí NGOÀI cho 1 TB $273,30 70.000 USD
    Tổng chi phí cho 1 TB $9.833,30 70.000 USD
    ICP và AWS chi phí để lưu 1 TB dữ liệu và sau đó đọc dữ liệu đó 1.000 lần.

    Lưu ý rằng mặc dù chi phí IN (dữ liệu vào) dữ liệu ICP cao hơn chi phí IN (dữ liệu vào) dữ liệu “Miễn phí” được trợ cấp của AWS, nhưng chi phí Dữ liệu OUT (dữ liệu ra) thấp hơn nhiều đến mức có vẻ như chạy một ứng dụng trên ICP thực sự có thể rẻ hơn so với trên AWS. Và bạn thậm chí còn nhận được bản sao 7x trên ICP theo mặc định, trong đó bạn không nhận được bất kỳ bản sao nào theo mặc định trên AWS.

    Kết luận

    Vẫn còn RẤT NHIỀU chúng tôi không biết về chi phí trên IC. Đây là một nhà phát triển (rất thông minh) đang chạy một bộ thử nghiệm (được tiến hành tốt) để hiểu rõ hơn về chi phí trên IC. Chúng tôi cần nhiều nhà phát triển hơn xem xét chi phí chu kỳ trong các tình huống khác nhau trước khi có thể có được bản tóm tắt toàn diện hơn về chi phí IC.

    Lưu ý: Những thử nghiệm này có thể không dẫn đến chi phí thực trên Máy tính Internet. Cần có nhiều thử nghiệm hơn để hiểu chi phí trong các trường hợp khác nhau trên IC.

    Nhận xét cộng đồng có liên quan

    Ayjayem từ DSCVR :Vì vậy, đây là điều thú vị về chi phí nhập/xuất dữ liệu, dựa trên việc đọc nhanh các con số mà Hazel và Bob đã biên soạn rất hữu ích: mặc dù tải dữ liệu miễn phí trên AWS nhưng đọc dữ liệu trên AWS lại tốn nhiều chi phí hơn . Và trong trường hợp đơn giản nhất, bạn chỉ cần tải dữ liệu lên một lần và sau đó dữ liệu sẽ được đọc nhiều lần nữa. Một phân tích hòa vốn đơn giản cho thấy IC thực sự *rẻ hơn* so với AWS nếu cứ mỗi GB lưu được, GB lưu được đó được đọc ~137 lần: $9,56/($0,07 – $0,0002733). Đây là một kịch bản khá hợp lý, tôi nghĩ vậy. (Chưa kể đến việc bạn nhận được bản sao 7x trên IC theo mặc định!) Điều đó có nghĩa là trong một tương lai không xa, có lẽ sẽ hợp lý hơn khi cân bằng chi phí dữ liệu vào/ra dữ liệu chặt chẽ hơn với AWS , để không làm trì hoãn các nhà phát triển IC tương lai (những người sẽ luôn cần lưu dữ liệu trước khi có thể đọc dữ liệu).

    Ayjayem từ DSCVR về thực tế là AWS rẻ hơn nhiều so với IC: Tôi thực sự không đọc các chi phí theo cách này: lưu trữ thực tế rẻ hơn trên IC, trên mỗi hệ số sao chép; và chi phí nhập/xuất dữ liệu hoàn toàn có thể so sánh được khi đọc cùng nhau, ngay cả khi không sao chép (xem phản hồi cho Jpexome ở nơi khác trong chủ đề này). Chi phí truyền dữ liệu có vẻ cao hơn (cao hơn ~10 lần khi tính đến sự khác biệt về hệ số sao chép), vì vậy các dịch vụ dựa trên mã của chính họ (hoặc bên thứ 3) có thể sẽ đắt hơn trên IC. Nhưng một lần nữa, các dịch vụ IC hỗ trợ API có thể thực hiện những việc (ví dụ như hộp bên thứ 3 không thể thay đổi) không thể thực hiện được trên các dịch vụ AWS web 2.0! Vì vậy, nếu đó là những gì đang được cung cấp, người dùng nên sẵn sàng trả nhiều tiền hơn!

    Nguồn: https://icp.guide/

     

    ∞NyanCat∞