Sự khác biệt giữa mô hình lập trình Solana và ETH

Nâng cao5/22/2024, 7:43:04 PM
Bài viết này so sánh các mô hình lập trình hợp đồng thông minh của Solana và Ethereum. Chương trình trên chuỗi của Solana tương tự như hợp đồng thông minh của Ethereum, nhưng Solana cung cấp môi trường thực thi khác nhau thông qua mô hình tài khoản duy nhất và phương pháp tách dữ liệu. Mô hình tài khoản của Solana tách biệt lưu trữ mã và dữ liệu, nâng cao tính bảo mật. Solana chủ yếu sử dụng ngôn ngữ Rust cho việc phát triển hợp đồng thông minh, mang lại hiệu suất và bảo mật cao nhưng có độ cong học cao. Ethereum, ngược lại, chủ yếu sử dụng Solidity, mang lại trải nghiệm phát triển đơn giản và trưởng thành hơn. Mặc dù có thách thức phát triển với Solana, nhưng khả năng xử lý cao, chi phí thấp và tính mở rộng khiến nó trở thành lựa chọn lý tưởng cho việc phát triển ứng dụng phi tập trung có hiệu suất cao.

Solana là một nền tảng blockchain hiệu suất cao được thiết kế để hỗ trợ các ứng dụng phi tập trung, nổi tiếng với tốc độ và khả năng mở rộng được đạt được thông qua cơ chế đồng thuận độc đáo và thiết kế kiến trúc. Bài viết này sẽ giới thiệu ngắn gọn các tính năng của mô hình lập trình hợp đồng thông minh của Solana, so sánh nó với Ethereum để hiểu rõ hơn.

Hợp đồng Thông minh và Chương trình trên Chuỗi:

Các chương trình chạy trên Ethereum được gọi là hợp đồng thông minh, đó là một loạt mã (chức năng) và dữ liệu (trạng thái) được đặt tại một địa chỉ cụ thể trên mạng Ethereum. Hợp đồng thông minh cũng là tài khoản Ethereum, được gọi là tài khoản hợp đồng. Chúng có số dư, có thể là đích của các giao dịch, nhưng không thể được kiểm soát bởi cá nhân. Chúng được triển khai trên mạng để chạy như các chương trình.

Ngược lại, mã thực thi chạy trên Solana được gọi là Chương trình On-Chain, mà dịch các chỉ thị được gửi cùng với mỗi giao dịch. Các chương trình này có thể được triển khai trực tiếp vào hạt nhân mạng như các chương trình bản địa hoặc được công bố bởi bất kỳ ai dưới dạng các chương trình SPL.

Hướng dẫn: Hướng dẫn là các thuật ngữ độc đáo cho các chương trình trên chuỗi Solana. Chúng bao gồm các hướng dẫn thực thi các hoạt động cụ thể, tạo thành đơn vị thực thi nhỏ nhất cho các giao dịch Solana. Mỗi giao dịch Solana chứa một hoặc nhiều hướng dẫn xác định các hoạt động cần thực hiện, bao gồm việc gọi các chương trình trên chuỗi cụ thể, truyền tải tài khoản, danh sách đầu vào, và cung cấp các mảng byte. Hướng dẫn có giới hạn tính toán, vì vậy các chương trình trên chuỗi nên được tối ưu hóa để sử dụng ít đơn vị tính toán hơn hoặc chia nhỏ các hoạt động tốn kém thành nhiều hướng dẫn.

Chương trình cơ bản: Cung cấp các chức năng cần thiết bởi các nút xác minh. Phổ biến nhất là Chương trình Hệ thống, có trách nhiệm quản lý việc tạo tài khoản mới và chuyển SOL giữa hai tài khoản.

Chương trình SPL: Định nghĩa một loạt các hoạt động trên chuỗi, bao gồm tạo token, trao đổi, cho vay, tạo các hồ bơi đặt cược, duy trì dịch vụ giải quyết tên miền trên chuỗi và nhiều hoạt động khác. Trong đó, Chương trình SPL Token được sử dụng cho các hoạt động token, trong khi các chương trình như Chương trình Tài khoản Token Liên kết thường được sử dụng để viết các chương trình tùy chỉnh khác.

Bạn gọi đó là hợp đồng thông minh, tôi gọi đó là chương trình trên chuỗi. Tên khác nhau, nhưng cả hai đều chỉ đến mã chạy trên chuỗi khối. Giống như cách Zhang San, Li Si và Wang Ma Zi đều là tên, chất lượng của một người cũng nên được đánh giá dựa trên các khía cạnh khác.

Mô hình tài khoản, Phân cấp dữ liệu:

Tương tự như Ethereum, Solana cũng là một chuỗi khối dựa trên mô hình tài khoản, nhưng Solana cung cấp một mô hình tài khoản khác biệt so với Ethereum, lưu trữ dữ liệu theo một cách khác nhau.

Trong Solana, tài khoản có thể giữ thông tin ví và các dữ liệu khác. Các trường được xác định bởi tài khoản bao gồm Lamports (số dư tài khoản), Chủ sở hữu (chủ sở hữu tài khoản), Thực thi (cho dù đó là tài khoản thực thi) và Dữ liệu (dữ liệu được lưu trữ trong tài khoản). Mỗi tài khoản chỉ định một chương trình làm chủ sở hữu để phân biệt trạng thái lưu trữ của chương trình. Các chương trình trên chuỗi này là chỉ đọc hoặc không trạng thái: tài khoản chương trình (tài khoản thực thi) chỉ lưu trữ mã byte BPF và không lưu trữ bất kỳ trạng thái nào. Các chương trình lưu trữ trạng thái của chúng trong các tài khoản độc lập khác (tài khoản không thể thực thi). Mô hình lập trình của Solana tách mã và dữ liệu.

Trong khi đó, các tài khoản Ethereum chính làm nhiệm vụ như là các tham chiếu đến trạng thái EVM (Máy ảo Ethereum). Các hợp đồng thông minh trên Ethereum chứa cả logic mã và nhu cầu lưu trữ dữ liệu người dùng. Điều này thường được xem xét là một sai sót thiết kế di truyền từ lịch sử của EVM.

Đừng đánh giá thấp sự khác biệt này! Hợp đồng thông minh Solana cơ bản khó tấn công hơn so với các blockchain có mô hình lập trình kết hợp như Ethereum:

Trong Ethereum, “chủ sở hữu” của một hợp đồng thông minh là một biến toàn cầu tương ứng trực tiếp với mỗi hợp đồng thông minh. Do đó, việc gọi một hàm cụ thể có thể trực tiếp thay đổi “chủ sở hữu” của hợp đồng.

Tuy nhiên, trên Solana, “chủ sở hữu” của một hợp đồng thông minh là dữ liệu liên kết với một tài khoản, chứ không phải là một biến toàn cục. Một tài khoản có thể có nhiều chủ sở hữu, thay vì mối quan hệ một-một. Để khai thác một lỗ hổng bảo mật trong một hợp đồng thông minh, kẻ tấn công không chỉ cần xác định chức năng gây vấn đề mà còn cần chuẩn bị các tài khoản “đúng” để gọi hàm đó. Bước này không dễ vì hợp đồng thông minh Solana thường liên quan đến nhiều tài khoản đầu vào và quản lý mối quan hệ của chúng thông qua các ràng buộc (như account1.owner==account2.keyQuá trình từ việc “chuẩn bị các tài khoản đúng” đến “tiến hành cuộc tấn công” là đủ để các bộ theo dõi an ninh phát hiện một cách tích cực giao dịch đáng ngờ liên quan đến việc tạo ra các tài khoản “giả mạo” liên quan đến hợp đồng thông minh trước khi một cuộc tấn công xảy ra.

Hợp đồng thông minh của Ethereum giống như một chiếc két an toàn với một mật khẩu duy nhất. Khi bạn có mật khẩu này, bạn sở hữu hoàn toàn. Còn của Solana, thì giống như một chiếc két an toàn với nhiều mật khẩu. Để truy cập, bạn không chỉ cần có được các mật khẩu mà còn cần hiểu rõ các thông tin tương ứng trước khi bạn có thể mở cửa.

Ngôn ngữ lập trình

Rust là ngôn ngữ lập trình chính để phát triển hợp đồng thông minh trên Solana. Hiệu suất và tính năng bảo mật của nó làm cho nó phù hợp cho môi trường rủi ro cao của blockchain và hợp đồng thông minh. Solana cũng hỗ trợ C, C++ và các ngôn ngữ khác (mặc dù ít phổ biến hơn). Các SDK chính thức Rust và C được cung cấp để hỗ trợ việc phát triển các chương trình trên chuỗi. Nhà phát triển có thể sử dụng các công cụ để biên dịch chương trình thành mã bytecode Berkeley Packet Filter (tệp có phần mở rộng .so) và triển khai chúng lên blockchain Solana. Logic của hợp đồng thông minh sau đó được thực thi thông qua thời gian chạy hợp đồng thông minh song song Sealevel.

Tuy nhiên, do độ cong học cao của ngôn ngữ Rust và sự thiếu sự tùy chỉnh cho phát triển blockchain, nhiều yêu cầu dẫn đến mã không cần thiết và việc phải làm lại thứ gì đã có sẵn. Để đơn giản hóa việc phát triển, nhiều dự án đang thực hiện sử dụng framework Anchor được tạo ra bởi sự hợp tác của Backpack và Armani. Ngoài ra, một số ngôn ngữ lập trình mới được tạo ra đặc biệt cho phát triển blockchain, như Cairo (Starknet) và Move (Sui, Aptos), dựa trên Rust.

Nhiều dự án trong sản xuất sử dụng framework Anchor.

Hợp đồng thông minh Ethereum chủ yếu được phát triển bằng ngôn ngữ Solidity, có cú pháp tương tự như JavaScript, với các tệp mã có phần mở rộng .sol. Do cú pháp tương đối đơn giản và các công cụ phát triển (như framework Hardhat và IDE Remix) trưởng thành hơn, Ethereum thường được coi là cung cấp trải nghiệm phát triển đơn giản và thú vị hơn so với Solana, có độ cong học cao hơn. Mặc dù Solana đang rất phổ biến, số lượng nhà phát triển trên Ethereum vẫn lớn hơn rất nhiều so với Solana.

Trong các hoàn cảnh cụ thể, một chiếc xe đua hàng đầu sẽ vượt trội hơn so với một chiếc xe đã được sửa đổi. Rỉ sét, giống như một chiếc xe đua hàng đầu, hiệu quả đảm bảo hiệu suất và bảo mật của Solana. Tuy nhiên, nó không được thiết kế theo bản chất cho việc phát triển chương trình trên chuỗi, điều này thực sự làm tăng độ khó của việc lái (phát triển). Các chuỗi công cộng mà áp dụng ngôn ngữ dựa trên Rust và được tùy chỉnh cho phát triển trên chuỗi có thể được so sánh với việc điều chỉnh chiếc xe đua này để phù hợp tốt hơn với điều kiện đường. Solana gặp khó khăn trong lĩnh vực này.

Kết luận

Mô hình lập trình hợp đồng thông minh của Solana là sáng tạo. Nó cung cấp một phương pháp không lưu trạng thái cho việc phát triển hợp đồng thông minh, với Rust là ngôn ngữ lập trình chính và một kiến trúc tách biệt logic khỏi trạng thái. Điều này cung cấp cho các nhà phát triển môi trường mạnh mẽ để xây dựng và triển khai hợp đồng thông minh, đảm bảo an ninh và hiệu suất, mặc dù có độ khó phát triển lớn hơn. Solana tập trung vào khả năng xử lý cao, chi phí thấp và khả năng mở rộng, là sự lựa chọn lý tưởng cho các nhà phát triển muốn tạo ra các ứng dụng phi tập trung hiệu suất cao.

Tuyên bố:

  1. Bài viết này được sao chép từ [panews]], tiêu đề ban đầu “Bà tôi cũng có thể hiểu: Sự khác biệt giữa mô hình lập trình của Solana và ETH là gì?”, bản quyền thuộc về tác giả ban đầu [Foresight News, Alex Liu], nếu bạn có bất kỳ ý kiến phản đối nào về việc sao chép, vui lòng liên hệ Đội ngũ Gate Learnđội sẽ xử lý nó càng sớm càng tốt theo các quy trình liên quan.

  2. Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.

  3. Các phiên bản ngôn ngữ khác của bài viết được dịch bởi đội ngũ Gate Learn, không được đề cập trong Gate.io, bài viết dịch có thể không được sao chép, phân phối hoặc đạo văn.

Sự khác biệt giữa mô hình lập trình Solana và ETH

Nâng cao5/22/2024, 7:43:04 PM
Bài viết này so sánh các mô hình lập trình hợp đồng thông minh của Solana và Ethereum. Chương trình trên chuỗi của Solana tương tự như hợp đồng thông minh của Ethereum, nhưng Solana cung cấp môi trường thực thi khác nhau thông qua mô hình tài khoản duy nhất và phương pháp tách dữ liệu. Mô hình tài khoản của Solana tách biệt lưu trữ mã và dữ liệu, nâng cao tính bảo mật. Solana chủ yếu sử dụng ngôn ngữ Rust cho việc phát triển hợp đồng thông minh, mang lại hiệu suất và bảo mật cao nhưng có độ cong học cao. Ethereum, ngược lại, chủ yếu sử dụng Solidity, mang lại trải nghiệm phát triển đơn giản và trưởng thành hơn. Mặc dù có thách thức phát triển với Solana, nhưng khả năng xử lý cao, chi phí thấp và tính mở rộng khiến nó trở thành lựa chọn lý tưởng cho việc phát triển ứng dụng phi tập trung có hiệu suất cao.

Solana là một nền tảng blockchain hiệu suất cao được thiết kế để hỗ trợ các ứng dụng phi tập trung, nổi tiếng với tốc độ và khả năng mở rộng được đạt được thông qua cơ chế đồng thuận độc đáo và thiết kế kiến trúc. Bài viết này sẽ giới thiệu ngắn gọn các tính năng của mô hình lập trình hợp đồng thông minh của Solana, so sánh nó với Ethereum để hiểu rõ hơn.

Hợp đồng Thông minh và Chương trình trên Chuỗi:

Các chương trình chạy trên Ethereum được gọi là hợp đồng thông minh, đó là một loạt mã (chức năng) và dữ liệu (trạng thái) được đặt tại một địa chỉ cụ thể trên mạng Ethereum. Hợp đồng thông minh cũng là tài khoản Ethereum, được gọi là tài khoản hợp đồng. Chúng có số dư, có thể là đích của các giao dịch, nhưng không thể được kiểm soát bởi cá nhân. Chúng được triển khai trên mạng để chạy như các chương trình.

Ngược lại, mã thực thi chạy trên Solana được gọi là Chương trình On-Chain, mà dịch các chỉ thị được gửi cùng với mỗi giao dịch. Các chương trình này có thể được triển khai trực tiếp vào hạt nhân mạng như các chương trình bản địa hoặc được công bố bởi bất kỳ ai dưới dạng các chương trình SPL.

Hướng dẫn: Hướng dẫn là các thuật ngữ độc đáo cho các chương trình trên chuỗi Solana. Chúng bao gồm các hướng dẫn thực thi các hoạt động cụ thể, tạo thành đơn vị thực thi nhỏ nhất cho các giao dịch Solana. Mỗi giao dịch Solana chứa một hoặc nhiều hướng dẫn xác định các hoạt động cần thực hiện, bao gồm việc gọi các chương trình trên chuỗi cụ thể, truyền tải tài khoản, danh sách đầu vào, và cung cấp các mảng byte. Hướng dẫn có giới hạn tính toán, vì vậy các chương trình trên chuỗi nên được tối ưu hóa để sử dụng ít đơn vị tính toán hơn hoặc chia nhỏ các hoạt động tốn kém thành nhiều hướng dẫn.

Chương trình cơ bản: Cung cấp các chức năng cần thiết bởi các nút xác minh. Phổ biến nhất là Chương trình Hệ thống, có trách nhiệm quản lý việc tạo tài khoản mới và chuyển SOL giữa hai tài khoản.

Chương trình SPL: Định nghĩa một loạt các hoạt động trên chuỗi, bao gồm tạo token, trao đổi, cho vay, tạo các hồ bơi đặt cược, duy trì dịch vụ giải quyết tên miền trên chuỗi và nhiều hoạt động khác. Trong đó, Chương trình SPL Token được sử dụng cho các hoạt động token, trong khi các chương trình như Chương trình Tài khoản Token Liên kết thường được sử dụng để viết các chương trình tùy chỉnh khác.

Bạn gọi đó là hợp đồng thông minh, tôi gọi đó là chương trình trên chuỗi. Tên khác nhau, nhưng cả hai đều chỉ đến mã chạy trên chuỗi khối. Giống như cách Zhang San, Li Si và Wang Ma Zi đều là tên, chất lượng của một người cũng nên được đánh giá dựa trên các khía cạnh khác.

Mô hình tài khoản, Phân cấp dữ liệu:

Tương tự như Ethereum, Solana cũng là một chuỗi khối dựa trên mô hình tài khoản, nhưng Solana cung cấp một mô hình tài khoản khác biệt so với Ethereum, lưu trữ dữ liệu theo một cách khác nhau.

Trong Solana, tài khoản có thể giữ thông tin ví và các dữ liệu khác. Các trường được xác định bởi tài khoản bao gồm Lamports (số dư tài khoản), Chủ sở hữu (chủ sở hữu tài khoản), Thực thi (cho dù đó là tài khoản thực thi) và Dữ liệu (dữ liệu được lưu trữ trong tài khoản). Mỗi tài khoản chỉ định một chương trình làm chủ sở hữu để phân biệt trạng thái lưu trữ của chương trình. Các chương trình trên chuỗi này là chỉ đọc hoặc không trạng thái: tài khoản chương trình (tài khoản thực thi) chỉ lưu trữ mã byte BPF và không lưu trữ bất kỳ trạng thái nào. Các chương trình lưu trữ trạng thái của chúng trong các tài khoản độc lập khác (tài khoản không thể thực thi). Mô hình lập trình của Solana tách mã và dữ liệu.

Trong khi đó, các tài khoản Ethereum chính làm nhiệm vụ như là các tham chiếu đến trạng thái EVM (Máy ảo Ethereum). Các hợp đồng thông minh trên Ethereum chứa cả logic mã và nhu cầu lưu trữ dữ liệu người dùng. Điều này thường được xem xét là một sai sót thiết kế di truyền từ lịch sử của EVM.

Đừng đánh giá thấp sự khác biệt này! Hợp đồng thông minh Solana cơ bản khó tấn công hơn so với các blockchain có mô hình lập trình kết hợp như Ethereum:

Trong Ethereum, “chủ sở hữu” của một hợp đồng thông minh là một biến toàn cầu tương ứng trực tiếp với mỗi hợp đồng thông minh. Do đó, việc gọi một hàm cụ thể có thể trực tiếp thay đổi “chủ sở hữu” của hợp đồng.

Tuy nhiên, trên Solana, “chủ sở hữu” của một hợp đồng thông minh là dữ liệu liên kết với một tài khoản, chứ không phải là một biến toàn cục. Một tài khoản có thể có nhiều chủ sở hữu, thay vì mối quan hệ một-một. Để khai thác một lỗ hổng bảo mật trong một hợp đồng thông minh, kẻ tấn công không chỉ cần xác định chức năng gây vấn đề mà còn cần chuẩn bị các tài khoản “đúng” để gọi hàm đó. Bước này không dễ vì hợp đồng thông minh Solana thường liên quan đến nhiều tài khoản đầu vào và quản lý mối quan hệ của chúng thông qua các ràng buộc (như account1.owner==account2.keyQuá trình từ việc “chuẩn bị các tài khoản đúng” đến “tiến hành cuộc tấn công” là đủ để các bộ theo dõi an ninh phát hiện một cách tích cực giao dịch đáng ngờ liên quan đến việc tạo ra các tài khoản “giả mạo” liên quan đến hợp đồng thông minh trước khi một cuộc tấn công xảy ra.

Hợp đồng thông minh của Ethereum giống như một chiếc két an toàn với một mật khẩu duy nhất. Khi bạn có mật khẩu này, bạn sở hữu hoàn toàn. Còn của Solana, thì giống như một chiếc két an toàn với nhiều mật khẩu. Để truy cập, bạn không chỉ cần có được các mật khẩu mà còn cần hiểu rõ các thông tin tương ứng trước khi bạn có thể mở cửa.

Ngôn ngữ lập trình

Rust là ngôn ngữ lập trình chính để phát triển hợp đồng thông minh trên Solana. Hiệu suất và tính năng bảo mật của nó làm cho nó phù hợp cho môi trường rủi ro cao của blockchain và hợp đồng thông minh. Solana cũng hỗ trợ C, C++ và các ngôn ngữ khác (mặc dù ít phổ biến hơn). Các SDK chính thức Rust và C được cung cấp để hỗ trợ việc phát triển các chương trình trên chuỗi. Nhà phát triển có thể sử dụng các công cụ để biên dịch chương trình thành mã bytecode Berkeley Packet Filter (tệp có phần mở rộng .so) và triển khai chúng lên blockchain Solana. Logic của hợp đồng thông minh sau đó được thực thi thông qua thời gian chạy hợp đồng thông minh song song Sealevel.

Tuy nhiên, do độ cong học cao của ngôn ngữ Rust và sự thiếu sự tùy chỉnh cho phát triển blockchain, nhiều yêu cầu dẫn đến mã không cần thiết và việc phải làm lại thứ gì đã có sẵn. Để đơn giản hóa việc phát triển, nhiều dự án đang thực hiện sử dụng framework Anchor được tạo ra bởi sự hợp tác của Backpack và Armani. Ngoài ra, một số ngôn ngữ lập trình mới được tạo ra đặc biệt cho phát triển blockchain, như Cairo (Starknet) và Move (Sui, Aptos), dựa trên Rust.

Nhiều dự án trong sản xuất sử dụng framework Anchor.

Hợp đồng thông minh Ethereum chủ yếu được phát triển bằng ngôn ngữ Solidity, có cú pháp tương tự như JavaScript, với các tệp mã có phần mở rộng .sol. Do cú pháp tương đối đơn giản và các công cụ phát triển (như framework Hardhat và IDE Remix) trưởng thành hơn, Ethereum thường được coi là cung cấp trải nghiệm phát triển đơn giản và thú vị hơn so với Solana, có độ cong học cao hơn. Mặc dù Solana đang rất phổ biến, số lượng nhà phát triển trên Ethereum vẫn lớn hơn rất nhiều so với Solana.

Trong các hoàn cảnh cụ thể, một chiếc xe đua hàng đầu sẽ vượt trội hơn so với một chiếc xe đã được sửa đổi. Rỉ sét, giống như một chiếc xe đua hàng đầu, hiệu quả đảm bảo hiệu suất và bảo mật của Solana. Tuy nhiên, nó không được thiết kế theo bản chất cho việc phát triển chương trình trên chuỗi, điều này thực sự làm tăng độ khó của việc lái (phát triển). Các chuỗi công cộng mà áp dụng ngôn ngữ dựa trên Rust và được tùy chỉnh cho phát triển trên chuỗi có thể được so sánh với việc điều chỉnh chiếc xe đua này để phù hợp tốt hơn với điều kiện đường. Solana gặp khó khăn trong lĩnh vực này.

Kết luận

Mô hình lập trình hợp đồng thông minh của Solana là sáng tạo. Nó cung cấp một phương pháp không lưu trạng thái cho việc phát triển hợp đồng thông minh, với Rust là ngôn ngữ lập trình chính và một kiến trúc tách biệt logic khỏi trạng thái. Điều này cung cấp cho các nhà phát triển môi trường mạnh mẽ để xây dựng và triển khai hợp đồng thông minh, đảm bảo an ninh và hiệu suất, mặc dù có độ khó phát triển lớn hơn. Solana tập trung vào khả năng xử lý cao, chi phí thấp và khả năng mở rộng, là sự lựa chọn lý tưởng cho các nhà phát triển muốn tạo ra các ứng dụng phi tập trung hiệu suất cao.

Tuyên bố:

  1. Bài viết này được sao chép từ [panews]], tiêu đề ban đầu “Bà tôi cũng có thể hiểu: Sự khác biệt giữa mô hình lập trình của Solana và ETH là gì?”, bản quyền thuộc về tác giả ban đầu [Foresight News, Alex Liu], nếu bạn có bất kỳ ý kiến phản đối nào về việc sao chép, vui lòng liên hệ Đội ngũ Gate Learnđội sẽ xử lý nó càng sớm càng tốt theo các quy trình liên quan.

  2. Tuyên bố từ chối trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.

  3. Các phiên bản ngôn ngữ khác của bài viết được dịch bởi đội ngũ Gate Learn, không được đề cập trong Gate.io, bài viết dịch có thể không được sao chép, phân phối hoặc đạo văn.

Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!