میهن بلاکچین
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین آموزش کریپتو پدیا

تابع Ecrecover در امضاهای دیجیتال اتریوم چیست و چگونه امنیت این امضاها را تامین می‌کند؟

نگارش:‌مازیار نسیمی
7 مرداد 1402 - 19:52
در کریپتو پدیا
زمان مطالعه: 4 دقیقه
0
تابع ecrecover در امضاهای دیجیتال

در امضاهای دیجیتال اتریوم، تابعی به نام Ecrecover وجود دارد که صحت و یکپارچگی اطلاعات امضا شده را تایید می‌کند و باعث امنیت بیشتر این امضاها می‌شود. در این مقاله به بررسی تابع Ecrecover در امضاهای دیجیتال می‌پردازیم؛ اما قبل از آن باید با امضاهای دیجیتال، الگوریتم امضای دیجیتال مبتنی بر منحنی بیضوی (ECDSA)، استانداردهای امضای دیجیتال و آسیب‌پذیری‌های موجود در این زمینه آشنا می‌شویم. در ادامه با میهن بلاکچین همراه باشید.

امضای دیجیتال چیست و چگونه ساخته می‌شود؟

آنچه در این مطلب می‌خوانید

Toggle
  • امضای دیجیتال چیست؟
  • استانداردهای امضای دیجیتال
  • سوالات متداول (FAQ)
  • نتیجه‌گیری

امضای دیجیتال چیست؟

امضای دیجیتال چیست؟
منبع: simplilearn

احتمالا پیش آمده که پیام‌ها را با کیف پول خود امضا کنید، اما آیا تاکنون درباره نحوه عملکرد این موضوع فکر کرده‌اید؟ نحوه عملکرد امضاهای دیجیتال مشابه رمزنگاری نامتقارن است. رمزگذاری نامتقارن (Asymmetric Cryptography) که با نام رمزنگاری کلید عمومی نیز شناخته می‌شود، پروسه‌ای است که در آن دیتاها با استفاده از یک جفت کلید رمزگذاری و رمزگشایی می‌شوند.

در امضاهای دیجیتال، بخشی از اطلاعات توسط هش کردن پیام با کلید خصوصی ارسال‌کننده (و مشخصا هش کردن الگوریتم) امضا می‌شود. این موضوع، یک هش دایجست (Hash Digest یا همان اثر انگشت هش) تولید می‌کند که فقط با استفاده از یکی از کلیدهای موجود در جفت کلید ارسال‌کننده، می‌توان مجددا آن را ایجاد کرد. سپس دریافت‌کننده برای هش کردن پیام و اعلام اینکه با هش دایجست دریافتی مطابق است، از کلید عمومی ارسال‌کننده استفاده می‌کند. بدین ترتیب، دریافت‌کننده می‌تواند مطمئن شود که ارسال‌کننده همان فردی بود که پیام را امضا کرده است و پیام مذکور تغییر نکرده و دستکاری نشده است.

الگوریتم امضاهای دیجیتال منحنی بیضوی (ECDSA)

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

تابع Ecrecover در امضاهای دیجیتال چیست؟

قراردادهای هوشمند بر بستر شبکه اتریوم، از طریق تابع Ecrecover به الگوریتم تایید امضای ECDSA دسترسی دارند. این روش، صحت و یکپارچگی هرگونه اطلاعات امضا شده را تایید می‌کند و با استفاده از طرح VRS و هش امضا، آدرس متناظر با امضاکننده را بازیابی می‌کند. VRS مخفف Verifiable Ring Signature و به معنی امضای حلقه قابل تایید است. این طرح به کاربران اجازه می‌دهد که در یک گروه، به‌صورت ناشناس به امضای تراکنش‌ها بپردازند؛ به‌طوری که می‌تواند به تاییدکننده ثابت کند که او امضاکننده پیام است.

با مفهوم هش و امضای دیجیتال در بلاک چین آشنا شوید!
نمونه اجرای تابع ecrecover
نمونه اجرای تابع ecrecover – منبع: journal0xrusowsky

امضاها موارد جالب توجهی هستند؛ زیرا کاربران می‌توانند بدون ثبت تراکنش، موارد مذکور خود را تایید کنند. این ویژگی بسیار مفید است، زیرا می‌تواند تجربه کاربری را بهبود ببخشد و با استفاده از متاتراکنش‌ها (Meta-transactions) یا ERC20-Permit (یا مجوز ERC-20 که در ادامه بیشتر درباره آن صحبت خواهیم کرد)، به کاهش هزینه گس بپردازند.

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

استانداردهای امضای دیجیتال

در زمینه استاندارد امضاهای دیجیتال با ۳ نوع اصلی مواجه هستیم که می‌توان از آنها برای امضای اطلاعات با کلید اتریوم استفاده کنیم. این ۳ نوع استاندارد عبارتند از:

  • استاندارد Eth_sign: ساده‌ترین، قدرتمندترین و البته خطرناک‌ترین روش برای امضای پیام‌ها است. این روش به منظور امضای اطلاعات دلخواه استفاده می‌شود. بدین ترتیب، کاربران می‌توانند اطلاعاتی را امضا کنند که انجام تراکنش‌های آتی بدون تاییدیه‌های اضافی را امکان‌پذیر می‌سازند. این ویژگی بسیار خطرناک است؛ زیرا ممکن است کاربران بدون آن‌که بدانند، تراکنش‌های «بدون محافظ» را امضا کنند. به همین دلیل، استفاده از استاندارد eth_sign کاهش یافته است.
  • استاندارد Personal_sign: پروپوزال EIP-191 فرمت جدیدی برای امضای اطلاعات و اطمینان از معتبر بودن تراکنش معرفی کرده است. به منظور پیاده‌سازی این روش در گث (Geth) (محبوب‌ترین کلاینت اتریوم برای اتصال کامپیوتر به بلاکچین این شبکه)، ابتدای تمام اطلاعات امضا شده، عبارت “\x19Ethereum Signed Message:\n” + len(message) اضافه می‌شود؛ بنابراین استفاده از این امضاها به‌عنوان تراکنش‌های معتبر، غیرممکن می‌شود.
  • استاندارد signTypedData_v4:  پروپوزال EIP-712 به منظور استانداردسازی استفاده از امضا در اتریوم معرفی شد و در حال حاضر به طور گسترده استفاده می‌شود. این روش به عنوان استانداردی در نظر گرفته می‌شود که به توسعه‌دهندگان کمک می‌کند که از مسائل و مشکلات امنیتی رایج در خصوص تعامل با امضاها اجتناب کنند.

پروپوزال EIP-712 و استفاده از آن در تابع Ecrecover

هدف اصلی EIP-712 اطمینان از این موضوع است که کاربران بدانند چه چیزی را امضا می‌کنند. این EIP، مفاد و مولفه‌های شفاف شبکه و آدرس قرارداد را ارائه می‌دهد. نهایتا، این EIP در صدد اطمینان از این موضوع است، که هر امضا فقط توسط قرارداد مدنظر قابل استفاده باشد. 

این الزامات و پیش‌نیازها با ترکیب هش Domain Separator و هش Typed Structed Data و استفاده آنها در تابع ecrecover به دست می‌آیند.

  • هش Domain Separator: هش تقکیک‌کننده دامنه یا Domain Separator در واقع هشی است که از اطلاعات دامنه محاسبه و پردازش می‌شود و به منظور جلوگیری از استفاده و قابلیت ادامه دادن یک امضا در سایر برنامه‌های غیرمتمرکز استفاده می‌شود.
  • هش Typed Structed Data: اطلاعاتی که باید امضا شوند، با استفاده از ساختارها و انواع اصلی سالیدیتی مشخص و تعیین می‌شوند.
نحوه پیاده‌سازی پروپوزال EIP-712
نحوه پیاده‌سازی پروپوزال EIP-712. منبع: journal0xrusowsky

متاتراکنش‌ها

متاتراکنش (Meta-transaction) روشی برای جداسازی افرادی است که هزینه گس تراکنش را می‌پردازند و افرادی که از اجرای تراکنش سود کسب می‌کنند.

کاربران به امضای متاتراکنش می‌پردازند و سپس آن را به اپراتور ارسال می‌کنند (توجه کنید که از آنجایی که هیچ‌گونه تعاملی با بلاکچین صورت نمی‌گیرد، به گس برای امضا نیازی وجود ندارد). سپس اپراتور متاتراکنش امضا شده را دریافت می‌کند، آن را در بلاکچین ثبت کرده و کارمزد تراکنش معمولی را پرداخت می‌کند.

مجوز ERC-20 یا پروپوزال EIP-2612

استاندارد ERC-20 به دو تراکنش متفاوت نیاز دارد، تا با استفاده از قرارداد هوشمند شخص ثالث، توکن‌های ERC-20 را از حساب تحت مالکیت خارجی (Externally Owned Account یا EOA) انتقال دهد.

ابتدا، EOA باید تراکنش ()ERC20.approve را اجرا کند تا قرارداد هوشمند شخص ثالث را در فهرست مجاز قرار دهد. سپس EOA باید این تابع را از قرارداد هوشمند شخص ثالثی فراخوانی کند که تابع ()ERC20.transferFrom را فعال می‌کند. بدین ترتیب، توکن‌ها انتقال می‌یابند.

با پیاده‌سازی EIP-2612 که به آن مجوز ERC20 نیز گفته می‌شود، این فرایند با استفاده از تایید امضاهای دیجیتال ساده‌تر می‌شود. با استفاده از مجوز ERC-20، کاربران می‌توانند فرایند امضای مقدار مدنظر از کیف پول خود را امضا کنند و اپراتور می‌تواند بقیه فرایند را به عهده بگیرد.

آسیب‌پذیری‌ها و بهترین اقدامات در مقابله با آنها

  • حمله پاسخ به امضا یا Signature Reply: از یک امضا می‌توان به دفعات استفاده کرد تا تابع مدنظر را اجرا کند، مگر آن‌که اقدامات پیشگیرانه صورت بگیرد. به منظور جلوگیری از این حمله‌ها و اکسپلویت‌ها، استفاده از نانس‌ها (Nonce) به شدت توصیه می‌شود.
  • انعطاف‌پذیری یا نرمی امضا (Signature Malleability): به دلیل ساختار متقارن منحنی‌های بیضوی، برای هر مجموعه از v,r,s مجموعه دیگری از v,r,s وجود دارد که همان ارتباط را یکدیگر دارند. این موضوع به ایجاد دو امضای معتبر منجر می‌شود و به عوامل مخرب و هکرها امکان می‌دهد که بدون هدف قرار دادن کلید خصوصی، امضای معتبر را به دست آورند. آسان‌ترین روش برای برطرف کردن این آسیب‌پذیری، استفاده از کتابخانه ECDS OpenZeppelin است.

سوالات متداول (FAQ)

پرسش و پاسخ
تابع Ecrecover در اتریوم چیست؟

تابعی است که صحت و یکپارچگی اطلاعات امضا‌شده را تایید کرده و امنیت بیشتری برای آنها فراهم می‌کند.

استانداردهای امضای دیجیتال کدام‌اند؟

استاندارد Eth_sign، استاندارد Personal_sign و استاندارد signTypedData_v4 سه نوع اصلی استانداردهای امضای دیجیتال هستند که از آنها برای امضای اطلاعات با کلید اتریوم استفاده می‌شود.

نتیجه‌گیری

در این مقاله به بررسی مفهوم امضای دیجیتال، تابع ecrecover در امضاهای دیجیتال

و انواع مختلف استانداردهای امضا در شبکه اتریوم و نقاط آسیب‌پذیر آنها پرداختیم. همچنین باید بیان کنیم که این امضاها زمینه جلوگیری از بروز اقدامات خلاف قانون را به طور کامل فراهم کرده است. نظر شما در مورد این کاربرد رمزنگاری و امنیت آن چیست؟ آیا امضای دیجیتال به حداکثر کاربرد خود خواهد رسید؟
تگ: ERC20اتریومتکنولوژی بلاک چین
اشتراک‌گذاریتوئیت

نوشته‌های مشابه

شروع فصل آلت کوین ها آلت سیزن قیمت بیت کوین
اخبار آلتکوین

آیا حرکت اخیر قیمت اتریوم می‌تواند آغازگر آلت سیزن باشد؟

22 اردیبهشت 1404 - 19:00
428
اخبار اتریوم

بازگشت اتریوم به روزهای اوج؛ تایید الگوهای تکنیکال و ۴۰٪ جهش قیمت در یک هفته

22 اردیبهشت 1404 - 16:00
100
فیچر کلاهبرداری - اسکم - هک
تحلیل فاندامنتال

سرقت ۱.۵ اتر از اوراکل‌های پروتکل استیکینگ لیدو؛ آیا امنیت این پلتفرم به خطر افتاده است؟

22 اردیبهشت 1404 - 15:00
50
ارتقای تاریخی پکترا (Pectra) در مین نت اتریوم فعال شد؛ گامی بزرگ از ادغام تا مقیاس‌پذیری لایه ۲
اخبار اتریوم

هشدار کارشناسان امنیتی؛ بروزرسانی پکترا اتریوم می‌تواند به سرقت کیف پول‌تان منجر شود!

21 اردیبهشت 1404 - 21:31
165
فیچر طلا GOLD
دیفای

طلای هوشمند؛ چگونه دیفای پتانسیل‌های نهفته طلا را آزاد می‌کند؟

21 اردیبهشت 1404 - 18:00
84
چارلز هاسکینسون توسعه کاردانو Cardano
اخبار بلاکچین

تغییر استراتژیک در کاردانو؛ شتاب در توسعه با مدل جدید تیم‌های چابک

21 اردیبهشت 1404 - 14:00
1003
اشتراک
اطلاع از
0 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

فیچر طلا GOLD
دیفای

طلای هوشمند؛ چگونه دیفای پتانسیل‌های نهفته طلا را آزاد می‌کند؟

21 اردیبهشت 1404 - 18:00
84
بایننس آلفا
کریپتو پدیا

معرفی بایننس آلفا (Binance Alpha)؛ پلتفرم کشف توکن‌های آینده‌دار پیش از لیست شدن در صرافی

21 اردیبهشت 1404 - 08:40
1098
کرنل دائو kernel
کریپتو پدیا

کرنل دائو (KernelDAO) چیست؟ پیشگام نوآوری ری‌استیکینگ در دیفای چندزنجیره‌ای

19 اردیبهشت 1404 - 20:00
77
ترید کریپتو در رکود
ترید

ترید کریپتو در دوران رکود اقتصادی؛ هنر بقا در روزهای سخت

21 اردیبهشت 1404 - 08:40
275
نرخ بهره فدرال رزرو
کریپتو پدیا

نرخ بهره فدرال رزرو چیست؟

21 اردیبهشت 1404 - 08:40
461
صرافی یونی سواپ Uniswap
صرافی غیرمتمرکز

یونی‌ سواپ درگیر بحران حکمرانی؛ نماینده باسابقه DAO استعفا داد

18 اردیبهشت 1404 - 17:00
85

پیشنهاد سردبیر

ترید کریپتو در رکود

ترید کریپتو در دوران رکود اقتصادی؛ هنر بقا در روزهای سخت

21 اردیبهشت 1404 - 08:40
275

نرخ بهره فدرال رزرو چیست؟

معرفی بایننس آلفا (Binance Alpha)؛ پلتفرم کشف توکن‌های آینده‌دار پیش از لیست شدن در صرافی

آینده میکروپرداخت‌ها (Micro Payments)؛ بررسی چالش‌های قدیمی و راه‌حل‌ها

آموزش خودکارسازی معاملات ارز دیجیتال با هوش مصنوعی Grok 3

بهترین پروژه‌های اکوسیستم سویی (SUI) که ارزش توجه دارند

  • خانه
  • قیمت ارز
  • صرافی ها
  • ماشین حساب
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی

© 2025 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است

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

© 2025 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است.