چندی پیش بود که خبر منع دسترسی ایرانیان به پلتفرم اپن سی به گوش رسید؛ همزمان با این اتفاق، کاربران ونزوئلایی (و بعضی از ایرانیان) با محدودیت دسترسی به شبکه اتریوم از طریق کیف پول متامسک مواجه شدند. تبعات وجود نام کشورمان در لیست محدودههای تحت تحریم قضایی وزارت خزانهداری ایالات متحده و به طور مشخص دفتر کنترل داراییهای خارجی (OFAC) این نهاد، همچون شبحی شوم همواره گریبانگیر ایرانیان است. وجود این تحریمها، شرکتها را مقید به عدم سرویسدهی تجاری به ایرانیان میکند. اما مگر آرمان بلاک چین غیرمتمرکز بودن و خارج شدن از سلطه دولتها نبود؟ چطور میتوان دسترسی عدهای را به واسطه محل زندگی به یک شبکه غیرمتمرکز مختل کرد؟ آیا راهکاری برای مقابله با تحریمها وجود دارد؟
در این مطلب کمی در خصوص اینفیورا (Infura) و ارائهدهندگان خدمات بلاک چین خواهیم گفت. سپس محدودیت پیش آمده را بررسی میکنیم و روشهایی برای مقابله با آن معرفی میکنیم. با میهن بلاکچین همراه باشید.
ارائهدهنده خدمات زیرساختی بلاک چین چیست؟
اگر بخواهیم تعریفی بسیار ساده از بلاک چین ارائه کنیم، میتوانیم بلاکچین را «نوعی دفتر کل توزیع شده بنامیم که در آن وضعیت بروز آدرسها و موجودیشان نگهداری میشود.» کمی تعریفمان تقلیلگرایانه است اما برای مقصود مورد نظرمان کفایت میکند. حال که بلاک چین چنین است، کیف پولها چه هستند و کاربران چگونه تراکنش ارسال و یا دریافت میکنند؟ از تمثیل دیگری استفاده میکنیم؛ اگر هر آدرس بلاک چین را معادل یک حساب بانکی و کیف پول را متناظر با اپلیکیشن همراه بانک بدانیم، همانطور که دریافت وجوه نیازمند نصب بودن اپلیکیشن بر روی تلفن همراه شما نیست، اگر شما نیز همین امروز تمامی والتها و کیف پولهای خود را حذف کنید، مشکلی در دریافت تراکنشها به مقصد آدرس عمومی خود نخواهید داشت. مادامی که کلید دسترسی به حساب خود (کلید خصوصی) را داشته باشید، تا زمانی که شبکه برقرار باشد، قادر به دسترسی به سرمایه خود هستید. بنابراین بلاک چینهای غیرمتمرکزی همچون شبکه بیت کوین و اتریوم قابلیت فریز و بلوکه کردن دارایی شما را ندارند. حال به بخش دیگر ماجرا میرسیم؛ یک کاربر چگونه با بلاک چین ارتباط برقرار میکند؟ در اینجا پای نودها (یا گرهها) که مشارکتکنندگان اصلی شبکه هستند به میان میآید.
برای ارتباط با بلاک چین – دیدن موجودی، فرستادن تراکنش و غیره – باید با گرهها ارتباط برقرار کنید یا در شرایط ایدهآل خود یک نود باشید. حال نقش ارائهدهندگان خدمات در این میان، بر عهده گرفتن زیرساختهای فنی این کار – راهاندازی و نگهداری از نودها، ایجاد فریمورکی برای ارتباط راحت و درخواست اطلاعات (API و…) و غیره – است. شرکت اینفیورا یکی از بزرگترین ارائهدهندگان این سرویس در شبکه اتریوم است. این شرکت زیرمجموعه کانسنسیس (Consensys) است؛ شرکت کانسنسیس، علاوه بر اینفیورا، توسعهدهنده کیف پول متامسک، ابزار توسعه ترافل (Truffle)، کلاینت هایپرلجو بسو و ارائهدهنده سرویس بازبینی و وارسی کد (Audit) است. با توجه به محبوبیت گسترده هر یک از زیرمجموعههای این شرکت و نقش بنیادین آنها در شبکه اتریوم، نگرانیهایی در خصوص میزان غیرمتمرکز بودن واقعی اتریوم وجود دارد. اما چیزی که مشهود است این است که حتی اگر کانسنسیس تصمیم بگیرد دیگر فعالیت نداشته باشد، یا شروع به اقدام مخرب (همچون سانسور تراکنشها) کند، شاید عملکرد شبکه کمی مختل شود، اما خللی در فعالیت کلی به وجود نخواهد آمد. همچنین جایگزینهایی (متمرکز و غیرمتمرکز) برای خدمات کانسنسیس – از جمله برای اینفیورا – وجود دارد که در ادامه آن را بررسی خواهیم کرد.
شرکت آمریکایی اینفیورا، به منظور تبعیت از قوانین این کشور، سعی در محدودسازی درخواستهای فرستاده شده از IP کشورهای تحت تحریم گرفته است. در ادامه این مطلب راههای مختلفی – به ترتیب از آسان به سخت – برای رفع این معضل به شما پیشنهاد میکنیم.
راهکارهای مقابله با محدودیتهای اینفیورا
کیف پول متامسک به طور پیشفرض از Endpointهای اینفیورا برای دسترسی به بلاک چین استفاده میکند. بنابراین سادهترین راهکار مقابله با محدودیتهای اینفیورا، استفاده کردن از والتهای دیگر است. لزوما همه والتها از سرویسهای ثالث استفاده نمیکنند و برخی نودهای خود را راهاندازی کردهاند. دیگر راه نسبتا ساده، مخفی کردن هویت اینترنتی خود است:
استفاده از ابزارهای مخفی کردن هویت اینترنتی
استفاده از VPN یا VPSای که نشت IP نداشته باشد، میتواند سبب گذر شما از سد محدودیت ایجاد شده باشد. هر چند این راه مسکنی موقت است و اگر سرویسی بخواهد به طور جدی مانع دسترسی شود، با استفاده از متادادههای دیگری همچون منطقه زمانی دستگاه وصل شده، اطلاعات مربوط به اپراتور همراه و بسیاری دیگر از دادههای دیگر میتواند شما را شناسایی کند. با این حال اگر دنبال راهی کمدردسر میگردید، این راه برای شما مناسب است.
تغییر آدرس JSON RPC در متامسک و استفاده از سرویسهای رقیب
علیرغم سلطه بازار اینفیورا بر شبکه اتریوم، این سرویس بیرقیب نیست. در صورتی که برای دسترسی به شبکه اتریوم از طریق متامسک دچار مشکل هستید، میتوانید با تغییر تنظیمات اتصال و وارد کردن RPC دیگری (به جز آدرس اینفیورا) همانند گذشته به شبکه اتریوم دسترسی داشته باشید. توجه داشته باشید که برخی از مهمترین رقبای اینفیورا (همچون Alchemy و Moralis)، با وجود آن که به شکل رایگان به شما امکان استفاده از خدمات خود را میدهند، اما نیازمند ثبتنام و ایجاد حساب کاربری هستند. از طریق سایت Ethereum Nodes، میتوانید لیستی از برخی ارائهدهندگان این خدمات را مشاهده کنید.
برای مثال میخواهیم از API سرویس فلاکس استفاده کنیم؛ آدرس RPC را از باکس بالا کپی میکنیم. تنظیمات شبکه اتریوم در متامسک به نحوی تعیین شده است که قادر به تغییر متغیرهای شبکه اصلی اتریوم نیستید، بلکه اگر قصد دارید از سرویسدهندهای دیگر استفاده کنید، باید گزینه Add Network یا Custom RPC را بزنید.
در پنجرهای که برای شما گشوده میشود، همانند افزودن شبکهای مبتنی بر EVM باید عمل کنید.
در فیلد شماره یک نامی دلخواه (که در متامسک برای شما به نمایش درخواهد آمد) بگذارید. برای مثال آن را Ethereum Mainnet – Flux مینامیم. در فیلد شماره دو، باید آدرسی را که کپی کردید، بچسبانید. در فیلد شماره سه، شناسه شبکه (که برای اتریوم عدد ۱ است) را وارد خواهید کرد. در کادر شماره ۴، سمبل رمزارز بومی شبکه (ETH) را وارد کنید. در کادر شماره پنج، آدرس مرورگر شبکه دلخواه خود را وارد کنید. (اتر اسکن با آدرس https://etherscan.io انتخابی رایج است).
با وارد کردن عدد ۱ در قسمت Chain ID به شما اخطار میدهد که پیش از این، شبکهای با این شناسه وجود دارد که به آن توجه نکنید و در نهایت تغییرات خود را ذخیره کنید. حال اگر به بخش شبکهها در کیف پول متامسک خود بروید، نام این شبکه را مشاهده خواهید کرد.
با انتخاب کردن این شبکه، میتوانید از بینیاز به اینفیورا به اتریوم دسترسی داشته باشید. مشکل این روش این است که در صورت خصوصی و متمرکز بودن شرکت ارائهدهنده خدمات، همواره این احتمال وجود دارد که محدودیتی جدیدی وضع نماید.
نود خود را راهاندازی کنید
بهترین و در عینحال مشکلترین روش، راهاندازی نود شخصی است. این چنین، از طریق نود خود به بلاک چین دسترسی خواهید داشت و تراکنشها و دسترسی شما غیرقابل سانسور خواهد بود. همچنین با راهاندازی نود، به امنیت شبکه شایانی خواهید کرد. برای این کار نیاز به راهاندازی یک نود کامل (Full) خواهید داشت اما می توانید از ویژگی Fast Sync استفاده کنید (در این حالت تمامی اطلاعات بلاکچین ذخیره نمیشود بلکه با استفاده از هدرها، قابلیت بازسازی تمامی تراکنشها در کلاینت وجود خواهد داشت. همچنین حالت [state] پس از گذشت مدتی حذف میشود). با وجود سادهتر شدن راهاندازی نود – به نحوی که این کار در دستگاههای سادهای همچون RaspberryPi 4 نیز ممکن است – این روش نیاز به دانش فنی، امکانات سختافزاری (حداقل ۴ گیگابایت رم و حافظه SSD ۵۰۰ گیگابایتی) و ارتباط پایدار و نسبتا سریع اینترنت دارد. اگر اقدام به راهاندازی نود شخصی خود کنید، میتوانید زمینه دسترسی دوستان خود را نیز با به اشتراک گذاری آدرس RPC نود خود فراهم کنید.
توضیح دقیق این روش از حوزه این مقاله خارج است، با این حال سعی خواهیم کرد که آموزش آن را در آینده برای علاقهمندان تهیه کنیم. برای یادگیری این فرایند میتوانید دو آموزش (+ –) لینک شده (به زبان انگلیسی) را مطالعه کنید.
سوالات متداول (FAQ)
استفاده از والتهای دیگر به جای متامسک، تغییر آدرس JSON RPC با استفاده از سرویسهای رقیب، استفاده از ابزارهای مخفیسازی IP و راهاندازی نود شخصی از جمله راهکارهای اصلی مقابله با محدودیتهای اینفیورا است.
سادهترین راهکار مقابله با محدودیتهای اینفیورا استفاده از کیف پولهای دیگر است.
جمعبندی
هنگامی که اتفاقی همچون ممانعت ایفیورا یا اپن سی از خدمترسانی به عدهای از مردم تنها به دلیل محل زندگی یا ملیتشان رخ میدهد، ارزشهای غیرمتمرکزگرایی بیش از پیش روشن میشود. در این مطلب چند راهکار مقابله با محدودیتهای اینفیورا را به شما آموزش دادیم. اما شاید مهمترین درسی که بتوان از این اتفاق گرفت این است که اگر شبکهای واقعا سودای پایبندی به عدم تمرکز را دارد، باید به نحوی نقشه راه آتی خود را بچیند که راهاندازی نود در شبکه نیازمند امکانات پیچیده و گران نباشد. با توجه به نقشه راه اتریوم و حتی وضعیت فعلی این شبکه (در قیاس با برخی دیگر از شبکهها)، به نظر میرسد که این موضوع برای توسعهدهندگان اتریوم نیز مسالهای جدی تلقی میشود.
شما چه راهکاری برای مقابله با محدودیتهای اینفیورا