آخرین اخبار

معرفی و آموزش عضویت در صرافی بایننس

راهنما و آموزش عضویت در صرافی بایننس

راهنمای عضویت و روش انجام معاملات در بایننس
سرمایه گذاری در بازار طلا بدون نگهداری فیزیکی آن!

سرمایه گذاری در بازار طلا بدون نگهداری فیزیکی آن!

معرفی 3 ارز دیجیتال با پشتوانه طلا
 فناوری بلاک چین چیست و چگونه کار می کند؟

بلاک چین چیست و چگونه کار می کند؟

فناوری بلاک چین (Blockchain) چیست، چگونه کار می‌کند و چه کاربردهایی دارد؟
پرفکت مانی چیست؟ آموزش کامل پرفکت مانی

پرفکت مانی چیست؟ + آموزش کامل

آموزش تصویری ساخت حساب پرفکت مانی
بیت کوین (Bitcoin) چیست؟

بیت کوین (Bitcoin) چیست؟

بیت کوین (Bitcoin) چیست؟

محبوبترین صرافی های ارز دیجیتال

امضاها و تاییدها در اتریوم چگونه انجام می‌شود؟

امضاها و تاییدها در اتریوم چگونه انجام می‌شود؟

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

اتریوم چیست ؟

امضا چیست؟

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

سوالی رایجی که مطرح می‌شود این است که چگونه می‌توان تایید کرد که تراکنش‌ها واقعی هستند؟ پاسخ کوتاه به این پرسش، رمزنگاری کلید عمومی است. این رمزنگاری، الگوریتمی است که دارای ۳ بخش است.

  • ایجاد کلید
  • رمزنگاری / امضا
  • رمزگشایی / تایید

رمزنگاری به طور کل برای پنهان کردن اطلاعات در سایر اطلاعات استفاده می‌شود. اگر عبارتی نظیر سلام بر دنیا (hello world) را رمزنگاری کنید به صورت dqE3gJz/+5CQHfSJwMP2nQ تبدیل می شود. هدف رمزنگاری پنهان کردن پیام سلام بر دنیا است. امضا کردن برای ایجاد خروجی متفاوت استفاده می‌شود اما پیام اصلی را نیز عمومی می‌کنید.

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

  • امضا = F (کلید عمومی، کلید خصوصی، پیام)
  • تایید = F (امضا، پیام)
  • معتبر است اگر: تایید = کلید عمومی

توجه کنید که تایید به دانستن کلید خصوصی نیازی ندارد. این همان موضوعی است که به اشخاص ثالث امکان می‌دهد تا اطلاعات را تایید کنند. اگر خروجی تابع تایید برابر با کلید عمومی باشد، امضا واقعی است در غیر این صورت امضا جعلی است.

امضا از ۳ متغیر تشکیل شده است: v و‌ r و s. اتریوم از رمزنگاری منحنی بیضوی استفاده می‌کند و این متغیرها بخشی از محاسبات مورد نظر است.

چرا امضا کردن مهم است؟

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

به جای امضاهای واقعی که می‌توان آنها را جعل کرد، امضاهای دیجیتال غیرقابل جعل است. اگر می‌خواهید بدانید کاربر A اقدامی انجام می‌دهد یا خیر، قبل از انجام هرکاری او را مجبور به امضا کنید. سپس اگر تناقضی به وجود آمد، امضا را بررسی کنید.

توسعه

شما به عنوان یک توسعه دهنده از کاربران خود می‌خواهید تا پیامی را امضا کنند. ایجاد این ویژگی در برنامه غیرمتمرکز مورد نظر ۳ بخش دارد که عبارتند از:

  • تابع تایید کننده سالیدیتی
  • کد کلاینت برای امضای پیام
  • کد کلاینت برای فراخوانی تایید کننده سالیدیتی

تایید کننده سالیدیتی

سالیدیتی یا همان زبان برنامه نویسی اتریوم روش دسترسی جهانی به اسم ecrecover ارائه می‌دهد که آدرس را برمی‌گرداند. اگر آدرس برگشتی مشابه با آدرس امضا کننده باشد، امضا واقعی است.

کد فوق، قرارداد Verifier با توابع recoverAddr و isSigned ایجاد می‌کند. تابع isSigned  آدرس را برخواهد گرداند. شما به عنوان توسعه دهنده، خارج از سالیدیتی باید صحت آدرس را تایید کنید. روش دوم اینگونه است که تابع isSigned داخل سالیدیتی بررسی می‌کند. اگر msgHash توسط addr_ امضا شده باشد، مقدار isSigned برابر با صحیح یا غلط (true or false) خواهد بود.

ایجاد امضا

دو روش برای ایجاد امضا وجود دارد:

  • استفاده از تابع جاوااسکریپت Web3 (تابع web3.eth.sign)
  • فراخوانی RPC API نود اتریوم

اگر از جاوااسکریپت استفاده می‌کنید، تنها کاری که باید انجام دهید این است که Web3 داشته باشید و به نود اتریوم ضمیمه کنید. در کد زیر، نود خصوصی اتریوم با localhost:8545 را اجرا می‌کنیم.

نکته: این مورد بر روی TESTRPC کار نخواهد کرد.

ساختاری در تابع وجود ندارد که رشته را به کد Hex تبدیل کند. بنابراین برای تبدیل از تابع toHex استفاده کردیم. آدرس کاربر (web3.eth.accounts[0]) و پیام دارای پیشوند 0x به تابع web3.eth.sign وارد شدند.

روش دیگر برای ایجاد امضا، فراخوانی RPC API اتریوم است. با استفاده از curl می‌توانید به نود اتریوم درخواست دهید.

اولین پارامتر در params آدرس کاربر و دومین پارامتر، مقدار hex پیام است. توجه داشته باشید که برای کار کردن RPC API، حساب شما باید باز باشد. عبارتی مشابه با عبارت زیر را دریافت خواهید کرد:

0x9955af11969a2d2a7f860cb00e6a00cfa7c581f5df2dbe8ea16700b33f4b4b9b69f945012f7ea7d3febf11eb1b78e1adc2d1c14c2cf48b25000938cc1860c83e01

امضای طولانی، متغیرهای v، r و s را رمزنگاری می‌کند. برای به دست آوردن این مقادیر، باید امضا را به زیر رشته های خود تجزیه کنید.

نکته: v باید یک عدد دسیمال باشد بنابراین v_decimal دوم hex v را به decimal v تبدیل می‌کند.

خطر: نتیجه v_decimal باید ۲۷ یا ۲۸ باشد.

بررسی صحیح بودن

با اتمام کار امضا و تایید کننده، تنها کاری که باقی می‌ماند بررسی واقعی بودن امضا است. یک هشدار کوچک در این خصوص وجود دارد. به یاد می‌آورید هنگام ایجاد امضا از رشته 0x + toHex(msg) استفاده کردیم؟ این همان هشی نیست که به تایید کننده انتقال می‌دهید.

هش مورد نیاز برای ایجاد امضا همان هش تایید کننده نیست. دلیل این موضوع، محافظت از کاربر در مقابل امضا کردن ظرفیت های دلخواه است.

راهکار این موضوع، افزودن پیام های شخصی سازی شده اتریوم است.

این تفکیک بسیار ضروری است. وقت خود را با انجام مراحل بعد تلف نکنید.

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

ترافل یک تابع اجرا شده ایجاد می‌کند که قرارداد را برمی‌گرداند. ما پیام sha3 خود را ایجاد می‌کنیم و متغیرهای مورد نیاز را به  instance.verify.call انتقال می‌دهیم. اگر دو خط آخر آدرس های برگشتی مشابه باشد، امضای پیام واقعی است. در غیر این صورت جعلی است و باید نادیده گرفته شود.

نتیجه گیری

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

 

منبع: medium 



اگر از جمله افرادی هستید که در زمینه ارزهای دیجیتال فعالیت می کنند، قطعا نام اِکسچِنج بایننس رو شنیده اید.

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

نام اکسچنجویژگی‌هاامتیاز
  • بایننس علاوه بر کارمزد پایین تراکنشها و معاملات؛ امنیت و پایداری بالا و قابلیت پردازش میلیون ها معامله در لحظه را دارا است.
  • سامانه معاملاتی کاربرپسند
  • پشتیبانی چند زبانه!
  • سرعت بالای پردازش داده ها و معاملات
  • در صورت استفاده از BNB ارز بایننس، کارمزدهای فعلی نیز تا 50 درصد کاهش می یاید!


بایننس
نظرات پس از تایید نشان داده خواهند شد.



افتتاح حساب فیوچرز بایننس




آموزش و راهنمای بایننس

آرشیو
آموزش و راهنمای بایننس

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

بایننس یک اِکسچنج بین المللی ارزهای دیجیتال با میلیونها کاربر است

 ارز دیجیتال چیست و چطور کار می‌کند؟

ارز دیجیتال چیست و چطور کار می‌کند؟

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

کلود ماینینگ یا استخراج ابری چیست

کلود ماینینگ یا استخراج ابری چیست؟

کلود ماینینگ یا استخراج ابری یک روش برای استخراج ارزهای دیجیتال مانند بیت کوین است

راهنمای ثبت نام در وب سایت بیتمکس

راهنمای ثبت نام در صرافی بیتمکس

آموزش و راهنمای گام به گام ثبت نام، عضویت، و معاملات ارزهای دیحیتال در صرافی "بیت مکس"

خرید بیت کوین با پرفکت مانی

آموزش خرید بیت کوین با پرفکت مانی + معرفی صرافی

صرافی‌های فروشنده بیت کوین با پرفکت مانی

فیلمها و مستندهای مرتبط با بیت کوین

آرشیو
 فیلم مستند رشد و خیزش بیت کوین

فیلم مستند رشد و خیزش بیت کوین

چالش های پیش روی بیت کوین اولین ارز دیجیتال در زمان حال و آینده

 توضیحاتی در خصوص بلاک چین بیت کوین

توضیحاتی در خصوص بلاک چین بیت کوین

در این نوشتار به زبان ساده در مورد نحوه عملکرد بیت کوین و بلاکچین بیتکوین صحبت می‌شود

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد

 پرفکت مانی چیست؟ آموزش کامل پرفکت مانی

پرفکت مانی چیست؟ + آموزش کامل

پرفکت مانی یک سیستم پرداخت بین‌المللی است که با آن می‌توان پرداخت‌های سایت‌های خارجی را انجام داد

آموزش و راهنمای بایننس

آرشیو
آموزش و راهنمای بایننس

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

بایننس یک اِکسچنج بین المللی ارزهای دیجیتال با میلیونها کاربر است

Google Authenticator

آموزش کار با تایید دو مرحله ای گوگل

برنامه (Google Authenticator) توسط گوگل جهت احراز هویت دو مرحله ای ساخته شده.

سفارش OCO چیست؟

سفارش OCO در بایننس چیست؟

انجام دو سفارش به طور همزمان در صرافی ارزهای دیجیتال بایننس!

مارجین ترید در بایننس

مارجین ترید در بایننس + آموزش تصویری

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

مارجین در صرافی بایننس

مارجین ترید در بایننس + آموزش ویدئویی

آموزش معاملات (تریدینگ) مارجین در صرافی بایننس + ویدیو

آموزش اکسچنج Huobi

آرشیو
آموزش اکسچنج Huobi

آموزش عضویت در اکسچنج ارزهای دیجیتال هیوبی

آموزش نحوه عضویت، ترید، واریز و برداشت و فعالیت در صرافی هیوبی

سرمایه‌گذاری بیت‌کوین برای تازه‌کارها

سرمایه‌گذاری بیت‌کوین برای تازه‌کارها

اصول اولیه و برخی تکنیک‌های مرتبط با سرمایه‌گذاری

 فناوری بلاک چین چیست و چگونه کار می کند؟

بلاک چین چیست و چگونه کار می کند؟

فناوری بلاک چین (Blockchain) چیست، چگونه کار می‌کند و چه کاربردهایی دارد؟

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد

آموزش بلاک چین و ارزهای دیجیتال

آرشیو
آموزش بلاک چین

آموزش تخصصی بلاک‌چین به زبان انگلیسی

دوره‌های آنلاین، آموزش تخصصی بلاک‌چین در سایت Blockgeeks

آربیتراژ (Arbitrage) چیست؟

آربیتراژ (Arbitrage) چیست؟

آربیتراژ (Arbitrage) چیست؟ توضیحاتی پیرامون آربیتراژ در دنیای کریپتوکارنسی

قرارداد هوشمند (smart contract) چیست

قرارداد هوشمند چیست؟

در این مطلب قصد داریم شما را با مفهوم قراردادهای هوشمند اشنا سازیم!

سهام عدالت چیست؟ آزادسازی سهام عدالت به چه معناست؟

سهام عدالت چیست؟ آموزش آزادسازی آن

همه چیز در مورد سهام عدالت، از مدیریت و آزادسازی تا خرید و فروش آن

راهنمای دریافت کد بورسی از کارگزاری آگاه

راهنمای دریافت کد بورسی از کارگزاری آگاه

راهنمای عضویت و دریافت کد بورسی از کارگزاری آگاه و ثبت نام در سامانه سجام

معرفی و نقد و بررسی صرافی های ارز دیجیتال

آرشیو
آموزش گام‌ به گام استفاده از CoinEx

نقد و بررسی و آموزش صرافی کوینکس CoinEx

اطلاعاتی را که برای صرافی ارز دیجیتال CoinEx لازم خواهید داشت

آموزش گام‌ به‌ گام تریدینگ

آموزش گام‌ به‌ گام تریدینگ

ترید چیست؟ هر آنچه لازم است درباره ترید (مبادله، معامله) ارز دیجیتال بدانید!

چنگال اندروز چیست

چنگال اندروز چیست؟ + آموزش معامله با آن

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

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد

عنوان مطلب

عنوان مطلب مورد نظر در اینجا قرار می گیرد

بخشی از مطلب مورد نظر برای معرفی در اینجا قرار می گیرد



پربازدیدترین مطالب

شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic