سولانا، یک بلاک چین لایه یک است که بر تراکنشهای سریع یا توان پردازشی بالا متمرکز است. سولانا میتواند هزاران تراکنش را بدون نیاز به راهکارهای مقیاسپذیری پردازش کند و این امر سبب شده تا توجه زیادی را به خود جلب کند.
اگرچه به سولانا لقب «قاتل اتریوم» را دادهاند، اما این بلاکچین از محدودیتها و چالشهایی رنج میبرد که اعتبار آن را تا حدی تحت الشعاع قرار داده است. در این مقاله از بلاکپست، ابتدا تعریفی کوتاه از این بلاکچین ارائه داده و در ادامه به نحوه عملکرد و مشکلاتی که با آن روبرو بوده است، میپردازیم.
سولانا؛ یک پلتفرم بلاکچینی منبع باز است که ایدهی آن در سال 2017 توسط آناتولی یاکوونکو (Anatoly Yakovenko) شروع شد. آناتولی یاکوونکو یک مهندس نرمافزار است که قبلا در شرکت فناوری و مخابراتی Qualcomm مشغول به فعالیت بوده است و هم اکنون مدیرعامل سولانا لبز (شرکت توسعهدهنده سولانا) است. شبکه اصلی سولانا، در سال 2020 و پس از چندین مرحله اجرای شبکههای آزمایشی (تستنت) به طور رسمی راهاندازی شد.
تستنت (Testnet)؛ یک محیط آزمایشی و شبیهسازی شده است که قبل از راهاندازی یک پروژه، برای تست و ارزیابی عملکرد و ویژگیهای آن مورد استفاده قرار میگیرد.
هدف اصلی سولانا، ارتقای مقیاسپذیری تکنولوژی بلاکچین است. سولانا، از مکانیزم الگوریتم اجماع اثبات سهام (Proof Of Stake) استفاده میکند و آنچه سبب توان پردازشی بالای این شبکه شده، نوآوری به نام اثبات تاریخ (Proof of History) است که کمی بعد، در مورد آن توضیح خواهیم داد. همچنین، معماری بلاکچین سولانا، به گونهای طراحی شده است که ایجاد قراردادهای هوشمند و اپلیکیشنهای غیرمتمرکز را امکانپذیر میکند.
در زمان نگارش این مقاله، طبق وبسایت solscan (یکی از مرورگرهای بلاکچین سولانا) TPS یا تعداد تراکنشهایی که سولانا در هر ثانیه پردازش میکند، برابر با 2,040 عدد است. در حالت آزمایشی، سولانا میتواند 65,000 تراکنش در ثانیه را مدیریت کند.
البته ذکر این نکته مهم است که TPS واقعی با آزمایش شده، متمایز از یکدیگراند. TPS واقعی به سرعت تراکنش بلاکچینهای عمومی در دنیای واقعی اشاره دارد. اما منظور از TPS تست شده، بالاترین سرعت تراکنشی است که در تستنت یا نسخه آزمایشی یک بلاکچین میتوان به آن رسید. این بدان معناست که این اعداد، احتمالا با سرعت واقعی خود فاصله بسیاری زیادی داشته باشند؛ چراکه شرایط تستنت معمولا از شرایط دنیای واقعی که بلاکچینها تحت آن کار میکنند، تقلید یا پیروی نمیکند.
بلاکچین سولانا مبتنی بر الگوریتم اجماع اثبات سهام است. در این الگوریتم، اعضای شبکه توکنهای خودشان را به عنوان وثیقه، استیک یا سهامگذاری میکنند تا بتوانند در فرایند اعتبارسنجی تراکنشها و خلق بلاک مشارکت کنند.
شبکه، معمولا برای هر بلاک، یک ولیدیتور را برای اعتبارسنجی تراکنشها و تشکیل بلاک انتخاب میکند و دیگر ولیدیتورها به این بلاک رای میدهند. در سولانا به این ولیدیتور انتخاب شده، لیدر یا رهبر گفته میشود که به صورت تصادفی انتخاب میشود. با این حال، شانس انتخاب شدن به عنوان لیدر، متناسب با میزان توکنهایی که ولیدیتور استیک کرده است، افزایش مییابد.
یک فهرست یا جدولی از لیدرها وجود دارد که هر کسی میتواند لیدرهای انتخاب شده برای بلاکهای بعدی را مشاهده کند. بنابراین لیدرها نوبت خودشان را کمی قبلتر میدانند. اما مشکل، تفاوتِ زمان بین لیدرها است. به طور مثال، ممکن است 2 لیدر، دو بلاک در یک زمان واحد تولید کنند و دیگر ولیدیتورها باید تصمیم بگیرند که زمان کدام لیدر صحیح است. تشخیص این مساله زمانبر است و سرعت شبکه را کاهش میدهد.
اینجاست که اثبات تاریخ (Proof of History) وارد میشود تا به عنوان یک ساعت جهانی برای همه لیدرها و ولیدیتورها عمل کند. PoH؛ راهی برای ثبت زمان در یک بلاکچین است. در واقع، اثبات تاریخ به لیدرها کمک میکند تا بدانند چه زمانی شروع به تشکیل یک بلاک کنند. علاوه بر این، ولیدیتورها نیز میتوانند مطمئن شوند که لیدر انتخاب شده در نوبت خودش، بلاک را تولید کرده است. ذکر این نکته مهم است که برخلاف آنچه بسیاری از منابع ذکر کردهاند، مکانیزم اثبات تاریخ یک مکانیزم اجماع نیست، بلکه یک نقش مکمل در مکانیزم اجماع اثبات سهام سولانا بازی میکند و یکی از عواملی است که منجر به افزایش توان عملیاتی سولانا و زمان تولید بلاک شده است.
یک تابع هش، الگوریتمی است که با وارد کردن هر نوع دادهای، به شما یک هش (رشتهای از اعداد و حروف با طول ثابت) ارائه میدهد. PoH در سولانا از تابع هش SHA-256 استفاده میکند. تابع هش دو ویژگی مهم دارد:
حال فرض کنید که هر اسلات (مدت زمان تشکیل یک بلاک در بلاکچین) یک لیدر دارد و لیدرهای بعدی طبق فهرست لیدرها مشخص هستند. بنابراین، PoH چگونه به یک لیدر کمک میکند تا بداند چه زمانی شروع به تولید بلاک کند؟
همه لیدرها، زمان را از طریق اجرای چندین بارهی تابع هش میسنجند. هر اسلات یک بازه زمانی دارد؛ اما این بازه زمانی با ثانیه محاسبه نمیشود. بازه زمانی هر اسلات با چیزی به اسم تیک (Tick) شمرده میشود.
به طور مثال، فرض کنید بازه زمانی یک اسلات 10 تیک باشد و به منظور شمارش یک تیک، لازم است شما تابع هش را فرضا 5 بار اجرا کنید.
حال تصور کنید که شما در فهرست لیدرها، سومین لیدر هستید. بنابراین، شما قبل از شروع کردن به تولید بلاک خودتان، باید زمان برای تقریبا 2 اسلات محاسبه کنید.
بنابراین طبق محاسبات تصویر، شما باید قبل از تولید بلاک خودتان، 100 بار تابع هش را اجرا کنید. این بدان معناست که شما باید به میزان مدت زمانی که این 100 بار اجرا کردن تابع هش طول میکشد، صبر کنید.
شما با یک دادهی ورودی تصادفی مثل کلمهی Solana شروع میکنید، آن را در تابع هش قرار میدهید و یک هش برای آن دریافت میکنید که نام آن را هش شماره 1 مینامیم.
شما هش شماره 1 را مجددا در تابع هش قرار میدهید و هش شماره 2 را دریافت میکنید. این کار را برای هش شماره 3 و بقیهی هشها نیز انجام میدهید.
همانطور که ممکن است حدس زده باشید، تولید 100 هش، مقداری زمان میبرد. زمانی که شما یک بلاک را تولید میکنید، این 100 هشی که تولید کردهاید را به ولیدیتورها ارائه میدهید تا ثابت کنید که شما برای نوبت خودتان (2 اسلات) صبر کردهاید و زمان را به درستی محاسبه نمودهاید.
علاوه بر این، اثبات تاریخ به مهر زمانی زدن به تراکنشها و مرتب کردن آنها نیز کمک میکند. بدین ترتیب که لیدر زمانی که در حال تولید یک بلاک است، هش آخرین بلاک قبل از آن را میگیرد و یک تراکنش به آن اضافه میکند و تمام اینها را در تابع هش قرار میدهد تا یک هش جدید دریافت کند. هش بدست آمده را مجددا با یک تراکنش دیگر در تابع هش قرار میدهد.
طبق تصویر بالا، ولیدیتور شبکه میتواند کاملا مطمئن باشد که تراکنش شماره 2، قبل از اینکه هش شماره 80 تولید شود اتفاق افتاده است؛ چراکه این تراکنش در تولید این هش استفاده شده است. بنابراین ما میتوانیم اطمینان حاصل کنیم که تراکنش شماره 2، قبل از اینکه هش شماره 80 تولید شود وجود داشته است.
اگر بخواهیم به طور خلاصه آنچه که اثبات تاریخ انجام میدهد را بیان کنیم، باید بگوییم:
توکن بومی این شبکه نیز سولانا نام دارد که با نماد SOL شناخته میشود. SOL؛ به واحدهای کوچکتری به نام لمپورت (Lamport) تقسیمبندی میشود. لمپورت، برگرفته از نام لزلی لمپورت (Leslie Lamport) میباشد که این شخص، یک دانشمند آمریکایی در حوزه علوم رایانه است. در واقع، 1 لمپورت، ارزشی برابر با 0.000000001 سولانا دارد.
در حال حاضر، 564,703,850 واحد از توکن سولانا مینت یا تولید شده است که حدودا 426 میلیون از آن در گردش است و این میزان بر اساس نرخ تورم شبکه افزایش مییابد.
پایینترین و بالاترین قیمتی که تاکنون تجربه کرده است، به ترتیب برابر با 50 سنت در 11 می 2020 (اردیبهشت 1399) و 259 دلار در 6 نوامبر 2021 (آبان 1400) میباشد.
ارز دیحیتال سولانا، دو نقش مهم در شبکه ایفا میکند:
کاربران باید برای انجام تراکنشها و یا تعامل با قراردادهای هوشمند، کارمزد بپردازند. این کارمزد به شکل ارز دیجیتال سولانا پرداخت میشود و همچون نیروی محرکهی لازم برای اجرای عملیاتها در شبکه عمل میکند.
یکی از قابلیتهای کلیدی SOL، استیک کردن یا سهامگذاری آن است. کاربران با استیک ارزدیجیتال سولانای خودشان میتوانند به ولیدیتور یا اعتبارسنج در شبکه تبدیل شوند و به حفظ امنیت شبکه کمک کنند. سولانا به صورت دورهای ارزدیجیتال سولانا جدیدی را به شبکه تزریق میکند (اصطلاحا به آن تورم گفته میشود) و قسمت عمدهای از این توکنهای جدید را به ولیدیتورها (به دلیل مشارکتشان) در شبکه پاداش میدهد.
خیر، سولانا قابل ماین کردن نیست؛ چراکه سولانا، رمزارز بومی شبکه ای است که براساس اثبات سهام کار میکند. در حقیقت، در سولانا، اعضای شبکه با استیک کردن توکنهای SOL و ایفای نقش به عنوان یک ولیدیتور پاداشی ازجنس همین توکن دریافت میکنند.
بلاک تایم یا مدت زمانی که طول میکشد تا یک بلاک در سولانا تشکیل شود، 400 میلی ثانیه یا 0.4 ثانیه است. بلاک تایم کوتاه سبب میشود که تراکنشها به میزان قابل توجهی سریع انجام شوند.
اگر بخواهیم سولانا را از لحاظ معیار بلاک تایم با دیگر شبکهها مقایسه کنیم، باید بگوییم که میانگین زمان تولید بلاک در شبکه بیتکوین 10 دقیقه و در شبکه اتریوم 12 ثانیه است. این میزان در شبکه پالسچین تقریبا 10 ثانیه است.
علیرغم سرعت بالای پردازش تراکنشها در سولانا، این شبکه با مشکلاتی روبرو است:
سولانا، یکی از شبکههایی بوده است که چندین بار از کار افتاده و یا عملکرد آن کند شده است. اولین قطعی شبکه، در اواخر سال 2021 رخ داد که طی آن شبکه تقریبا یک روز از دسترس خارج شده بود. خاموشی شبکه سبب شد که 11 میلیارد دلار از پول سرمایهگذاران در آن ساعات قفل شود؛ چراکه هیچ تراکنشی روی شبکه انجام نمیشد.
به طور کلی، عملکرد سولانا علیرغم اجرای اصلاحات فراوان، در یک بازه دو ساله، 19 بار با اختلال روبهرو شده است. برخی معتقدند که چنین قطعیهایی برای شبکهای که دیگر عوامل فنی و امنیتی را قربانی سرعت و مقیاسپذیری کرده است، چندان بعید به نظر نمیرسید. با این حال، از کار افتادگیهای مکرر این شبکه، اعتماد به آن را از بین برد.
تعداد ولیدیتورهایی که از شبکه سولانا پشتیبانی میکنند، بسیار کم است. هم اکنون، سولانا 2,133 ولیدیتور دارد که این میزان در مقایسه با شبکههایی همچون اتریوم و پالسچین که به ترتیب 888,968 و 50,127 ولیدیتور دارند، بسیار کم است. تعداد ولیدیتورها مهم است؛ چراکه نشان میدهد تا چه میزان شبکه غیرمتمرکز است.
علاوه براین، انتقادهایی در مورد عرضه اولیه توکن سولانا وجود دارد. درواقع، بسیاری از سرمایهگذاران VC (کسانی که استارتآپها را تامین مالی میکنند) در فرایند عرضه اولیه توکن سولانا شرکت کردهاند. بسیاری این مساله را یک اقدام منفی توصیف کردهاند؛ چراکه اینگونه سرمایهگذاران، نهادهایی هستند که به جای مشارکت در پروژه و کمک به رشد آن، بیشتر به فکر منافع خودشان و کسب سود از بازار هستند.
در یک فرایند ICO خصوصی در سال 2022، سولانا نزدیک به 300 میلیون دلار از چندین نهاد سرمایهگذاری خصوصی از جمله شرکت آلامدا ریسرچ (وابسته به صرافی ورشکسته FTX) دریافت کرد. حتی ادعا شده بود که بیش از 90 درصد ولیدیتورهای سولانا مربوط به دو نهاد سولانا و آلامدا هستند. لازم به ذکر است که پس از سقوط صرافی افتیایکس، TVL سولانا طی 24 ساعت 32 درصد کاهش یافت.
خاموشیهای مکرر سولانا، ویژگی غیرمتمرکز و امن بودن این شبکه را نفی میکند و این دو مورد، همان ویژگیهایی هستند که اساسا هدف و ماهیت بلاکچین را تعریف میکنند؛ چراکه در غیر این صورت، دلیلی برای ایجاد و راهاندازی یک بلاکچین وجود ندارد.
بلاکچین به وجود آمد تا راهی برای تسویه تراکنشها به شکلی غیرمتمرکز و بدون کنترل نهاد یا شخص ثالثی، ارائه کند. بنابراین، اگر قرار باشد که مقیاسپذیری و سرعت بالا در یک بلاکچین از ارجحیت بالاتری نسبت به غیرمتمرکز بودن و امنیت برخوردار باشد؛ سولانا هیچ تفاوتی با سیستمهای متمرکزی همچون سوییفت، پیپل و ویزا ندارد.
میتوان گفت، مقیاسپذیری زمانی با ارزش است که شما بتوانید تا حدی از ویژگیهای مذکور بهرهمند باشید. از این رو، میتوان بلاکچینی که تمرکززدایی را فدای مقیاسپذیری کرده است، یک دیتابیس متمرکز درنظر گرفت که جز نادیده گرفتن رسالتی که برای بلاکچین در نظر گرفته شده است، چیزی به همراه ندارد.
به طور خلاصه، خاموشی یک شبکه زمانی اتفاق میافتد که تمام ولیدیتورها در لحظه، با هم خاموش شوند که این نشانهای واضح از متمرکز بودن شبکه است. بیشک، خاموش شدن شبکهای از ولیدیتورها بدان معناست که کنترلی در پشت زمینه وجود دارد که دستور خاموشی را به تمام ولیدیتورها میدهد.
برخلاف اتریوم که برای مقیاسپذیری بر استفاده از لایههای بلاکچینی مختلف متکی است؛ بلاکچین سولانا سعی میکند تا یک شبکه مقیاسپذیر با استفاده از تنها یک لایه ارائه کند. اگرچه نوآوری استفاده شده در فناوری سولانا (PoH)، امکان تراکنشهای بسیار سریعتر با هزینه کمتر را فراهم میکند، اما PoH، مفهوم جدیدی است که هنوز در مراحل اولیه خود است؛ چراکه این شبکه همچنان خاموشیهای مکرری را تجربه میکند. باید دید که بنیاد سولانا برای حل این مشکلات چه اقداماتی را در آینده انجام خواهد داد.
من در رشته متالوژی صنعتی تحصیل کردم. از سال 1401 تصمیم گرفتم در رسانه بلاکپست به تولید محتوا در مورد فناوری بلاکچین و صنعت جذاب ارزهای دیجیتال بپردازم. سعی میکنم تا ...