بهطور کلی سولانا هشت ویژگی مهم و اساسی دارد که عبارتاند از:
- اثبات تاریخچه (Proof of History)
- تحمل خطای بیزانس تاور (Byzantium Failure Tolerance Tower)
- توربین (Turbine)
- گالف استریم (Gulf Stream)
- سیلول (Sealevel)
- پایپ لاینینگ (Pipelining)
- کلاد بریک (Cloudbreak)
- آرشیوکنندهها (Archivers)
اثبات تاریخچه
تقریباً در تمام شبکههای توزیعشده، بزرگترین چالش پیش رو آن است که نودها نمیتوانند به برچسبهای زمانی که از نودهای دیگر دریافت میکنند، اعتماد کنند؛ چراکه این برچسبها را گاهی خودِ نودها به بلاکها اضافه میکنند یا از روی ساعت سختافزار آنها به بلاکها افزوده میشود.

سولانا با ارائه مدل اثبات تاریخچه در صدد حل این مشکل برآمده است. اثبات تاریخچه در واقع یک منبع امن و رمزنگاریشده است که یک مرجع سراسری در شبکه برای زمان ایجاد میکند. اثبات تاریخچه در واقع یک تابع تأخیر قابلتأیید (Verifiable Delay Function) با بسامد بالاست. در این نوع از توابع، مراحل مشخصی نیاز است تا اعتبار خروجی تأیید شود؛ اما هر کسی میتواند اعتبار خروجی را بهسادگی تأیید کند.
اثبات تاریخچه به نودها این امکان را میدهد که بدون هماهنگی با دیگر اعضای شبکه، بلاک بعدی را بسازند. در این روند دیگر خبری از اعتماد به برچسبهای زمانی است. در نتیجه استفاده از اثبات تاریخچه، سرعت تأیید تراکنشها تا حد چشمگیری افزایش پیدا میکند.
توربین

توربین در سولانا همان پروتکلی است که بهعنوان پل ارتباطی میان اعتبارسنجها عمل میکند. توربین در واقع یک پروتکل اتصالِ مستقل از اجماع سولانا است. این پروتکل شباهت بسیار زیادی به بیت تورنت (BitTorrent) دارد و میتوان آن را نسخهای بهینهتر از بیت تورنت به حساب آورد.
زمانی که یک بلاک در شبکه مخابره میشود، توربین آن را به بستههای کوچک تقسیمبندی میکند؛ بهعبارت دیگر، این شبکه چالش پهنای باند را با استفاده از تقسیمکردن دادهها به بستههای کوچک حل کرده است.
تحمل خطای بیزانس تاور

سولانا از تحمل خطای بیزانس تاور بهعنوان نوعی مکانیزم اجماع استفاده کند که نوعی تحمل خطای بیزانس کاربردی (Practical Byzantine Fault Tolerance) است. این مکانیزم با استفاده از اثبات تاریخچه، که خود ساعت سراسری شبکه است، کار میکند. با بهرهگیری از این تحمل خطا، اجماع بدون نیاز به تبادل حجم بالایی از پردازش حاصل میشود و تأیید تراکنشها با سرعت بسیار بیشتری انجام میگیرد.
پیش از این که دفتر کل سولانا به وضعیت نهایی و قطعی برسد، اعتبارسنجها روی این مسئله که کدام دفتر کل معتبر است، رأیگیری میکنند. پس از رأیگیری، امکان انجام دوباره آن ممکن نیست.
گالف استریم

سولانا بهدلیل تسهیل پردازشهای لازم برای تأیید بلاکها به ظرفیت ۵۰ هزار تراکنش در ثانیه رسیده است. در این بلاک چین، نودها دارای یک سردسته به نام لیدر (Leader) هستند و تمام اعتبارسنجها ترتیب لیدرها را میدانند؛ یعنی آنها میدانند که لیدر فعلی و لیدرهای بعدی چه کسانی هستند. به این وسیله، اعتبارسنجها پیش از موعد، تراکنشها را به لیدر میفرستند و از این طریق لیدر هم میتواند زودتر تراکنشها را اجرا کند که خود باعث کاهش زمان تأیید تراکنشها میشود.
گالف استریم در سولانا نقشی مشابه ممپول (Mempool) یا استخر تراکنشهای تأییدنشده را بازی میکند. این فناوری در واقع نسل جدید ممپولها در بلاک چین است.
سیلول
سولانا قابلیتی را به کاربران میدهد که میتوانند در یک زمان، بیش از یک قرارداد هوشمند را اجرا کنند. سیلول را میتوان نوعی ماشین مجازی توصیف کرد که تراکنشها را زمانبندی میکند اما آنها را در ماشین مجازی اجرا نمیکند.
توجه داشته باشید که همه بلاک چینها رایانههای تکریسمانی (Single-threaded) هستند، اما سولانا تنها زنجیرهای است که از اجرای موازی تراکنش در یک شارد پشتیبانی میکند.
پایپ لاینینگ
روند پردازش تراکنشها در سولانا تا حد زیادی متکی به پایپ لاینینگ است. پایپ لاینینگ در واقع مجموعهای از عناصر مرتبط است که در آن خروجیِ یک داده، ورودی داده بعدی است. در سولانا، یک سری از بلاکها که اطلاعات تراکنشها را در خود دارند، بهسرعت اعتبارسنجی و به نودها مخابره میشوند. در واقع میتوان پایپ لاینینگ در سولانا را واحدی برای پردازش تراکنشها در نظر گرفت که اعتبارسنجی را بهینهسازی میکند. این بهینهسازی با تخصیص دادهها به سختافزارهای مختلف انجام میگیرد.
کلادبریک

کلاد بریک قابلیتی است که به سولانا امکان مقیاسپذیربودن میدهد. کلادبریک یک ساختار داده ایجاد میکند که در آن تراکنشها با استفاده از تمام سختافزارهایی که وظیفه فهرستسازی دادهها را بر عهده دارند، پردازش میشوند.
با استفاده از کلادبریک، زمان ساخت بلاکها در سولانا به حداقل میرسد و از سوی دیگر، تراکنشها در سریعترین زمان ممکن تأیید میشوند.
آرشیوکنندهها
شبکه سولانا به هر نود اجازه میدهد که بسته به فضای ذخیرهسازی سختافزاری خود، دادهها را در نودهای دیگر دریافت و ذخیره کنند. آرشیوکنندهها بسته به ظرفیت خود، دادههای خاصی را از اعتبارسنجها دریافت میکنند. این دادهها بهنوعی ذخیرهسازی میشوند که امکان دسترسی آن در شبکه وجود داشته باشد.