Chainlink VRF در واقع یک تابع تولیدکننده اعداد تصادفی قابل اثبات و قابل تایید است که با استفاده از آن قراردادهای هوشمند میتوانند بدون به خطر انداختن امنیت به مقادیر تصادفی دسترسی داشته باشند. فناوری بلاک چین در چند سال گذشته کاربردهای زیادی را ایجاد کرده که محبوبترین آنها ارزهای دیجیتال است. همچنین این تکنولوژی امکان ایجاد بسیاری از بازارهای غیرمتمرکز، امن و شفاف در اقتصاد دیجیتال را تسهیل کرده است. چین لینک یکی از اوراکلهاست که امکان تعامل بلاک چین با دنیای واقعی را فراهم می کند. در این مقاله از داموندمگ قصد داریم Chainlink VRF و قابلیتهایی که برای بلاک چینها فراهم می کند را بررسی کنیم. با ما همراه باشید.
چین لینک (Chainlink) چیست؟
همانطور که گفته شد بلاک چین یکی از فناوریهای متحول کننده دنیای دیجیتال در عصر حاضر است. از آنجایی که همه تراکنشها بهطور تغییرناپذیر روی بلاک چین ثبت میشوند، اعتماد بسیار بیشتری را ارائه میدهد. همچنین این فناوری به خوبی با ویژگی قرارداد هوشمند که توسط اتریوم رایج شده، سازگار است. برنامههای غیرمتمرکز (DApps) مبتنی بر بلاک چین اتریوم، کسب و کارهای سنتی مانند بانکداری و خرده فروشی را متحول کردهاند و حتی موارد استفادهای را معرفی میکنند که تا به حال امکان پذیر نبوده است.
با این حال، برای پشتیبانی بلاک چین اتریوم از برنامههای غیرمتمرکز و ادغام دادههای دریافتی با قراردادهای هوشمند، نیاز به ارتباط با دنیای خارج از زنجیره اتریوم است. این کار توسط اوراکلهایی مانند چین لینک انجام میشود. قرادادهای هوشمند این دادهها را از اوراکلها دریافت میکنند و با ترکیب آنها با دادهها، رویدادها و تراکنشهای دنیای واقعی به توسعه برنامهها میپردازند.
در حال حاضر، انواع بسیاری از خدمات شخص ثالث، مانند اوراکلهای ورودی، خروجی، نرمافزاری و سختافزاری در دسترس هستند. برخی از این اوراکلها شامل برنامههای بسیار کاربردی هستند. شبکههای اوراکل مبتنی بر اجماع، مانند پروتکل Chainlink، تمرکززدایی سرتاسری را ارائه میکنند که کلید ایمنسازی کل اکوسیستم بلاک چینی است که در آن فعالیت میکنند.
علاوه بر این، اوراکلها عملکرد و قابلیت همکاری قراردادهای هوشمند را افزایش میدهند تا درجه اعتماد و شفافیت بالاتری را نسبت به سیستمهای زنجیرهای ارائه دهند. این دگرگونی از طریق گسترش استفاده از قراردادهای هوشمند ترکیبی اتفاق میافتد که ویژگیهای بلاک چینها را با قابلیتهای منحصربهفرد سیستمهای خارج از زنجیره مانند شبکههای اوراکل ترکیب میکند. به این ترتیب این بلاک چینها دسترسی و قدرت بسیار بیشتری نسبت به سیستمهای روی زنجیره بهصورت مجزا به دست میآورد.
برای درک عملکرد اوراکل ها به تصویر زیر توجه کنید:
Chainlink VRF چیست؟
هنگام برخورد با رایانه، به دلیل ماهیت قطعی بودن آن، تصادفی بودن موضوعی مهم اما دشوار است. هنگامیکه صحبت از فناوری بلاک چین میشود، این موضوع اهمیت بیشتری پیدا می کند. اعداد تصادفی قابل اعتماد را نمیتوان به صورت بومی درSolidity )زبانی که برای کدگذاری همه قراردادهای هوشمند برای بلاک چینهای سازگار با EVM استفاده میشود( تولید کرد. اگر هر گره عدد تصادفی خود را ایجاد کند، راهی مطمئن برای تشخیص اینکه چه کسی برای رسیدن به اجماع از اعداد تصادفی استفاده می کند، وجود نخواهد داشت.
همانطور که گفته شد این مشکل را میتوان با استفاده از دنیای بیرون بلاک چین برای به دست آوردن اعداد تصادفی، حل کرد. باید راهکاری وجود داشته باشد تا توسعه دهندگان و کاربران به این اعداد تصادفی اعتماد داشته باشند. راهکار این مشکل Chainlink VRF است که میتواند به شبکه کمک کند تا یک عدد تصادفی قابل اثبات و قابل اعتماد تولید کند که در بلاک چین هم قابل تایید باشد.
بسیاری از برنامههای کاربردی در فضای بازیهای بلاک چین و توکنهای غیرقابل تعویض (NFT) به یک منبع ضد دستکاری و قابل تأیید برای تولید اعداد تصادفی نیاز دارند. این برنامهها برای انجام عملکردهای پیشرفتهای مانند اجرای ایردراپ، اجرای قرعهکشی یا توسعه بازیهای مبتنی بر شانس، به اعداد تصادفی قابل تایید نیاز دارند. عملکرد تصادفی قابل تأیید Chainlink VRF بر یک شبکه غیرمتمرکز اوراکل (DON) تکیه دارد تا با ارائه دادههای خارج از زنجیره تأیید شده، زنجیرههای بلوکی موجود را تقویت کند. Chainlink VRF حتی میتواند ارسال دادههای بلاک چین را به سیستمهای فراتر از اکوسیستم بلاک چین تسهیل کند.
همچنین Chainlink VRF با به کارگیری مجموعهای از گرههای زنجیرهای که دادهها را به قراردادهای هوشمند منتقل میکنند و در عین حال مکانیزم کلاسیک اجماع را از طریق کمیتهای از این گرهها حفظ میکنند، اعداد تصادفی امن رمزنگاری شده را فراهم میکند.
همچنین سیستم VRF در چین لینک با تولید اعداد تصادفی (RNG) برای قراردادهای هوشمند، به توسعهدهندگان کمک میکند تا با استفاده از نتایج تصادفی در برنامههای مبتنی بر بلاک چین، تجربیات بهتری ایجاد کنند. علاوه بر این، تصادفی بودن ضد دستکاری ارائه شده توسط Chainlink VRF نمیتواند توسط هیچ اپراتور گره، کاربر یا حتی یک موجود مخرب دستکاری شود،.زیرا هر اوراکل در DON دارای یک جفت کلید خصوصی و عمومی مرتبط است که در آن کلید خصوصی خارج از زنجیره نگهداری میشود. در حالی که کلید عمومی در زنجیره منتشر میشود.
کاربردهای Chainlink VRF
Chainlink VRF (تابع تصادفی قابل تأیید) توسط توسعه دهندگان بلاک چین به عنوان یک تولید کننده اعداد تصادفی ضد دستکاری برای ایجاد قراردادهای هوشمند قابل اعتماد با تولید یک منبع تصادفی قابل اثبات و منصفانه استفاده میشود. ممکن است این موضوع در ظاهر بی اهمیت به نظر برسد، اما به ویژه برای کارهایی که به نتایج غیرقابل پیش بینی نیاز دارند، مانند NFT، بازی های بلاک چین یا انتخاب نمونه ای نماینده برای مکانیسم های اجماع ، بسیار کاربردی است.
با فعال کردن قراردادهای هوشمند برای دسترسی تصادفی و بدون به خطر انداختن امنیت یکی از مشکلات زنجیره بلاک چین حل میشود. Chainlink VRF از چرخه Request & Receive Data پیروی می کند که به این صورت عمل می کند:
در یک تراکنش ما یک درخواست به اوراکل می دهیم و سپس در تراکنش دوم اوراکل پاسخی را با دادهها ارسال می کند. برای انجام این درخواست، قرارداد هوشمند ما باید با LINK کافی برای پرداخت هزینه مشخص شده تامین شود. توکن LINK از استاندارد توکن ERC-677 پیروی می کند که با توکن محبوب ERC-20 سازگار است، اما دارای ویژگی هایی است که کار با اوراکلها را ارزان تر، آسان تر و کارآمدتر می کند. این فرایند مشابه چگونگی درخواست ذخیره سازی یا محاسبات در شبکه اتریوم برای پرداخت گس فی است. با این حال، با Chainlink، هزینه هر درخواست به خود اوراکل بستگی دارد و هر اپراتور گره میتواند قیمت را با هر چیزی که مناسب میداند تعیین کند.
اولین گام در استفاده از Chainlink VRF برای تولید یک عدد تصادفی در Solidity، تعیین seed (عددی که برای مقداردهی اولیه یک مولد اعداد شبه تصادفی استفاده میشود) است. بسیار مهم است که یک seed انتخاب کنید که پیش بینی یا تأثیرگذاری آن دشوار و تقریباً غیرممکن باشد. Seed شما در یک درخواست به یک اوراکل Chainlink ارسال میشود. هر بار که درخواستی برای تصادفی بودن وجود دارد، Chainlink VRF یک عدد شبه تصادفی به همراه یک مدرک رمزنگاری از نحوه تعیین آن عدد تولید می کند.
این مدرک قبل از اینکه توسط برنامههای کاربردی بالقوه مورد استفاده قرار گیرد، در بلاک چین منتشر و تأیید میشود. این شواهد رمزنگاری با استفاده از کلید عمومی که به طور گسترده پذیرفته شده و در سراسر صنعت بلاک چین مورد استفاده قرار می گیرد، تولید می شوند. این واقعیت که میتوان نتیجه را از نظر مشروعیت تأیید کرد، بسیار مهم است، زیرا کمک میکند که فرآیند توسط کسی از جمله ماینرها، کاربران، توسعهدهندگان یا اپراتورهای اوراکل که ممکن است از انجام این کار سود ببرند، دستکاری نشود.
نکته مهم دیگری که در این فرآیند باید به آن توجه کرد این است که تراکم شبکه میتواند در بسیاری از بلاک چینها گهگاه رخ دهد و منجر به طولانیتر شدن تراکنشها برای گنجاندن در یک بلوک شود. با وجود این، گرههای VRF همچنان به درخواستهای تصادفی پاسخ میدهند، اما زمان پاسخدهی میتواند متناسب با سطح ازدحام شبکه افزایش یابد. در نظر گرفتن این موضوع در موارد استفاده خاص ممکن است مهم باشد.
مزایا و معایب Chainlink VRF
طبق مستندات Chainlink، “مزایای اساسی استفاده از Chainlink VRF، تصادفی بودن قابل تایید” آن است. حتی اگر یک گره به خطر بیفتد، نمیتواند پاسخهای مغرضانه را دستکاری و یا ارائه کند زیرا اثبات رمزنگاری روی زنجیره شکست میخورد. بدترین سناریو این است که گره در معرض خطر، پاسخی به یک درخواست ارائه نکند، که بلافاصله و برای همیشه در بلاک چین قابل مشاهده خواهد بود.
کاربران به گرههایی که پاسخ نمیدهند و یا تصادفی بودن را با مدرک معتبر ارائه نمیکنند، اعتماد نمیکنند. حتی در سناریوی بعید که یک گره به خطر بیفتد، تصادفی بودن حاصل از آن قابل دستکاری نیست. گرههای در معرض خطر فقط میتوانند درخواستی را بدون پاسخ رد کنند. این موضوع نیز برای آنها جریمه مالی خواهد داشت و در درخواست آینده نشان داده نمی شوند. بنابراین اساساً Chainlink VRF نمیتواند برنامهای را که به درستی از آن استفاده میکند دستکاری کند و فقط میتواند آفلاین شود یا یک نتیجه را قبل از حذف شدن به عنوان منبع تصادفی در آینده نگه دارد. این قابلیت یک امنیت فوق العاده را برای توسعه دهندگان قراردادهای هوشمند و کاربران آنها ایجاد می کند.
چطور میتوان از Chainlink VRF استفاده کرد؟
یک قرارداد هوشمند میتواند از Chainlink VRF برای به دست آوردن یک عدد تصادفی ایمن و قابل تأیید در چهار مرحله ساده استفاده کند:
- اشتراکی را در شبکه اصلی اتریوم یا در شبکههای آزمایشی مانند rinkeby ایجاد و تأمین مالی انجام دهد.
- یک قرارداد هوشمند VRF- Chainlink را روی یک شبکه آزمایشی یا مستقیماً در شبکه اصلی اتریوم ایجاد کند.
- با استفاده از قرارداد هوشمند مستقر شده، مقادیر تصادفی را درخواست کند. این کار را میتوان با خروجی اوراکل که به صورت آرایه ای در قرارداد هوشمند ذخیره شده انجام داد.
- با استفاده از کلید عمومی اوراکل بومی قرارداد هوشمند، برای تأیید فرآیند تولید اعداد تصادفی احراز هویت انجام دهد.
از آنجایی که Chainlink VRF از دو کلید برای تولید یک مقدار تصادفی اما غیرقابل پیشبینی استفاده میکند که میتوان از طریق اثبات صحت، آن را تأیید کرد، ذخیرهسازی بسیار امنتر و غیرمتمرکزتری از کلیدهای جداگانه را برای برنامههایی با قابلیت محاسبات تعمیمیافته ارائه میدهد. با غلبه بر معایب راهحلهای ناامن RNG که بر محاسبات خارج از زنجیره تکیه میکنند، تأیید رمزنگاری زنجیرهای Chainlink VRF دادههای بلوک روی زنجیره را ترکیب میکند که به عنوان ورودی برای ارائه نتایج بیطرفانه و ضد دستکاری استفاده میشود. این ورودی در برابر اوراکلهای در معرض خطر نیز ایمن هستند.
همچنین شبکه به عنوان یک نتیجه از قابلیتهای برتر ارائه شده توسط راه حل RNG زنجیرهای Chainlink، موارد استفاده از Chainlink VRF شامل برنامههای کاربردی قرارداد هوشمند قابل اعتماد در فضای مالی غیرمتمرکز (DeFi) مانند PoolTogether را ارائه می دهد. این برنامههای کاربردی امکان صرفه جویی شخصی نسبتاً گیمی شده و دادههای قیمت در زمان واقعی را برای توسعه دهندگان پولکادات ارائه می کند. همچنین این قابلیت به توزیع توکنهای غیرقابل تعویض (NFT) به شیوهای منصفانه مانند مانسترهای پلی چین و بازی های آنچین را با ارائه راه حل های تصادفی قابل تایید را امکان پذیر می کند.
Chainlink VRF که به عنوان بخشی از اکوسیستم Chainlink 2.0 توسعه یافته است، منابع محاسباتی و زیرساخت مورد نیاز برای قراردادهای هوشمند را فراهم می کند تا قابلیت عملکردهای پیشرفته را داشته باشند. همراه با سایر DON ها، Chainlink VRF یک چارچوب همه منظوره را نیز تسهیل می کند که توسعه دهندگان میتوانند با اعتماد کامل از آن استفاده کنند.
Chainlink VRF v2 چیست؟
Chainlink VRF v2 یکی دیگر از محصولات چین لینک است که برای ارتقا مداوم DON ها در چین لینک مورد استفاده قرار می گیرد. با استفاده از این محصول توسعه دهندگان میتوانند درخواست تصادفی بودن قراردادهای هوشمند خود را از سیستم داشته باشند.
این قابلیت شامل توانایی تولید چند خروجی تصادفی در یک تراکنش زنجیرهای واحد، کاهش زمان مورد نیاز برای پاسخ و همچنین کاهش هزینه های تراکنش یا گس فی است. همچنین این امکان را به توسعه دهنده می دهد تا با استفاده از یک حساب اشتراک LINK که توسط مالک اشتراک مدیریت میشود، 100 آدرس قرارداد هوشمند را برای تامین بودجه، به صورت درخواست های تصادفی قابل تایید، از سیستم درخواست کند.
علاوه بر این، Chainlink VRF v2 یک برنامه مدیریت اشتراک را معرفی میکند که به توسعهدهندگان اجازه میدهد تا با استفاده از یک موجودی توکن LINK، درخواستهای تصادفی چندگانه را از قبل سرمایهگذاری کنند، نیاز به انتقال توکنها برای هر درخواست را برطرف کرده و هزینههای VRF پیوند زنجیرهای قابل اعمال را به میزان قابل توجهی کاهش میدهد.
در واقع، حتی به توسعهدهندگان اجازه میدهد تا زمانی که برنامههای قرارداد هوشمندشان اعداد تصادفی تأیید شده را دریافت میکنند، محدودیت گاز برگشت به تماس را تنظیم کنند و منطق پیچیدهتری را در عملکرد درخواست پاسخ به تماس ایجاد کنند. در حالی که محدودیتهای گس فی بالاتر از آن چیزی است که در Chainlink VRF تعیین شده، آنها به بلاک چین زیربنایی مورد استفاده بستگی دارند و به وضوح در صفحه آدرسهای قرارداد VRF تعریف شدهاند.
مزایای Chainlink VRF v2 همچنین شامل توانایی سفارشیسازی بیشتر است، زیرا توسعهدهندگان اکنون میتوانند تعیین کنند که قبل از تولید و تحویل یک عدد تصادفی به زنجیره بلوک، چه تعداد تأییدات بلوک مورد نیاز است. با گسترهای از سه تا 200 بلوک، توسعهدهندگان میتوانند تعداد بهینه بلوکها را قبل از ایجاد تصادفی انتخاب کنند. در نتیجه از برنامههای خود در برابر سازماندهی مجدد بلوک محافظت میکنند و در عین حال زمان تأخیر بسیار کمتری را از درخواست تا پاسخ نهایی ارائه میدهند. با Chainlink VRF v2، توسعهدهندگان میتوانند با استفاده از سیستم تصادفی به زنجیرهای بسیار مقیاسپذیر، کارآمد و قابل تنظیم دسترسی داشته باشند، که میتواند قابلیتهای بیشتری را برای NFT و DAppهای بازی ایجاد کند.
به عنوان یک نتیجه از معرفی مداوم بهبودها توسط Chainlink، برنامه VRF آن به عنوان گزینه ای واقعی برای اکثر توسعه دهندگانی که DApps را در شبکه اتریوم می سازند معرفی میشود. Chainlink VRF با تحقق وعده تسهیل معرفی برنامههای کاربردی مبتنی بر بلاک چین امن، توسعهدهندگان را قادر میسازد تا برنامههای کاربردیتری ایجاد کنند که میتوانند به طور قابل اعتماد با دادههای دنیای واقعی ارتباط برقرار کنند. با توجه به اینکه بلاک چینها اکنون میتوانند با فیدهای دادههای خارجی به روشی غیرقابل اعتماد ارتباط برقرار کنند، Chainlink VRF یک گام بزرگ به جلو در فضای فناوری بلاک چین است. زیرا به توسعهدهندگان این توانایی را میدهد تا مرزهای Metaverse را همانطور که اکنون میشناسیم ارتقا دهند.
سخن پایانی
توسعه دهندگان قراردادهای هوشمند باید همیشه امنیت را در لیست اولویت های خود داشته باشند تا از خود و کاربرانشان در برابر دشمنانی که به طور بالقوه به دنبال سرقت وجوه از قراردادهای هوشمندشان هستند، دفاع کنند. هنگام نوشتن قراردادهای هوشمندی که بر تصادفی بودن متکی هستند، در حالت ایدهآل هدف رسیدن به یک فرآیند قابل اثبات منصفانه و امن است. Chainlink VRF این نیاز را با اثبات تصادفی بودن از طریق شواهد رمزنگاری درون زنجیرهای برآورده می کند که نشان می دهد تابع تصادفی تولید شده در واقع غیرقابل پیش بینی است.
با استفاده از Chainlink VRF، توسعهدهندگان میتوانند قراردادهای هوشمند قابل اعتمادی را برای بسیاری از برنامههایی که به نتایج غیرقابل پیشبینی نیاز دارند، بسازند و در این فرآیند، طیف گستردهای از وظایف وابسته به اعمال تصادفی را انجام دهند. مانند قابل اعتماد کردن بازیها یا انتخاب یک نمونه نماینده از ناظران واجد شرایط رای دادن به یک پیشنهاد یا قرارداد نیاز به ایجاد اجماع. با توجه به اینکه Chainlink VRF در حال حاضر توسط بسیاری از پروژههای بزرگ مانند OlympusDAO، Bored Ape Yacht Club، Polygon و Illuvium استفاده میشود، به نظر میرسد که این آغاز بسیاری از موارد استفاده در آینده برای این ویژگی مهم است که میتواند به رشد بیشتر صنعت رمزنگاری کمک کند.
سوال های متداول
1- آیا Chainlink VRF واقعا تصادفی است؟
بله Chainlink VRF اعداد تصادفی امنی را برای برنامه های مبتنی بر بلاک چین فراهم می کند.
2- هماهنگ کننده VRF Chainlink چیست؟
Chainlink VRF Coordinator قراردادی است که روی یک بلاک چین مستقر میشود که تصادفی بودن هر عدد را که از یک گره تصادفی برگردانده میشود بررسی می کند. میتوانید آدرس این قراردادها را در هر زنجیره در مستندات Chainlink در قسمت “آدرس های قرارداد” بیابید.
3- هزینه استفاده از Chainlink VRF چقدر است؟
در زمان نوشتن این مقاله، هزینه درخواست به Chainlink VRF (تابع تصادفی قابل تایید) در شبکه اصلی اتریوم 0.25LINK است که حدود 4 دلار می شود.
4- آیا ChainLink VRF یک اوراکل است؟
مشخصات فنی Chainlink VRF به شرح زیر است: VRF دارای یک کلید است که توسط ماشین اوراکل رمزگذاری شده است. برخلاف کلید VRF، اوراکل دارای یک کلید عمومی مربوط به آن است. سپس اوراکل کلید عمومی مربوطه خود را با کلید VRF و شناسه وظیفه پیوند زنجیرهای موجود در زنجیره متصل می کند. تفاوت اصلی Chainlink VRF و اوراکل این است که اوراکل دنیای خارج را به بلاک چین متصل می کند، اما Chainlink VRF یک برنامه درون شبکه بلاک چین است که داده های دنیای واقعی را برای برنامه های مبتنی بر بلاک چین فراهم می کند.