عبارت بازیابی کیف پول ارز دیجیتال (Seed Phrase یا Recovery Phrase) چیست؟


به معرفی Seed Phrase یا عبارت بازیابی کیف پول ارز دیجیتال (Recovery Phrase) هنگام استفاده از والت هایی مانند تراست و کوینومی می‌پردازیم.

یکی از موارد مهمی که به هنگام استفاده از یک کیف پول رمز ارزی باید مورد توجه قرار بگیرد، Seed Phrase یا عبارت بازیابی (Recovery Phrase) است. تقریبا تمامی والت‌های مطرح حوزه ارزهای دیجیتال در هنگام ساخت یک کیف پول توسط کاربر، یک رشته از کلمات را به کاربر نشان می‌دهند که داشتن آن‌ها برای دسترسی به ولت، الزامی است. در این نوشته، به مقوله Seed Phrase یا عبارت بازیابی نگاه دقیق‌تری خواهیم داشت.

تاریخچه Seed Phrase

روش کلی برای دستیابی و در اختیار گرفتن کنترل یک آدرس در رمز ارزها، داشتن کلید خصوصی مرتبط با آن است. کلید خصوصی در واقع مانند رمز حساب‌های بانکی عمل می‌کند و هر کس با داشتن آن می‌تواند حساب مربوطه را به صورت کامل در اختیار بگیرد. آدرس نیز همچون شماره حساب عمل می‌کند و داشتن آن به معنای داشتن دسترسی کامل به حساب نیست. بنابراین، کلید خصوصی باید به صورت کاملا امن توسط کاربر حفظ شود؛ اما در مورد آدرس‌ها، چنین الزامی وجود ندارد. در زیر، یک آدرس و کلید خصوصی مرتبط با آن در شبکه بیت کوین را مشاهده می‌کنید:

Address: 1QAF38pV96VfhsrCp2sErHKEehiaNM7Qe
Private key: 5b63d32b26d003ce8797ca5dd2c25150a97aa787779d41fd231089be9187dce

همانطور که می‌بینید، فرمت کلید خصوصی در شبکه بیت کوین یک عبارت 64 هگزادسیمالی است. از طرفی، می‌دانیم که داشتن این کلید برای دسترسی به دارایی‌های یک کیف پول حیاتی بوده و باید به صورت کاملا امن توسط کاربر نگهداری شود. همچنین اگر کوچک‌ترین تغییری در کلید خصوصی ایجاد شود، مثلا یکی از کاراکترها تغییر کند، دسترسی به دارایی‌های مرتبط با آن امکان‌پذیر نخواهد بود. علاوه بر این، فرمت کلید خصوصی در شبکه‌های مختلف ارزهای دیجیتال متفاوت است و برای هر ارز، باید کلید خصوصی مربوطه را به صورت مجزا نگهداری کرد.

چنین ویژگی‌هایی باعث شد تا کلید خصوصی از یک گزینه ایده‌آل برای نگهداری دارایی‌ها و داشتن دسترسی به یک آدرس، بسیار دور شود. ارائه BIP39 سبب شد تا بسیاری از مشکلات مربوط به این ماجرا حل شود. BIP39 در واقع یک پروپوزال بهبود شبکه بیت کوین است که در سال 2013 مطرح و Seed Phrase یا عبارت بازیابی کیف پول طی آن معرفی شد.

Seed Phrase چیست و چه ویژگی‌هایی دارد؟

پس از معرفی BIP39، دسترسی به یک کیف پول ارز دیجیتال محدود به داشتن کلید خصوصی مرتبط با آن نیست، بلکه با داشتن Seed Phrase نیز می‌توان به دارایی‌های موجود در یک والت رمز ارزی دسترسی داشت. Seed Phrase مجموعه‌ای از چند کلمه است که کاربر در هنگام ساخت یک کیف پول، آن‌ها را دریافت می‌کند.

Seed Phrase یا recovery phrase چیست
نمونه‌ای از یک Seed Phrase یا Recovery Phrase

مانند کلید خصوصی، حفظ و نگهداری عبارت بازیابی به صورت امن نیز بسیار حیاتی است. با این حال، ویژگی‌های Seed Phrase باعث شده تا استفاده از این روش محبوبیت بسیار بیشتری داشته باشد، به طوری که اکثر کیف پول‌های ارز دیجیتال این روش را جایگزین کلید خصوصی کرده‌اند. در ادامه، ویژگی‌های اصلی Seed Phrase را بررسی می‌کنیم.

عبارت بازیابی (Recovery Phrase) یکسان برای تمام رمز ارزها

یکی از مهم‌ترین ویژگی‌های عبارت بازیابی در کیف پول ارزهای دیجیتال، امکان استفاده از آن برای چند رمز ارز است. همانطور که گفته شد، ساز و کار ارزهای دیجیتال با هم متفاوت است و این اتفاق باعث می‌شود تا فرمت کلید خصوصی در شبکه برخی از رمز ارزها با دیگری متفاوت باشد. اما در مورد Seed Phrase چنین نیست. شما می‌توانید با داشتن یک عبارت بازیابی، به دارایی‌های خود در شبکه‌های بلاک چین مختلف دسترسی داشته باشید.

این ویژگی باعث می‌شود تا تجربه کاربری به هنگام استفاده از والت‌های ارز دیجیتال تا حد زیادی بهبود پیدا کند و نیاز نباشد که کاربر برای هر رمز ارز خود، کلید خصوصی را به صورت جداگانه استفاده یا حفظ و نگهداری کند. با داشتن یک Seed Phrase می‌توان به‌طور همزمان به دارایی‌های روی شبکه‌های مختلف مانند اتریوم، بیت کوین، دوج کوین و … دسترسی داشت.

شایان ذکر است که ویژگی Multicurrency بودن عبارت بازیابی، با ارائه BIP44 در سال 2014 اضافه شد.

متفاوت بودن تعداد کلمات در Seed Phrase

بر اساس مستندات BIP39، یک Seed Phrase می‌تواند متشکل از 12، 15، 18، 21 یا 24 کلمه باشد. در حال حاضر، عبارت بازیابی در برخی از کیف پول‌ها مانند تراست والت متشکل از 12 کلمه است و برخی دیگر، مانند کوینومی، از مدل 24 کلمه‌ای استفاده می‌کنند.

Seed Phrase تراست والت
عبارت بازیابی در کیف پول تراست والت

Seed Phrase یا recovery phrase کوینومی
Recovery Phrase در کیف پول کوینومی

شایان ذکر است که فارغ از تعداد کلمات، یک Seed Phrase را می‌توان در هر کیف پولی که از این استاندارد پشتیبانی می‌کند وارد نمود و به دارایی‌ها دست پیدا کرد. به عنوان مثال، اگرچه تراست والت هنگام ساخت یک کیف پول عبارات 12 کلمه‌ای تولید می‌کند، اما امکان ایمپورت کردن یک عبارت بازیابی 24 کلمه‌ای تولید شده توسط کوینومی در کیف پول تراست و دسترسی به دارایی‌ها وجود دارد.

تعداد کلمات محدود و اهمیت ترتیب آن‌ها در عبارت بازیابی کیف پول (Recovery Phrase)

لیست تعداد کلماتی که برای تولید Seed Phrase استفاده می‌شوند، نامحدود نیست، بلکه عبارت بازیابی کیف پول (با هر تعداد کلمه، مثلا 12 یا 24 کلمه‌ای) از 2048 کلمه انتخاب می‌شود. لیست این کلمات را می‌توانید از طریق این لینک مشاهده کنید. به عنوان مثال، Spatial یکی از این 2048 کلمه است و در عبارت‌های بازیابی مورد استفاده قرار می‌گیرد، اما کلمه Vanilla جزئی از این کلمات نیست و در هیچ Seed Phraseی وجود نخواهد داشت.

همچنین لازم به ذکر است که ترتیب کلمات وارد شده برای بازیابی کیف پول ارز دیجیتال از طریق Recovery Phrase مهم است. اگر یکی از کلمات با دیگری جابه‌جا شود، امکان دسترسی به دارایی‌ها وجود نخواهد داشت. به عنوان مثال، این دو Seed Phrase کلید‌های خصوصی متفاوتی را تولید می‌کنند:

wrong twin slender believe depend talent skill above act scout zoo segment
wrong slender twin believe depend talent skill above act scout zoo segment

بررسی فنی نحوه عملکرد Seed Phrase یا عبارت بازیابی کیف پول

تا به اینجا، با آنچه که در مورد عبارت بازیابی کیف پول مهم است، آشنا شدیم. اگر علاقه‌مند به فهم مکانیزم عملکرد Seed Phrase در والت‌های ارز دیجیتال هستید، در این قسمت قصد داریم این مقوله را به طور تخصصی بررسی کنیم.

تنها روش دسترسی به دارایی‌های موجود در یک کلید عمومی، داشتن کلید خصوصی مرتبط با آن است. با این حال، با داشتن Seed Phrase هم می‌توان به دارایی‌های موجود در کلید عمومی دسترسی داشت. در واقع، کیف پول‌های مختلف ارز دیجیتال با استفاده از استاندارد BIP39، کلیدهای خصوصی مرتبط با یک عبارت بازیابی را استخراج می‌کنند و سپس با داشتن این کلیدها، کیف پول کاربر بازیابی می‌شود.

برای تولید Seed Pharse، کیف پول‌های مختلف ارز دیجیتال از الگوریتم زیر استفاده می‌کنند:

  1. یک کد 128 تا 256 بیت به صورت رندوم تولید می‌شود.
  2. یک بار این کد در تابع هش SHA256 قرار می‌گیرد و 4 تا 8 بیت اولیه از هش تولید شده به عنوان چک سام (Checksum) در نظر گرفته می‌شود.
    نکته: اندازه چک سام برای کدهای 128 بیتی برابر با 4 بیت، برای کدهای 160 بیتی برابر با 5 بیت، برای کدهای 192 بیتی برابر با 6 بیت، برای کدهای 224 بیتی برابر با 7 بیت و در نهایت برای کدهای 256 بیتی برابر با 8 بیت است.
  3. چک سام به انتهای کد تولید شده در مرحله اول اضافه می‌شود.
  4. نتیجه مرحله سوم، به بخش‌های 11 بیتی تقسیم می‌شود. به عنوان مثال، اگر در مرحله اول یک کد 128 بیتی تولید گردد و چک سام 4 بیتی به آن افزوده شود، حاصل مرحله سوم یک کد 132 بیتی است. این کد 132 بیتی در ادامه شامل 12 تکه 11 بیتی خواهد بود.
  5. هر کدام از تکه‌های 11 بیتی حاصل از مرحله 4، معادل یک کلمه از مجموع 2048 کلمه از پیش تعیین شده است.
  6. با کنار هم گذاشتن کلمات حاصل از تکه‌های 11 بیتی مشابه با مرحله 5، Seed Phrase یا Recovery Phrase به‌دست می‌آید.

عبارت بازیابی کیف پول ارز دیجیتال

همانطور که گفته شد، یک کد 128 بیتی منجر به تولید یک Seed Phrase با 12 کلمه می‌شود. حال اگر اندازه کد اولیه 256 بیت باشد، با در نظر گرفتن چک سام 8 بیتی، حاصل مرحله سوم یک کد 264 بیتی خواهد بود که به 24 بخش 11 بیتی تقسیم‌پذیر است. هر کدام از این 24 بخش معادل یک کلمه از مجموع 2048 کلمه بوده و حاصل آن، یک عبارت بازیابی 24 کلمه‌ای است.

نحوه تولید کلید خصوصی

اکنون که نحوه تولید Seed Phrase تشریح شد، مسئله بعدی، چگونگی تولید کلیدهای خصوصی است. در گام نخست باید بدانیم که ارزهای دیجیتال مختلف از الگوریتم‌های متفاوتی برای تولید کلید خصوصی استفاده می‌کنند. با این حال وجه اشتراک تمامی آن‌ها، تعیین یک عبارت رندوم به‌نام سید (Seed) است که این عبارت می‌تواند از طریق الگوریتم‌های داخلی کیف پول و یا استفاده از روش‌هایی مانند حرکت دادن موس روی صفحه نمایش تولید شود. لذا آنچه که نیاز است، تعیین سید و در واقع ورودی اولیه برای الگوریتم‌های تولید کلیدهای خصوصی ارزهای دیجیتال مختلف است.

BIP39 برای تعیین سید، از الگوریتم مخصوص خود استفاده می‌کند. این سید از طریق کلمات به‌دست آمده از مرحله 6 بخش قبل به اضافه بخشی با نام Salt تولید می‌شود. Salt مانند Seed Phrase، یک رشته از حروف است. این رشته شامل کلمه “mnemonic” و یک رمز اختیاری است که کاربر می‌تواند هنگام ساخت کیف پول آن را تعیین کند.

الگوریتم تولید سید بر اساس BIP39 دارای مراحل زیر است:

  1. رشته حروف Salt (که در بالا در مورد آن توضیح داده شد) در ادامه کلمات به‌دست آمده از مرحله 6 بخش قبل قرار می‌گیرند.
  2. حاصل مرحله 1، 2048 بار در تابع PBKDF2 قرار می‌گیرد تا یک هش 512 بیتی تولید شود.

عبارت بازیابی کیف پول ارز دیجیتال

اکنون با داشتن یک هش 512 بیتی، سید مورد نیاز به عنوان ورودی اولیه الگوریتم‌های تعیین کلید خصوصی ارزهای دیجیتال مختلف آماده شده و والت پرایوت کی مرتبط با هر ارزی که از آن پشتیبانی می‌کند را تولید می‌نماید.



ثبت نظر
نظرات کاربران (2 نظر)
نرگس

اگه کسی سید فریز ما رو داشته باشه غیر از دسترسی به پول ما چه سوء استفاده دیگه ای میتونه بکنه؟

0 پاسخ دهید
20:17:03 1400/07/16
مجتبی انصاری

سلام. به کل کیف پول شما دسترسی داره و میتونه والت رو خالی کنه

0 پاسخ دهید
20:17:03 1400/07/16