میهن بلاکچین
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • 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اتریومتکنولوژی بلاک چین
اشتراک‌گذاریتوئیت

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

فیچر پرپوزال های جدید اتریوم
اخبار اتریوم

یشنهاد خلاقانه برای تطبیق اتریوم با قوانین GDPR اتحادیه اروپا

19 خرداد 1404 - 21:00
25
کارمزد شبکه بلاکچینی - فی تراکنش - کارمزد شبکه - کارمزد تراکنش
اخبار بیت کوین

کاهش تراکنش‌های بیت کوین به پایین‌ترین سطح از سال ۲۰۲۳

19 خرداد 1404 - 13:00
70
فیچر تحلیل آلت کوین اتوبوسی
تحلیل تکنیکال

تحلیل تکنیکال قیمت اتریوم (ETH)، ریپل (XRP) و سولانا (SOL)؛ ۱۹ خرداد ۱۴۰۴

19 خرداد 1404 - 10:00
130
فیچر بیت کوین
اخبار بیت کوین

بیانیه جنجالی توسعه‌دهندگان Bitcoin core: نمی‌توان استفاده از شبکه را محدود کرد!

18 خرداد 1404 - 15:00
69
سیتوس
اخبار بلاکچین

بازگشت سیتوس (Cetus) با برنامه بازیابی و راه‌اندازی مجدد در ۱۸ خرداد

18 خرداد 1404 - 10:00
27
فیچر تحلیل اتر و بیت
تحلیل تکنیکال

تحلیل تکنیکال قیمت بیت کوین (BTC) و اتریوم (ETH)؛ ۱۸ خرداد ۱۴۰۴

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

آموزش

فیچر کوین بیس
صرافی متمرکز

رسیدگی فوری کوین بیس به مشکل مسدودیت حساب‌ها

18 خرداد 1404 - 15:30
35
لیکوییدیشن مپ بیت کوین
ترید

نقشه لیکوییدیشن بیت‌کوین را درست بخوانید؛ قبل از آن‌که پوزیشن‌تان لیکویید شود!

16 خرداد 1404 - 22:00
465
آریبتراژ اتمی
کریپتو پدیا

آربیتراژ اتمی چیست؛ بازی جدید MEV در سولانا

16 خرداد 1404 - 20:00
161
ارزش قابل‌ استخراج تحقق یافته
کریپتو پدیا

ارزش قابل‌ استخراج تحقق یافته (Realized Extractable Value) چیست؟

16 خرداد 1404 - 16:00
75
کریپتو درینر- تخلیه کننده کیف پول
کریپتو پدیا

کریپتو درینر (Crypto Drainer) چیست؟ تخلیه کیف پول ارز دیجیتال با اسکریپت مخرب

16 خرداد 1404 - 12:00
138
مایکرواستراتژی
مقالات عمومی

استراتژی مایکل سیلر: انقلاب مالی یا طرح هرمی که دیر یا زود فرو خواهد پاشید؟

15 خرداد 1404 - 22:00
389

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

کریپتو درینر- تخلیه کننده کیف پول

کریپتو درینر (Crypto Drainer) چیست؟ تخلیه کیف پول ارز دیجیتال با اسکریپت مخرب

16 خرداد 1404 - 12:00
138

فناوری دوقلوی دیجیتال چیست؟ کلاهبرداری ارز دیجیتال با Digital twin

راهنمای جامع برای رفع و پیشگیری از مسدود شدن آدرس کیف پول ایرانیان در پلتفرم‌های دیفای

با ۵ پرامپت جادویی چت جی‌پی‌تی، از هوش مصنوعی یک نابغه بسازید!

۵ شاخص تعیین‌کننده برای شناسایی سقف بیت کوین؛ چگونه پیش از سقوط خروج کنیم؟

آموزش اجاره GPU از شبکه غیرمتمرکز رندر (Render)؛ چطور از قدرت پردازش گرافیک دیگران استفاده کنیم؟

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

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

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

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