در ماه گذشته یک هکر با ساخت آدرسهایی مشابه آدرسهای واجد شرایط ایردراپ آربیتروم، ۵۰۰ هزار دلار به جیب زد. این فرد ابتدا فهرستی از آدرسهای ونیتی (Vanity) واجد شرایط دریافت توکن ARB تهیه کرد و سپس از یک آدرسساز برای ساخت آدرسهای مشابه آنها استفاده کرد، بعد هم توکنهای ایردراپشده را به یک آدرس جدید منتقل کرد. از آنجایی که این آدرسهای ونیتی هک شده بودند، مالکان اصلی توکنهای ARB، موفق به دریافت ایردراپ نشدند. موضوع امروز بحث ما هم چیستی و نحوه ساخت Vanity Address است. با میهن بلاکچین همراه باشید.
خلاصه مطلب
👈 به آدرسهای خاص یا سفارشی، آدرسهای ونیتی (Vanity Address) گفته میشود.
👈 کاربرد اولیه آدرسهای Vanity افزودن مولفههای شخصی مانند نام یا برند شرکت به آدرس عمومی است.
👈 برای ساخت آدرس ونیتی یا باید به آدرسساز ونیتی مراجعه کنید یا با کامپیوتر و بهصورت دستی آن را بسازید.
👈 آدرسهای ونیتی امنیت بالایی ندارند و با حمله Brute Force قابل هک شدن هستند.
آدرس ونیتی چیست؟
در عصری که هویت دیجیتال ما بخش جداییناپذیری از شخصیت و برند ماست، همواره در تلاشیم تا ردپایی منحصر به فرد و قابل تشخیص از خود به جای بگذاریم. ما نامهای کاربری خاص، آدرسهای ایمیل حرفهای و حتی پلاکهای خودروی سفارشی را انتخاب میکنیم تا هویت خود را بیان کنیم. اما زمانی که به دنیای ارزهای دیجیتال قدم میگذاریم، اغلب با یک شناسه سرد، روباتیک و کاملاً غیرشخصی روبرو میشویم: رشتهای طولانی و تصادفی از حروف و اعداد که به عنوان آدرس کیف پول ما عمل میکند. این آدرس، هرچند از نظر فنی کارآمد است، اما فاقد هرگونه حس انسانی، برندسازی یا قابلیت شناسایی است.
به آدرسهای خاص یا سفارشی، آدرسهای ونیتی (Vanity Address) گفته میشود؛ یعنی به جای اینکه بهصورت رندوم حروف و اعداد کنار هم قرار بگیرند، خود شما میتوانید ترتیب آنها را انتخاب کنید. این آدرس حاوی الگویی خاص و قابل خواندن بوده که توسط کاربر انتخاب شده است. این مفهوم دقیقاً مانند داشتن یک پلاک خودروی رند، یک شماره تلفن خاص یا یک نام کاربری زیبا در شبکههای اجتماعی است.
آدرسهای استاندارد که توسط کیف پولها ساخته میشوند، شامل کاراکترهای حروف و اعداد تصادفی هستند که معنای خاصی ندارند. این آدرسها را میتوان با افزودن مولفههای خاص، حروف مشخص یا نام و برند شخصی کرد. مثلا یک آدرس استاندارد و معمولی بیت کوین ممکن است به صورت زیر باشد:
3P4glGKlpKJrgvj4n7GBgnLNqBdjVgf3jx
در حالیکه آدرس ونیتی بیت کوین میتواند حاوی یک کلمه معنیدار یا مخفف باشد:
3LoveBPzzD72PUXLzCkYAtGFYmK5Vynr33
همانطور که مشاهده میکنید این آدرس حاوی کلمه Love است. کاربرد اولیه آدرسهای Vanity افزودن مولفههای شخصی به آدرس عمومی است؛ این کار اشتراکگذاری و بهخاطرسپردن آدرس را تسهیل میکند و در برخی مواقع تبلیغ برند یا کسبوکار را آسانتر میکند.
چرا افراد از آدرسهای سفارشی استفاده میکنند؟
دلایل متعددی برای استفاده از این آدرسهای خاص وجود دارد که ترکیبی از کاربردهای عملی و جنبههای شخصی را در بر میگیرد. در وهله اول، این آدرسها ابزاری قدرتمند برای برندسازی و بازاریابی هستند. شرکتها، پروژههای رمزارزی و افراد مشهور از آدرسهای سفارشی برای تقویت هویت برند خود استفاده میکنند. داشتن یک آدرس کمک مالی که با نام پروژه شروع میشود، بسیار حرفهایتر به نظر میرسد و اعتماد بیشتری را در میان کاربران و اهداکنندگان جلب میکند.
علاوه بر این، سهولت در شناسایی و به خاطر سپردن یکی دیگر از مزایای مهم است. اگر شما چندین آدرس برای مقاصد مختلف دارید، آدرس سفارشی به شما کمک میکند تا به سرعت آنها را از هم تشخیص دهید. همچنین، آدرس عمومی خوانا برای دریافت انعام در یک وبسایت، برای کاربران به یاد ماندنیتر است.
در کنار این کاربردهای عملی، جنبههای حیثیتی و شخصیسازی نیز نقش دارند؛ برای برخی افراد، داشتن یک آدرس خاص، نشاندهنده تسلط تکنیکال یا علاقه عمیق آنها به دنیای کریپتو است. نهایتاً، این آدرسها میتوانند امنیت را در برابر اشتباهات تایپی به طور جزئی افزایش دهند، زیرا کاربر قبل از ارسال تراکنش میتواند به سرعت و به صورت چشمی چند حرف ابتدایی آدرس را تأیید کرده و از صحت آن اطمینان حاصل کند.
چطور آدرس ونیتی بسازیم؟
برخلاف تصور، شما نمیتوانید یک آدرس را مانند یک نام کاربری به سادگی «طراحی» یا «ثبت» کنید. فرآیند ساخت یک آدرس سفارشی بر اساس یک روش محاسباتی بسیار سنگین به نام جستجوی بروت فورس (Brute-force search) استوار است. در شبکههای بلاکچینی، هر آدرس عمومی از یک کلید خصوصی منحصر به فرد مشتق میشود. این فرآیند ریاضی یکطرفه است؛ یعنی شما میتوانید از کلید خصوصی به آدرس عمومی برسید، اما برعکس آن غیرممکن است.
فرآیند ساخت با مشخص کردن الگوی دلخواه توسط کاربر، مثلاً کلمه «Saeed»، آغاز میشود. سپس، یک نرمافزار تخصصی (VanityGen) به صورت مکرر شروع به تولید میلیونها یا میلیاردها کلید خصوصی کاملاً تصادفی در هر ثانیه میکند. به ازای هر کلید خصوصی، نرمافزار آدرس عمومی متناظر با آن را محاسبه کرده و بررسی میکند که آیا آدرس تولید شده با الگوی درخواستی کاربر شروع میشود یا خیر.
در صورت تطابق نداشتن، آن جفت کلید/آدرس فوراً دور انداخته شده و فرآیند با تولید یک کلید تصادفی جدید تکرار میشود. این جستجوی بیوقفه تا زمانی ادامه مییابد که بالاخره یک آدرس منطبق با الگو پیدا شود. در آن لحظه، فرآیند متوقف شده و آن کلید خصوصی و آدرس عمومی موفق را به کاربر تحویل میدهد. نکته بسیار مهم این است که هرچه الگوی شما طولانیتر و پیچیدهتر باشد، پیدا کردن آن به صورت نمایی دشوارتر شده و نیازمند قدرت محاسباتی و زمان بسیار بیشتری خواهد بود. پیدا کردن یک آدرس با ۴ حرف سفارشی ممکن است چند دقیقه طول بکشد، اما یافتن یک آدرس با ۷ یا ۸ حرف سفارشی میتواند ماهها یا حتی سالها با استفاده از کامپیوترهای معمولی زمان ببرد.
ساخت آدرسهای ونیتی به قدرت پردازش بالایی نیاز دارد. برای ساخت آدرس ونیتی یا باید به آدرسساز ونیتی مراجعه کنید یا با کامپیوتر و بهصورت دستی آن را بسازید. استفاده از ابزارهای آنلاین ۲ ایراد بزرگ دارد؛ اول اینکه وقتی آدرس عمومی توسط پلتفرم واسطه ساخته میشود، یعنی کلید خصوصی شما هم در دست آنها است و دوم اینکه ساخت آدرسی که دقیقا مطابق با خواستههای شما باشد، هزینهبر است.
فرآیند ساخت آدرسهای ونیتی درست مشابه آدرسهای معمولی است؛ کلید عمومی از روی کلید خصوصی ساخته میشود. ساخت آدرس ونیتی نیازمند ترکیبی از ابزارهای نرمافزاری، کمی دانش فنی و صبر است. باید دنبال آدرسی باشید که با معیارهای شما همخوانی داشته باشد و بسته به پیچیدگی سفارشیسازی ممکن است زمان ببرد. اقداماتی که معمولا برای ساخت آدرس ونیتی بهصورت آنلاین باید انجام دهید به ترتیب زیر هستند:
۱- یک آدرسساز ونیتی پیدا کنید
برای تولید آدرس ونیتی به یک نرمافزار تولیدکننده آدرس ونیتی نیاز دارید. مطابق با شبکه مدنظر خود باید از یک آدرسساز خاص استفاده کنید. برای ساخت آدرس ونیتی اتریومی میتوانید به این لینک و این لینک و برای ساخت آدرس ونیتی برای سولانا به این سایت و برای بیت کوین به این سایت مراجعه کنید.
(شخصا توصیه نمیکنم که کلید خصوصی این آدرسها را ایمپورت و از آنها استفاده کنید. صرفا برای اینکه تجربه ساختن آدرس Vanity داشته باشید، این سایتها را اینجا گذاشتم. سلامت هیچکدام را هم نمیتوانم تایید کنم. پس بسیار مراقب باشید و نکات امنیتی را هم رعایت کنید.)
۲- آدرس سفارشی خود را وارد کنید
کلمات و عباراتی که میخواهید در آدرس شما باشد را وارد کنید. فراموش نکنید که هر چقدر کاراکترها طولانی و پیچیدهتر باشند، مدت زمان بیشتری باید منتظر ساخت آدرس بمانید. برخی از کاراکترها مانند ‘0’، ‘O’, ‘I’ و ‘l’ برای جلوگیری از سردرگمی مجاز نیستند.
۳- آدرس را بسازید
سپس روی Generate کلیک کنید. نرمافزار آدرسی که مد نظر شماست را میسازد. زمان لازم برای ساخت آدرس به پیچیدگی آدرس مد نظر و قدرت پردازش سرویسدهنده بستگی دارد. سپس یک آدرس عمومی ونیتی به همراه کلید خصوصی به شما داده میشود.
نکته قابل توجه درباره آدرسهای ونیتی این است که برخی از بلاکچینها فرمت آدرس خاص خود را دارند و از آدرس ونیتی پشتیبانی نمیکنند.
ساخت آدرس ونیتی بهصورت دستی
شما میتوانید ونیتی آدرس را خودتان بسازید. برای ساخت آدرس عمومی باید کلید خصوصی درست را پیدا کنید. این کار تنها از طریق چیزی که به آن حمله بروت فورس (Brute Force) گفته میشود، امکانپذیر است؛ حدس زدن تا جایی که به ترکیب درست برسیم. بروت فورس نیازمند قدرت پردازشی بالایی است؛ بنابراین باید از کامپیوتر برای انجام این کار استفاده کنید.
قدم اول: دانلود نرمافزار VanityGen
ابتدا برنامه VanityGen را دانلود کنید. وقتی آن را از حالت فشرده خارج میکنید، باید محتوای زیر را ببینید:
با توجه به نوع CPU خود اپلیکیشن Vanitygen یا Vanitygen64 را انتخاب کنید.
قدم دوم: اجرای برنامه
روی دکمه win بزنید و run را بنویسید و سپس cmd را تایپ کنید و روی OK بزنید. سپس باید آدرس فایل اپلیکیشن را وارد کنید.
اینتر بزنید و سپس فهرستی از منابع VanityGen را مشاهده خواهید کرد. سپس باید اپلیکیشن ونیتی جن را اجرا کنید تا آدرس شما بروت فورس شود. بنابراین مجددا مسیر فایل ونیتی جن را وارد کنید، اما این بار فرمول زیر را هم اضافه کنید:
[پنج تا شش کاراکتری که با ۱ شروع شوند] v -i-
(به خط آخر در تصویر زیر دقت کنید.)
وقتی مجددا اینتر بزنید اطلاعاتی مشابه تصویر زیر مشاهده میکنید:
- Kkey/s: سرعت کار برنامه را نشان میدهد
- Prob: احتمال برخورد تصادفی با آدرس مدنظر
اعداد آخری هم نشاندهنده این است که در ۳۰.۳ ثانیه احتمال ۵۰ درصد است. اگر خوششانس باشید جایی بین احتمال ۵۰ تا ۱۰۰ درصد، به آدرس میرسید.
وقتی آدرس ساخته شود، کلید عمومی و خصوصی را مشاهده خواهید کرد.
آیا از آدرسهای ونیتی استفاده کنیم؟
در زمینه اینکه آدرسهای ونیتی چه ایراداتی دارند و آیا منجر به از دست رفتن دارایی میشوند یا نه، مستندات بسیاری وجود دارد. با توجه به تحقیقات و بررسیهایی که در این زمینه انجام دادم، استفاده از این نوع آدرسها را به هیچ عنوان توصیه نمیکنم.
یکی از معروفترین آدرسسازهای ونیتی Profanity نام داشت. این ابزار از سال ۲۰۱۷ برای ساخت آدرسهای اتریومی استفاده میشد. در سال ۲۰۲۲ صرافی غیرمتمرکز وان اینچ به کاربران خود گفت که آسیبپذیریهای متعددی را در ابزار پروفنیتی یافته است که میلیونها دلار را به خطر میاندازد. پروفنیتی آدرسهای ونیتی را طبق مراحل زیر میساخت:
۱- از بین ۴ میلیارد کلید خصوصی، یک میلیارد کلید را تصادفا انتخاب میکرد.
۲- کلیدها را بسط میداد تا به ۲ میلیون برسد.
۳- از روی این کلیدهای عمومی، کلید خصوصی میساخت.
۴- بهطور مکرر آنها را تغییر میداد تا به آدرس ونیتی مد نظر برسد.
ابتدا دستاندرکاران واناینچ تصور میکردند که محاسبه مجدد آدرسهای ونیتی به کارت گرافیک قدرتمند نیاز دارد و ماهها زمان میبرد. اما ناگهان اتفاقی افتاد؛ ۵ آدرس قرارداد هوشمند از ۵ پروژه مختلف یک ایردراپ یکسان را دریافت کردند و سپس این داراییها به کیف پول دیگری منتقل شد. توسعهدهندگان وان اینچ پس از بررسی متوجه شدند که به شکل زیر و با حمله Brute Force میتوان به کلید خصوصی آدرسهای ونیتی دست یافت:
۱- از امضای تراکنش میتوان کلید عمومی را بازیابی کرد.
۲- کلیدها را بسط دهیم تا به ۲ میلیون کلید برسیم.
۳- بهطور مکرر آنها را تغییر دهیم تا جایی که به سید کلید عمومی برسیم.
طبق گفتههای وان اینچ، آدرسسازهای ونیتی از وکتور ۳۲ بیتی برای ساخت کلید خصوصی ۲۵۶ بیتی استفاده میکنند که به معنای عدم امنیت آنهاست. گزارشها تا سپتامبر ۲۰۲۲ نشان میدهد که از آدرسهای ونیتی ساختهشده با پروفنیتی حدود ۳.۳ میلیون دلار به سرقت رفته است.
با وجود تمام جذابیتهای ظاهری، آدرسهای سفارشی با ریسکهای امنیتی جدی همراه هستند، به خصوص اگر فرآیند تولید آن به درستی و با آگاهی کامل انجام نشود.
مهمترین ریسک، استفاده از سرویسهای آنلاین و اشخاص ثالث برای تولید آدرس است. این خطرناکترین کار ممکن در این فرآیند است. زمانی که شما از یک وبسایت یا فردی که خدمات تولید آدرس سفارشی ارائه میدهد استفاده میکنید، هیچ تضمینی وجود ندارد که آن سرویس، یک کپی از کلید خصوصی شما را برای خود ذخیره نکرده باشد. این کار دقیقاً مانند این است که کلید گاوصندوق خود را به یک قفلساز ناشناس در اینترنت بدهید و از او بخواهید یک قفل جدید برایتان بسازد و امیدوار باشید که او کلید شما را فراموش خواهد کرد. آن سرویس میتواند در آینده هر زمانی که بخواهد، به کیف پول شما دسترسی پیدا کرده و تمام داراییهایتان را به سرقت ببرد. بنابراین، هرگز از تولیدکنندههای آنلاین برای ساخت آدرسی که قصد دارید مبالغ قابل توجهی در آن نگهداری کنید، استفاده نکنید.
امنترین راه، تولید آدرس توسط خود شما و با استفاده از نرمافزارهای متن-باز (Open-source) و معتبر است. این فرآیند نیز باید در یک محیط کاملاً امن، یعنی بر روی یک کامپیوتر آفلاین (Air-gapped) که به اینترنت متصل نیست، انجام شود. این کار تضمین میکند که هیچ بدافزار یا ویروسی نمیتواند در حین فرآیند تولید، کلید خصوصی شما را مشاهده یا به سرقت ببرد.
در نهایت، این سوال مطرح میشود که آیا یک آدرس سفارشی ذاتاً ناامنتر است؟ پاسخ «خیر» است. اگر یک آدرس سفارشی به صورت کاملاً امن (توسط خود شما و در یک محیط آفلاین) تولید شود، از نظر امنیت رمزنگاری هیچ تفاوتی با یک آدرس تصادفی ندارد. امنیت هر دو به یک اندازه است. ریسک آدرس سفارشی در خودِ آدرس نیست، بلکه تماماً در فرآیند تولید آن نهفته است.
سوالات متداول (FAQ)
- آدرس ونیتی چیست؟
آدرسهای ونیتی (Vanity address) نوعی آدرس رمزنگاری و منحصربهفرد هستند که به جای حروف و اعداد رندوم، کلمات و عبارات معنیدار و قابل خواندن برای انسان را شامل میشوند.
- چطور آدرس ونیتی بسازیم؟
ساخت آدرس ونیتی به دو صورت دستی و آنلاین امکانپذیر است. هر دو روش را در این مطلب توضیح میدهیم.
جمعبندی
آدرس ونیتی (Vanity address) به نوعی آدرس عمومی گفته میشود که به جای حروف و اعداد درهمبرهم و تصادفی، میتوانید کلمات معنیدار مانند اسم خود، برند شرکت یا مفهومی را در دل آدرس جا دهید. برای ساخت آدرس ونیتی میتوانید به آدرسسازهای آنلاین مراجعه کنید یا یک نرمافزار به نام VanityGen نصب کنید و به کمک خط فرمان ویندوز یکی بسازید. استفاده از آدرس ونیتی به دلیل امنیت پایین توصیه نمیشود، اما فرآیند ساخت آن تجربه فنی جالبی به شما میدهد. شما درباره ونیتی آدرسها چطور فکر میکنید؟ آیا از آنها استفاده میکنید؟ { “@context”: “https://schema.org”, “@type”: “FAQPage”, “mainEntity”: [ { “@type”: “Question”, “name”: “آدرس ونیتی چیست؟”, “acceptedAnswer”: { “@type”: “Answer”, “text”: ” آدرسهای ونیتی (Vanity address) نوعی آدرس رمزنگاری و منحصربهفرد هستند که به جای حروف و اعداد رندوم، کلمات و عبارات معنیدار و قابل خواندن برای انسان را شامل میشوند. ” } }, { “@type”: “Question”, “name”: “چطور آدرس ونیتی بسازیم؟ “, “acceptedAnswer”: { “@type”: “Answer”, “text”: “ساخت آدرس ونیتی به دو صورت دستی و آنلاین امکانپذیر است. هر دو روش را در این مطلب توضیح میدهیم. ” } } ] }