Tổng quan
Solana (SOL) là một giao thức base-layer blockchain công khai tối ưu hóa khả năng mở rộng. Giải pháp mở rộng cốt lõi của Solana (SOL) là hệ thống tự động xác định thời gian giao dịch có tên gọi là Proof of History (PoH). Nó cũng kết hợp cơ chế đồng thuận Proof of Stake (PoS) để tăng thông lượng và khả năng mở rộng.
*** Tìm hiểu thêm về Solana và hệ sinh thái tại đây
Solana (SOL) tuyên bố hỗ trợ 50.000 giao dịch mỗi giây (TPS), khiến nó trở thành blockchain nhanh nhất trên thế giới. Nói một cách dễ hiểu, điều này nhanh hơn gần 1.000 lần so với Bitcoin (thông lượng tối đa ~ 5-7 TPS) và nhanh hơn 3.000 lần so với Ethereum (thông lượng tối đa ~ 15 TPS). Ngoài ra còn hỗ trợ tất cả các ngôn ngữ hợp đồng thông minh tương thích LLVM, chi phí giao dịch thấp (khoảng 10 USD cho 1 triệu giao dịch) và thời gian giải quyết nhanh chóng.
Mục tiêu của Solana (SOL) là cung cấp một nền tảng cho phép các nhà phát triển tạo ra các ứng dụng phi tập trung (dApps) mà không cần thiết kế xung quanh các điểm nghẽn hiệu suất. Nó tận dụng một tập hợp các công nghệ tính toán đột phá có thể hỗ trợ hàng nghìn nút, cho phép thông lượng giao dịch tăng tỷ lệ thuận với băng thông mạng.
Thông tin vụ nghẽn mạng
Vào khoảng 20:30 UTC thứ Bảy, ngày 30 tháng 4, cụm Mainnet Beta của Solana đã ngừng sản xuất các khối do sự đồng thuận bị đình trệ.
Trong 7 giờ tiếp theo, các nhà điều hành trình xác thực đã làm việc để xác định điểm tiến triển xa nhất và cùng nhau tiến hành khởi động lại mạng. Quá trình sản xuất khối được tiếp tục vào lúc 03:30 UTC vào Chủ nhật, ngày 1 tháng 5 và các nhà khai thác mạng tiếp tục khôi phục các dịch vụ khách hàng sau hơn 7h mạng bị nghẽn.
*** Thông tin chi tiết tại đây
Nguyên nhân
Một lượng lớn giao dịch gửi đến (6 triệu mỗi giây) tràn ngập mạng, vượt qua 100 Gbps lưu lượng truy cập tại các nút riêng lẻ. Không có bằng chứng về một cuộc tấn công từ chối dịch vụ, nhưng thay vào đó bằng chứng cho thấy các bot đã cố gắng giành chiến thắng theo chương trình một NFT mới được đúc bằng chương trình Candy Machine (sự kiện của dự án Metaplex) phổ biến. Vì giá đúc có sàn cố định và không phải là một cuộc đấu giá năng động của Hà Lan, người dùng đầu tiên gọi đến xưởng đúc tiền đã nhận được NFT, điều này tạo ra động lực kinh tế để gửi một số lượng lớn giao dịch với hy vọng thắng cuộc.
Lý do cụ thể khiến sự đồng thuận bị đình trệ là do trình xác thực hết bộ nhớ và bị lỗi. Nguyên nhân sâu xa của việc sử dụng bộ nhớ cao là do không đủ phiếu hạ cánh để hoàn thiện các khối trước đó, ngăn chặn việc dọn dẹp fork bị bỏ rơi. Số lượng trình xác thực fork phải đánh giá vượt quá khả năng của họ để làm như vậy, ngay cả sau khi khởi động lại, cần can thiệp thủ công.
Nguyên nhân chính đến từ 2 sự kiện:
- Sự kiện Candy Machine của dự án Metaplex
Metaplex là dự án thuộc hệ sinh thái Solana, đã báo cáo rằng mainnet-beta của Solana đã ngừng hoạt động một phần do hoạt động của bot trên chương trình Candy Machine của họ được các dự án Solana NFT mới sử dụng để khởi chạy bộ sưu tập của họ. Là một phần của nỗ lực ổn định mạng, Metaplex đã hợp nhất và triển khai hình phạt botting vào chương trình để chống lại các tác động của botting.
- Sự kiện bán public NFT mints của Strata Protocol
Strata Protocol đã lên Twitter để giải thích về sự cố ngừng hoạt động. Như Strata chỉ ra, vòng bán public NFT mints có tính kinh tế khuyến khích các bot khi sự cạnh tranh ngày càng gay gắt để có được những NFT này. Nếu một bot gửi hàng triệu giao dịch, nó có cơ hội chiến thắng cao hơn so với một người tiêu dùng bình thường, làm ngừng hoạt động của mạng trong quá trình này.
Cách khắc phục
Kể từ đầu tháng 1, Solana đã gặp phải các vấn đề tắc nghẽn không liên tục do hoạt động của bot nhắm vào vòng public NFT mints. Sự cố ngừng hoạt động trước đó của Mainnet Beta xảy ra vào tháng 9 năm 2021 và kéo dài trong 17 giờ. Sự cố ngừng hoạt động của ngày 30 tháng 4 giống với sự ngừng hoạt động của tháng 9, nhưng mạng lần này vẫn tiếp tục hoạt động ngay cả khi khối lượng yêu cầu giao dịch đạt 10.000% so với tháng 9, phản ánh các cập nhật tiếp theo được thực hiện bởi cộng đồng trình xác nhận.
Nhánh phát hành beta, v1.10, hiện đang ổn định trên Testnet, bao gồm các cải tiến sử dụng bộ nhớ để kéo dài thời gian các nút có thể chịu được sự đồng thuận chậm hoặc bị đình trệ. Các nút thử nghiệm chạy v1.10 được triển khai trên Mainnet Beta tiếp tục cho 2000 vị trí bổ sung ngoài các đồng nghiệp v1.9 thông số kỹ thuật tương tự của chúng.
Ba biện pháp giảm thiểu đang được thực hiện để giải quyết sự ổn định và khả năng phục hồi của mạng.
QUIC
Hiện tại Solana sử dụng giao thức dựa trên UDP thô tùy chỉnh để chuyển giao dịch giữa các nút RPC và trình dẫn đầu hiện tại. Vì UDP không có kết nối và thiếu cả kiểm soát luồng và xác nhận biên nhận, nên không có cách nào có ý nghĩa để ngăn cản hoặc giảm thiểu hành vi lạm dụng. Để ảnh hưởng đến việc kiểm soát lưu lượng mạng, các giao thức cốt lõi của Solana đang được hoàn thiện lại trên QUIC, một giao thức do Google xây dựng, được thiết kế cho giao tiếp không đồng bộ nhanh như UDP, nhưng với phiên và kiểm soát luồng như TCP. Sau khi được thông qua, sẽ có nhiều tùy chọn khác có sẵn để điều chỉnh và tối ưu hóa quá trình nhập dữ liệu.
QoS giao dịch có trọng số cổ phần
Băng thông của mạng dẫn đầu có dung lượng cố định và để sử dụng hiệu quả nó, ưu tiên là điều bắt buộc để chấm dứt thói quen chấp nhận giao dịch bừa bãi hiện nay trên cơ sở ai đến trước được phục vụ trước mà không quan tâm đến nguồn gốc. Cho rằng Solana là một mạng PoS, việc mở rộng tiện ích của tỷ trọng cổ phần đối với chất lượng dịch vụ giao dịch là một lựa chọn tự nhiên. Theo mô hình này, một nút có 0,5% cổ phần sẽ có quyền truyền ít nhất 0,5% gói tin cho người dẫn đầu và phần còn lại của mạng và không có sự kết hợp nào của phần cổ phần còn lại sẽ có thể rửa sạch chúng hoàn toàn. QoS trọng số cổ phần đang song song phát triển với QUIC ngày nay. QoS trọng số cổ phần sẽ mạnh mẽ hơn khi kết hợp với QUIC.
Ưu tiên thực hiện dựa trên phí
Sau khi được nhập, các giao dịch vẫn có thể tranh chấp để sửa đổi dữ liệu tài khoản được chia sẻ. Sự tranh cãi này đã được giải quyết bằng cách đơn giản đến trước được phục vụ trước tương tự như nhập dữ liệu mạng, khiến người dùng không có cách nào để thể hiện mức độ khẩn cấp của việc thực hiện giao dịch của họ. Cho rằng bất kỳ ai cũng có thể gửi giao dịch đến mạng, tỷ trọng cổ phần không phù hợp với mức độ ưu tiên này. Thay vào đó, một hướng dẫn mới đang được đưa vào chương trình Ngân sách tính toán, cung cấp cho người dùng khả năng chỉ định “phí bổ sung” tùy ý sẽ được thu khi thực hiện giao dịch và đưa nó vào một khối. Tỷ lệ phí này so với các đơn vị tính toán được yêu cầu sẽ đóng vai trò là trọng số ưu tiên thực hiện của giao dịch. Phí bổ sung sẽ được xử lý giống như phí cơ sở ngày hôm nay.
Các khoản phí ưu tiên trên Solana
Phí trên Solana không giống như các thị trường phí toàn cầu trên Ethereum. Trên Solana, có ít sự cạnh tranh về không gian khối hơn là khả năng ghi vào một phần trạng thái cụ thể, chẳng hạn như hợp đồng đúc tiền cho một NFT. Các giao dịch Solana không tương tác với tất cả trạng thái Solana, thay vào đó chúng chỉ định trạng thái nào họ cần đọc và trạng thái nào họ cần viết. Các lần đọc có thể chồng chéo và song song, không thể ghi. Đây thường được gọi là vấn đề “điểm phát sóng” cơ sở dữ liệu, mà các cuộc đấu giá trạng thái được thiết kế để giải quyết.
Ví dụ: nếu có 10 giây giá trị công việc cần được viết trong cùng một trạng thái, nhưng lượng thời gian là 1 giây, thì cần có một cơ chế nào đó ưu tiên công việc nào được hoàn thành và công việc nào không thành công. Vì các giao dịch được đóng gói thành các khối theo mức độ ưu tiên “phí cao nhất / đơn vị tính toán”.
Để so sánh, Ethereum sử dụng thị trường phí để phân bổ một nguồn tài nguyên khan hiếm, đó là không gian khối. Ưu tiên phí của Solana chỉ nên tác động đến trạng thái cụ thể chứ không phải toàn bộ khối. Điều này tạo ra một hệ thống giống như ‘phí khu phố’ thay vì ‘phí toàn cầu.’ Các giao dịch tiếp theo đang trả phí cao hơn, nhưng không thể phù hợp với khối này vì chúng đã đạt đến giới hạn tối đa khi ghi vào tài khoản sẽ bị tràn và được lên lịch cho khối tiếp theo, nhưng các giao dịch khác tương tác với các tài khoản khác vẫn có thể được thêm vào cùng một khối, ngay cả khi họ đang trả phí thấp hơn.
Việc ưu tiên phí đang được tiến hành và được nhắm mục tiêu cho bản phát hành v1.11.
Các vụ nghẽn mạng trong quá khứ của Solana
Vụ nghẽn ngày 14 tháng 9 năm 2021
Thông tin
Vào ngày 14 tháng 9 năm 2021 mạng Solana đã ngoại tuyến trong 17 giờ. Không có tiền bị mất và mạng trở lại đầy đủ chức năng trong vòng chưa đầy 24 giờ.
*** Thông tin chi tiết tại đây
Nguyên nhân
Nguyên nhân của sự cố mạng thực chất là do một cuộc tấn công từ chối dịch vụ. Vào lúc 12:00 giờ UTC, Grape Protocol đã khởi chạy IDO của họ trên Raydium và các bot đã tạo ra các giao dịch làm tràn ngập mạng lưới. Các giao dịch này đã tạo ra tình trạng tràn bộ nhớ, khiến nhiều trình xác thực gặp sự cố, buộc mạng chậm lại và cuối cùng bị đình trệ. Mạng chuyển sang trạng thái ngoại tuyến khi mạng trình xác nhận không thể đi đến thống nhất về trạng thái hiện tại của blockchain, điều này đã ngăn mạng xác nhận các khối mới.
Cách khắc phục
Sau khi tình hình được chẩn đoán, cộng đồng đã đề xuất một đợt hard fork của mạng từ vị trí được xác nhận cuối cùng, yêu cầu ít nhất 80% cổ phần đang hoạt động để đạt được sự đồng thuận. Trong 14 giờ tiếp theo, các kỹ sư từ khắp nơi trên thế giới đã làm việc cùng nhau để viết mã nhằm giảm thiểu sự cố và điều phối quá trình nâng cấp và khởi động lại mạng trong số hơn 1000 trình xác thực. Nỗ lực này được dẫn dắt bởi cộng đồng, sử dụng khung khởi động lại được nêu trong tài liệu giao thức. Người xác thực đã chọn áp dụng nâng cấp cục bộ, xác minh sổ cái và tiếp tục sản xuất các khối. Đã đạt được sự đồng thuận và mạng đã được nâng cấp trong vòng hai tiếng rưỡi kể từ khi bản vá được phát hành. Mạng trình xác thực đã khôi phục toàn bộ chức năng lúc 05:30 UTC, dưới 18 giờ sau khi mạng bị đình trệ.
Vụ nghẽn mạng ngày 9 tháng 12 năm 2021
Thông tin
Ngày 9 tháng 12 năm 2021: Mạng trình xác thực Solana đang gặp sự cố sáng nay. TPS gặp sự cố khi mạng hoạt động để xử lý các yêu cầu txn. Và mặc dù có sự chậm trễ trong quá trình xử lý txn, nhưng Solana đã không ngừng hoạt động.
*** Thông tin chi tiết tại đây
Nguyên nhân
GenesysGo, công ty cơ sở hạ tầng tập trung vào Solana cũng đã báo cáo về vấn đề này, nói rằng mạng trình xác thực đang gặp vấn đề với việc xử lý các yêu cầu giao dịch (hiệu suất blockchain của Solana đã bị ảnh hưởng bởi một cuộc tấn công từ chối dịch vụ (DDoS) phân tán trong 24 giờ qua. Tuy nhiên, mạng dường như vẫn trực tuyến trong suốt.
Một cuộc tấn công DDoS thường đề cập đến một số lượng lớn các thiết bị phối hợp hoặc một mạng botnet, áp đảo một mạng có lưu lượng truy cập giả để đưa nó vào ngoại tuyến.)
Vụ nghẽn mạng ngày 4 tháng 1 năm 2022
Mạng Solana lại bị nghẽn lúc 2 giờ sáng (UTC + 8, theo giờ Việt Nam là vào lúc 9h ngày 5 tháng 1) vào ngày 4 tháng 1. Theo người dùng của cộng đồng Telegram chính thức, kẻ tấn công bị nghi ngờ sử dụng thư rác để thực hiện một cuộc tấn công DDoS. Sự cố đã được sửa sau 7 giờ (UTC + 8, theo giờ Việt Nam là vào lúc 2h ngày 5 tháng 1) và trở lại bình thường.
*** Thông tin chi tiết tại đây
Kết luận
Chỉ chưa gần 2 năm mà mạng lưới Solana đã 4 lần bị nghẽn, điều này ảnh hưởng rất lớn đến sự phát triển của dự án nền tảng Solana và toàn bộ hệ sinh thái cũng như các nhà đầu tư và cộng đồng người dùng.
Sự cố nghẽn mạng này sẽ làm cho các nhà phát triển đã phát triển trên Solana hoặc chưa sẽ có cách nhìn và đánh giá kỹ hơn. Hiện tại đang có rất nhiều nền tảng hệ sinh thái mới có nhiều ưu điểm hơn đang trực tiếp cạnh tranh với Solana.
Hy vọng đây là lần cuối Solana để xảy ra sự nghẽn mạng này nếu thực sự muốn cạnh tranh với Ethereum và những hệ sinh thái khác để tiếp tục duy trì sự phát triển của Solana và hệ sinh thái trong tương lai.