بیت کوین و ارزهای دیجیتال اولیه با هدف ارائه ابزاری برای پرداخت ظهور کردند؛ تا اینکه اولینبار اتریوم کاربرد متفاوتی را برای فناوری بلاک چین پیشنهاد داد. بر اساس این کاربرد جدید، توسعهدهندگان میتوانند قراردادهای هوشمند و نرمافزارهای کاربردی را بر روی بلاک چین ایجاد کنند و خدمات مالی غیرمتمرکزی را به کاربران ارائه دهند. بااینحال، اتریوم یکی از بلاک چینهای نسل اولیه به حساب میآمد و بهشدت با محدودیت مقیاسپذیری مواجه بود. به همین خاطر، نسل جدید بلاک چینها با هدف رفع مشکل مقیاسپذیری ایجاد شدند تا سرعت تراکنشهای قراردادهای هوشمند و نرمافزارها را بالا ببرند. یکی از مهمترین بلاک چینهای نسل جدید، سولانا (Solana) با توکن بومی SOL است.
سولانا با استفاده از جدیدترین فناوریهای روز دنیا، سعی کرده تا بستری جامع و کارآمد را برای قراردادهای هوشمند فراهم کند. این مسئله باعث شده تا بسیاری از سرمایهگذاران نیز به خرید سولانا (SOL) علاقهمند شوند. ازاینرو، در این مقاله از اکسبیتو، بهسراغ وایت پیپر سولانا (Solana Whitepaper) رفتهایم تا شما را با این پروژهی سرشناس کریپتو بیشتر آشنا کنیم.
آشنایی با رمز ارز سولانا SOL
سولانا (Solana) یک پلتفرم بلاک چین منبعباز است که در سال 2017، توسط «آناتولی یاکوونکو» (Anatoly Yakovenko) پایهگذاری شد. سولانا طوری طراحی شده که نسبت به بلاک چینهای سرشناس کارایی بالاتری را ارائه دهد و درعینحال، هزینه تراکنشها را نیز پایین نگه دارد. بهاینترتیب، سولانا میتواند حدود 710 هزار تراکنش را در ثانیه پردازش کند.
معماری سولانا بهگونهای است که بستر مناسبی را برای قراردادهای هوشمند و نرمافزارهای غیرمتمرکز فراهم کرده و به همین خاطر، طیف وسیعی از پلتفرمهای تجاری و بازارهای توکنهای غیرقابل تعویض (NFTs) بر روی آن راهاندازی شدهاند.
توکن SOL نیز نقشی حیاتی در این اکوسیستم بر عهده دارد. ازاینرو، بسیاری از سرمایهگذاران ارز دیجیتال سولانا را در سبد سرمایه خود گنجاندهاند. شما نیز میتوانید از طریق صرافی ارز دیجیتال اکسبیتو به خرید سولانا اقدام کنید. اکسبیتو امکان خرید و فروش سولانا را با بهترین قیمت و بهسادگی برای شما فراهم کرده است.
خلاصه وایت پیپر سولانا (Solana)
در وایت پیپر سولانا، معماری یک بلاک چین که بر اساس مکانیزم «اثبات تاریخ» (PoH) کار میکند، توضیح داده میشود. این مکانیزم به نظم و زمانبندی تراکنشها یاری میرساند. الگوریتم PoH دادهها را در طول زمان و بدون نیاز به اعتماد، رمزگذاری کرده و آنها را در زنجیره بلوکی به ثبت میرساند. همچنین، وقتی اثبات تاریخ در کنار یک مکانیزم اجماع، مانند اثبات کار (PoW) یا اثبات سهام (PoS) به کار رود، بار اضافیِ داده را در یک ماشین حالت متکی بر «تحمل خطای بیزانسی» (Byzantine fault tolerance) کاهش میدهد، تا تراکنشها با سرعت بالاتری نهایی شوند.
علاوهبر آن، وایت پیپر سولانا دو الگوریتم دیگر را نیز پیشنهاد میدهد که میتوانند از دفترکل مبتنی بر اثبات تاریخ نگهداری کنند. اولین الگوریتم همان اثبات سهام (PoS) است که دادهها را در بستههای کوچکتری پارتیشنبندی خواهد کرد و دیگری الگوریتم «اثبات تکرار» (PoRep) بوده که نقشی کلیدی در سولانا دارد.
تلفیق اثبات تاریخ و اثبات تکرار به سولانا یاری میرساند تا از دفترکل در برابر جعل و دستکاری محافظت کند. از طرفی، این پروتکل بر روی یک شبکه با سرعت 1 گیگابایت بر ثانیه تجزیهوتحلیل میشود و میتواند توان عملیاتی خود را تا 710 هزار تراکنش در ثانیه بالا ببرد.
مقدمه وایت پیپر سولانا (Solana)
در حالت کلی، هر بلاک چین یک پیادهسازیِ «ماشین حالت تکرار با تحمل خطا» (fault tolerant replicated state machine) است. بلاک چینهای موجود بر روی زمان تأکید نکرده و محدودیت زمانیای را برای شرکتکنندگان در نظر نمیگیرند. به همین خاطر، هر گره بر اساس ساعت محلی خود در شبکه مشارکت داشته و از ساعتهای سایر مشارکتکنندگان اطلاعی ندارد. فقدان ساعت زمانی مشخص برای شبکه، پردازش تراکنشها بر اساس «برچسب زمانی» (timestamped) را با مشکل مواجه میکند.
ازاینرو، وایت پیپر سولانا الگوریتم «اثبات تاریخ» (Proof of History) را برای ایجاد دفترکلی پیشنهاد میدهد که در طول زمان قابل تأیید بوده و مدتزمان میان رویدادها و سفارشها را هماهنگ میکند. بنابراین، پیشبینی میشود که با این الگوریتم، هر گره بتواند بدون نیاز به در نظر گرفتن زمانِ سپریشده، در اعتبارسنجی مشارکت داشته باشد.
طراحی شبکه سولانا (Solana)
در این بخش از وایت پیپر سولانا، در مورد طراحی کلی این شبکه صحبت میکنیم. در این شبکه، در هر زمان، یک گره بهعنوان رهبر سیستم تعیین میشود. رهبر سیستم باید یک دنبالهی اثبات تاریخ را ایجاد کند تا امکان خواندن حالت کلی شبکه و تأیید آن در طول زمان فراهم باشد. همچنین، رهبر پیامها را از کاربران دریافت کرده و آنها را طوری مرتب میکند تا کارایی شبکه به حداکثر برسد. سپس، او تراکنشها را در حالت فعلی شبکه که در فضای RAM ذخیره شده، اجرا میکند و تراکنشهای نهایی را بههمراه امضای حالت، در گرههای تکراری که «تاییدکنندگان» (Verifiers) نامیده میشوند، به ثبت میرساند.
در حالت پارتیشنبندینشده، در هر زمان معین، یک رهبر در سیستم وجود دارد. هر گره تاییدکننده نیز دارای ویژگیهای سختافزاریای بهعنوان یک رهبر است و میتواند به سمت رهبر منصوب شود. این کار از طریق الگوریتم «اثبات سهام» (Proof of Stake) صورت میگیرد.
اثبات تاریخ (Proof of History)
بهگفته وایت پیپر سولانا، اثبات تاریخ دنبالهای از محاسبات است که میتواند راهی برای تأیید رمزنگاری گذر زمان بین دو رویداد ارائه دهد. این الگوریتم از تابع امن رمزنگاری استفاده میکند که بهگونهای نوشته شده که خروجی را نمیتوان از روی ورودی آن پیشبینی کرد. بنابراین، برای تولید خروجی، این تابع باید بهطور کامل اجرا شود. سپس، میتوان خروجی را دوباره محاسبه کرد و توسط کامپیوترهای خارجی، بهطور موازی با بررسی هر بخش از دنباله، دادهها را بر روی یک هسته جداگانه مورد تأیید قرار داد.
در این دنباله، میتوان با اضافه کردن دادههای دیگر به دادههای اصلی، به آنها «برچسب زمانی» (timestamped) افزود. پیوست کردن وضعیت، فهرست و... به دادهها، نشان میدهد که آنها پیش از ایجاد هش بعدی، در زنجیره بلوکی قرار گرفتهاند.
علاوهبر آن، طرح بلاک چین سولانا از مقیاسبندی افقی بهره میبرد تا امکان ترکیب قدرت محاسباتی وجود داشته باشد و سرعت پردازش تراکنشها بهشدت بالا برود. به همین خاطر، در ادامه وایت پیپر سولانا، اجزای معماری این شبکه را توضیح میدهیم.
برچسب زمانی برای رویدادها (Timestamp for Events)
این دنباله از هشها به سولانا کمک میکند تا دادهها را پیش از ایجاد هش بعدی در بلوک به ثبت برساند. همچنین، استفاده از یک تابع «ترکیب» (combine) باعث خواهد شد تا دادههای جدید با هش فعلی ادغام شوند. این دادهها بهسادگی از رویدادهای مختلف به دست میآیند.
پس از ترکیب دادهها با هش فعلی، یک برچسب زمانی برای آن در نظر گرفته خواهد شد تا رویدادهای بعدی با حالت فعلی اشتباه گرفته نشوند.
تأیید (Verification)
دنبالهی مورد نظر را میتوان با استفاده از یک کامپیوتر چندهستهای، با سرعت بسیار بالایی تأیید کرد. با توجه به تعداد هسته، یک گره میتواند هشها و شاخصها را به چندین زیرمجموعه تقسیم کند. برای مثال، یک کامپیوتر 4000 هستهای قادر است که دنباله را به 4000 بخش کوچکتر برش دهد و سپس، آنها را بهطور موازی پردازش کند.
مقیاسبندی افقی (Horizontal Scaling)
در مقیاسبندی افقی، میتوان چندین «ژنراتور اثبات تاریخ» (Proof of History generators) را با یکدیگر ترکیب کرد. در این وضعیت، بدون خرد کردن شبکه، به حالتی لایهلایه دست مییابیم. همچنین، خروجی هر ژنراتور باید طوری باشد که به نتیجه صحیحی برسیم. این مسئله باعث پردازش موازی تراکنشها شده و سرعت این فرایند را افزایش میدهد.
سازگاری (Consistency)
انتظار میرود که هر شرکتکننده بتواند با درج آخرین خروجی مشاهدهشده از دنبالهای که آن را معتبر میداند، در ورودی خود، در دنباله نهایی سازگاری ایجاد کرده و این دنباله را در برابر حملات مقاوم سازد. درصورتیکه یک ژنراتور اثبات تاریخ مخرب، کل دنباله را در اختیار داشته باشد، میتواند با معکوس کردن تراکنشها، در دادهها دست ببرد. برای جلوگیری از چنین حملهای، هر شرکتکننده باید صرفاً آخرین هش دنباله را ذخیره کند تا امکان دستکاری در دنباله معتبر وجود نداشته باشد.
حملات (Attacks)
در انتهای این بخش از وایت پیپر سولانا، حملات احتمالی را توضیح میدهیم که سولانا برای رفع آنها چارهای اندیشیده است.
معکوس (Reversal)
برای ایجاد یک دنباله معکوس، مهاجم باید دنباله مخرب را بعد از رویداد دوم شروع کند. این حمله باعث تاخیر در فرایند میشود که در اثر آن، هر گره همتابههمتای غیرمخرب باید رویداد اصلی را اشتباه گرفته و سپس، آن را با دیگران در میان بگذارد.
سرعت (Speed)
اصولاً استقرار تعداد زیادی ژنراتور، میتواند شبکه را در برابر حملات مقاوم کند. بعضی از ژنراتورها پهنای باند بالایی را ارائه میدهند و برخی دیگر بهجای پهنای باند، سرعت زیادی دارند که این سرعت را بهصورت دورهای با ژنراتورهای دیگر ترکیب میکنند. در حملات سرعت، گره مخرب باید یک دنباله ساختهشده توسط ژنراتورهای سریع را بهسرعت معکوس سازد.
دوربرد (Long Range)
حملات دوربرد شامل به دست آوردن کلیدهای خصوصی دورریختهشده کاربران و ایجاد یک زنجیره بلوکی تقلبی هستند. کاربر مخربی که بهدنبال چنین حملاتی است، باید یک زنجیره جعلی را بسازد که شامل زمانی بهاندازه زمان زنجیره اصلی باشد. بنابراین، او به پردازشگری سریعتر از پردازشگر شبکه نیاز دارد تا بتواند طول تاریخ زنجیره اصلی را بازسازی کند.
بااینحال، ازآنجاییکه سولانا طوری طراحی شده که هر گره یک رکورد تاریخی را در اختیار دارد، هرگز یک کاربر مخرب نمیتواند به چنین حملاتی اقدام کند.
مکانیزم اجماع اثبات سهام (Proof of Stake Consensus)
بنابر اطلاعات ارائهشده در وایت پیپر سولانا، این شبکه از یک نمونه خاص از الگوریتم اثبات سهام (PoS) در موارد زیر بهره میگیرد:
- تأیید سریع دنباله فعلی
- رأیگیری
- انتخاب ژنراتور بعدی اثبات تاریخ
- مجازات گرههای مخرب
این الگوریتم بر اساس پیامهایی بنا شده که در یک زمان معین به گرهها ارسال میشوند. در ادامه، جزئیات این مدل اثبات سهام را توضیح میدهیم.
اصطلاحشناسی (Terminology)
در این بخش از وایت پیپر سولانا، اصطلاحات مورد استفاده در الگوریتم اثبات سهام این شبکه توضیح داده خواهند شد. این اصطلاحات عبارتاند از:
- اوراق قرضه یا باندها (bonds): منظور از باند هزینهای است که یک ماینرِ اثبات کار (PoW) برای متصل شدن به بلاک چین و آغاز عملیات استخراج انجام داده است. در مکانیزم اثبات سهام، این هزینه بهصورت کوینهایی دریافت میشود که استیککنندگان در شبکه سهامگذاری میکنند.
- اسلشینگ (slashing): یک راهحل پیشنهادی برای جلوگیری از رأی دادن گرهها به زنجیرهی جعلی است. درصورتیکه چنین رأیی مشاهده شود، فرایند اسلشینگ آن رأی را از بین خواهد برد.
- اکثریت مطلق (super majority): اکثریت مطلق مجموع اعتبارسنجهایی هستند که توکنهای خود را در شبکه سهامگذاری کردهاند و در مورد وضعیت زنجیره بلوکی به اجماع میرسند. حتی 1 رأی کمتر از اکثریت مطلق، باعث میشود که زنجیره معتبر شناخته نشده و اجماع به دست نیاید.
باندینگ (Bonding)
منظور از باندینگ، فرایندی است که در آن، توکنهای سهامگذاریشدهی کاربران جمعآوری میشوند و در یک حساب «باند» قرار میگیرند. موجودی حساب باند را نمیتوان خرج کرد؛ بهجز زمانی که خود کاربران آن را برداشت کنند.
رأیگیری (Voting)
بهگفتهی وایت پیپر سولانا، رأیها صرفاً شامل یک پاسخ «آری» هستند. در این فرایند، اعتبارسنجها باید به وضعیت نهایی زنجیره بلوکی رأی بدهند. درصورتیکه اکثریت مطلق وضعیت شبکه را تأیید کنند، این وضعیت معتبر شناخته میشود.
انتخابات (Elections)
هربار که خرابی یک ژنراتور تشخیص داده شود، برای برگزاری دور جدید اعتبارسنجی، سهامگذاران باید یک ژنراتور جدید را انتخاب کنند. در این فرایند، رهبر سیستم رأی سهامگذاران را جمعآوری کرده و درصورتیکه اکثریت مطلق به یک ژنراتور رأی داده باشند، این ژنراتور برای دور بعدی انتخاب خواهد شد.
اسلشینگ (Slashing)
اسلشینگ زمانی رخ میدهد که یک گره به دو دنباله مختلف رأی بدهد. در صورت شناسایی چنین رأی مخربی، کوینهای باندشدهی گره از حساب او خارج میشوند و به استخر اعتبارسنجی فرستاده خواهند شد. ازاینطریق، عاملی بازدارنده بهوجود میآید تا هیچ گرهی رفتاری مخرب را از خود بروز ندهد.
اثبات تکرار (Proof of Replication)
همانطور که در ابتدای وایت پیپر سولانا (Solana) گفتیم، یکی دیگر از مکانیزمهای مورد استفاده توسط این شبکه، اثبات تکرار است. این مکانیزم از اثبات تکرار شبکه فایل کوین (Filecoin) الگوبرداری شده و منجر به ایجاد یک دنباله اثبات تاریخ در طول زمان میشود. اگرچه سولانا از اثبات تکرار برای اجماع استفاده نمیکند، اما از آن برای تعیین کارمزدهای ذخیرهسازی و وضعیت نهایی دنباله بهره میبرد.
اصولاً مکانیزم اثبات تکرار دو نوع الگوریتم «اثبات اعتبار» و «اثبات فضا» را با یکدیگر تلفیق میکند تا روش مناسبی برای ذخیرهسازی دادهها فراهم شود. از طریق اثبات تکرار، کاربران میتوانند ثابت کنند که بخشی از فضای ذخیرهسازی خود را به شبکه اختصاص دادهاند و دادهها را بهطور صحیح و کامل در این فضا ذخیره کردهاند. همچنین، الگوریتم اثبات تکرار امکان بازیابی دادهها را بهراحتی فراهم میکند.
سخن پایانی
از وایت پیپر سولانا (Solana Whitepaper) متوجه میشویم که این شبکه با ترکیب کردن موفقترین مکانیزمهای اعتبارسنجی شبکههای گوناگون، توانسته به روشی نوین برای تأیید تراکنشها و ذخیرهسازی دادهها دست یابد. ازاینطریق، سرعت شبکه سولانا بسیار بالا میرود و میتواند بستر مناسبی را برای ایجاد و اجرای قراردادهای هوشمند و نرمافزارهای غیرمتمرکز به توسعهدهندگان ارائه دهد. بهاینترتیب، سولانا به یکی از قدرتمندترین و کارآمدترین بلاک چینهای موجود تبدیل میشود که نقشی مهم در آینده امور مالی غیرمتمرکز خواهد داشت.