من اینجا هستم تا شما رو با دنیای بلاک چین و رمزارزها آشنا کنم.جدیدترین مطالب رو در سایت ما finmag.ir بخونید.
هش (Hash) در بلاک چین چیست؟
فرآیند رمزنگاری شبکههای بلاک چین با استفاده از سیستمی پیچیده صورت میگیرد که در نهایت امنیت شبکه را تامین میکند. دادههای ورودی با استفاده از فرآیند هشینگ (Hashing) به زنجیرهای تصادفی از اعداد و حروف تبدیل میشوند و استخراجکنندگان باید به منظور دریافت پاداش آنها را حل کنند. چنین کاری به توان رایانشی زیادی نیاز دارد و به همین دلیل است که دستگاههای ماینینگ اغلب با قیمتهایی گزاف به کاربران فروخته میشوند.
هش به عملکردی گفته میشود که ورودی حروف و اعداد را به یک خروجی رمزنگاریشده با درازای ثابت تبدیل میکند. هش (Hash) با استفاده از الگوریتمهای خاص ساخته میشود و برای مدیریت بلاک چین ها ضروری است.
نکات کلیدی:
- Hash عملکردی است که الزامات رمزنگاری شده مورد نیاز برای حل محاسبات بلاک چین را فراهم میآورد.
- Hash نیز مانند نانس (Nonce) یکی از موارد الزامی شبکه های بلاک چین است.
- Hash ها درازای ثابتی دارند تا اگر شخصی تلاش کرد بلاک چین را هک کند، قادر نباشد درازای هش را حدس بزند.
نحوه کارکرد Hash
بلاک چین (Blockchain)، سنگ زیربنای بیت کوین و رمز ارز ها است که توسط به هم پیوستن بلاکهای مجزا و حاوی دادههای تراکنشی به وجود میآید. بلاک چین تنها حاوی تراکنشهای معتبر است و همین مسئله باعث جلوگیری از تراکنشهای کلاهبردارانه و حمله خرج دوباره (Double Spend Attack) میشود. نرخ به دست آمده شامل مجموعهای از اعداد و حروف است که شباهتی با دادههای اولیه ندارند و با نام هش شناخته میشوند. استخراج رمز ارز ها با استفاده از این هشها انجام میشود.
فرآیند هشینگ به پردازش دادههای بلاک از طریق توابع ریاضیاتی بستگی دارد که در نهایت به یک خروجی با درازای ثابت ختم خواهد شد. استفاده از این خروجی با درازای ثابت باعث افزایش امنیت میشود، زیرا افرادی که سعی دارند Hash را رمزگشایی کنند قادر نخواهند بود با نگاه کردن به درازای خروجی، میزان بلندی ورودی را حدس بزنند.
حل کردن هش شامل حل کردن یک مسئله ریاضیاتی پیچیده است و با دادههای موجود در بلاک هِدِر (Block Header) شروع میشود. هر بلاک هدر دارای عدد مربوط به نسخه، برچسب زمانی، هش استفاده شده در بلاک قبلی، هش مربوط به ریشه مرکل (Merkle Root)، نانس (Nonce) و هشهدف (Target Hash) است.
استخراج کننده بر روی نانس تمرکز خواهد کرد که زنجیرهای از اعداد است. این عدد به محتوای هش شده بلاک قبلی اضافه میشود که بعدا دوباره هش خواهد شد. اگر این هش جدید کمتر یا برابر با هش هدف باشد، به عنوان راهحل قبول خواهد شد، استخراج کننده یا ماینر پاداش خود را دریافت خواهد کرد و بلاک نیز به بلاک چین اضافه خواهد شد.
فرآیند اعتباربخشی برای تراکنشهای بلاک چین به رمزنگاری دادهها با استفاده از الگوریتم هشینگ بستگی دارد.
به منظور حل کردن هش، استخراج کننده باید تصمیم بگیرد از کدام زنجیره به عنوان نانس استفاده کند که نیازمند آزمون و خطاهای زیادی است. دلیل چنین کاری این است که نانس یک زنجیره تصادفی است. پیدا کردن نانس صحیح در تلاش اول بسیار بعید است، یعنی استخراج کننده باید پیش از پیدا کردن نانس صحیح گزینههای زیادی را امتحان کند. هرچه سختی شبکه (Network Difficulty) - معیاری برای سنجش میزان سختی ایجاد هش، به گونهای که با الزامات هش هدف همخوانی داشته باشد - بیشتر باشد، پیدا کردن راهحل نیز بیشتر طول خواهد کشید.
مثال برای Hash
خروجی هش کلمه "سلام" (Hello) با خروجی هش جمله "میخواهم به مغازه بروم" (I am going to the store) درازای یکسانی دارد. تابع مورد استفاده برای ایجاد هش به صورت جبرگرایانه میباشد، بدین معنی که ورودی یکسان همیشه همان نتیجه را دربر خواهد داشت. چنین کاری میتواند ورودی را به شیوهای کارآمد هش کند که پیدا کردن آن را دشوارتر خواهد کرد. این فرآیند تغییرات کوچک و تشخیصناپذیری را در ورودی اعمال خواهد کرد و به یک هش کاملا متفاوت ختم خواهد شد.
پردازش هشهای مورد نیاز برای رمزنگاری بلاکهای جدید به توان رایانشی زیادی نیاز دارد که میتواند بسیار هزینهبر باشد. شبکههای رمز ارز به منظور ترغیب افراد و شرکتها – همان استخراجکنندگان – برای سرمایه گذاری در فناوری مورد نیاز، پاداشهایی از قبیل رمز ارز و کارمزد تراکنش به آنها پرداخت میکنند. استخراج کنندگان تنها در صورتی پاداش خواهند گرفت که به عنوان نفر اول، هشی را به وجود آورند که با الزامات تعیینشده در هش هدف همخوانی داشته باشد.
مطلبی دیگر از این انتشارات
بیگ دیتا؟ یادگیری ماشین؟ هوش مصنوعی؟
مطلبی دیگر از این انتشارات
آموزش کتابخانه pandas در پایتون 2
مطلبی دیگر از این انتشارات
مبانی یادگیری ماشین با الگوریتم K-نزدیکترین همسایگان