چگونه کار معدن و معاملات blockchain در 7 مرحله ساده توضیح داده شده است

  • 2021-09-12

آیا تا به حال فکر کرده اید که چگونه فرآیند معدن روی یک blockchain کار می کند ، یا چگونه یک معامله تأیید می شود و به blockchain اضافه می شود؟بنابراین من را داشته باشم و از آنجا که من نتوانستم توضیحات گام به گام این روند را پیدا کنم ، تصمیم گرفتم خودم یکی را بنویسم. در اینجا نحوه پردازش یک معامله blockchain در یک blockchain ، در هفت مرحله انجام می شود.

  • مرحله 1: یک کاربر از طریق برنامه کیف پول خود معامله می کند و سعی می کند یک رمزنگاری یا نشانه خاصی از آنها به شخص دیگری ارسال کند.
  • مرحله 2: معامله توسط برنامه کیف پول پخش می شود و اکنون در انتظار است که توسط یک معدنکار در blockchain مورد نظر انتخاب شود. تا زمانی که برداشت نشود ، در "استخر معاملات تأیید نشده" معلق است. این استخر مجموعه ای از معاملات تأیید نشده در شبکه است که منتظر پردازش هستند. این معاملات تأیید نشده معمولاً در یک استخر غول پیکر جمع نمی شوند ، اما بیشتر در استخرهای محلی تقسیم شده کوچک.
  • مرحله 3: کارگران معدن در شبکه (که گاهی اوقات به عنوان گره ها گفته می شود ، اما کاملاً یکسان نیست!) معاملات را از این استخرها انتخاب کرده و آنها را به "بلوک" تبدیل می کنند. یک بلوک اساساً مجموعه ای از معاملات (در این لحظه از زمان ، هنوز معاملات تأیید نشده) علاوه بر برخی از ابرداده های اضافی است. هر معدنچی بلوک معاملات خود را می سازد. معدنچیان چندگانه می توانند همان معاملات را انتخاب کنند که در بلوک آنها گنجانده شود.

مثال: دو معدنچی ، ماینر A و معدنچی B. هر دو Miner A و Miner B می توانند تصمیم بگیرند که معاملات X را در بلوک خود قرار دهند. هر blockchain حداکثر اندازه بلوک خاص خود را دارد. در blockchain بیت کوین ، حداکثر اندازه بلوک یک بلوک 1 مگابایت داده است. قبل از افزودن معامله به بلوک خود ، یک معدنچی باید بررسی کند که آیا معامله واجد شرایط است که طبق تاریخچه blockchain اجرا شود یا خیر. اگر مانده کیف پول فرستنده با توجه به تاریخچه blockchain موجود ، بودجه کافی داشته باشد ، معامله معتبر تلقی می شود و می تواند به بلوک اضافه شود. اگر یک صاحب بیت کوین بخواهد معامله خود را تسریع کند ، می تواند پاداش معدن بالاتری را ارائه دهد. معدنچیان معمولاً معاملات مانند سایر معاملات را در اولویت قرار می دهند ، زیرا آنها پاداش معدن بهتری را ارائه می دهند.

  • مرحله 4: با انتخاب معاملات و افزودن آنها به بلوک خود ، معدنچیان بلوک معاملات را ایجاد می کنند. برای افزودن این بلوک معاملات به blockchain (این بدان معنی است که داشتن تمام گره های موجود در blockchain معاملات موجود در این بلوک را ثبت می کند) ، بلوک ابتدا به یک امضا نیاز دارد (همچنین به عنوان "اثبات کار" گفته می شود). این امضا با حل یک مشکل ریاضی بسیار پیچیده ای که برای هر بلوک معاملات منحصر به فرد است ، ایجاد می شود. هر بلوک یک مشکل ریاضی متفاوتی دارد ، بنابراین هر معدنچی روی یک مشکل متفاوت منحصر به فرد برای بلوک تشکیل شده کار می کند. حل هر بلوک به همان اندازه دشوار است. به منظور حل این مشکل ریاضی ، از قدرت محاسباتی زیادی استفاده می شود (و در نتیجه برق زیادی). شما می توانید آن را با اجرای یک محاسبه روی ماشین حساب مقایسه کنید ، فقط این بسیار سنگین تر و در رایانه انجام شده است. این فرایندی است که به عنوان معدن گفته می شود. اگر می خواهید در مورد چگونگی کار دقیق مشکل ریاضی اطلاعات بیشتری کسب کنید (در واقع آنقدر پیچیده نیست) ، لطفاً به خواندن زیر ادامه دهید ، در غیر این صورت ، در صورتی که می خواهید آن را کمی ساده تر نگه دارید ، به مرحله 5 بروید.

معدن با نام مستعار (اثبات الگوریتم اجماع کار)

مشکل ریاضی که هر معدنچی هنگام تلاش برای اضافه کردن یک بلوک به blockchain با آن روبرو است ، یافتن یک خروجی هش (امضاء با نام مستعار) برای داده های موجود در بلوک خود است که با مقدار مشخصی از صفر متوالی شروع می شود. این پیچیده به نظر می رسد ، درست است؟اما واقعاً سخت نیستبگذارید سعی کنم این را به روشی ساده برای شما توضیح دهم.

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

یک تابع هش یک رشته ورودی از اعداد و حروف (به معنای واقعی کلمه هر رشته حروف تصادفی ، اعداد و/یا نمادها) می گیرد و آن را به یک رشته 32 رقمی جدید که از حروف و اعداد تصادفی موجود است ، تبدیل می کند. این رشته 32 رقمی خروجی هش است. اگر هر عدد یا حرفی در رشته ورودی تغییر کند ، خروجی هش نیز به طور تصادفی تغییر می کند. با این حال ، همان رشته ورودی همیشه همان رشته خروجی را ارائه می دهد.

اکنون داده های موجود در یک بلوک را در نظر بگیرید تا ورودی هش (رشته ای از داده ها) باشد. هنگامی که این ورودی هشدار داده شود ، خروجی هش (32 رقمی) می دهد. یک قانون از blockchain بیت کوین این است که در صورت امضای آن ، خروجی هش ، با مقدار مشخصی از صفرها ، یک بلوک فقط به blockchain اضافه می شود. با این حال ، رشته خروجی تولید شده توسط یک رشته ورودی همیشه برای هر رشته ورودی متفاوت تصادفی است ، بنابراین اگر رشته داده بلوک منجر به امضای نشود (خروجی هش) که با بسیاری از صفرهای متوالی شروع می شود؟خوب ، به همین دلیل است که معدنچیان به طور مکرر بخشی از داده های موجود در بلوک خود را به نام Nonce تغییر می دهند. هر بار که یک معدنچی غیرقانونی را تغییر می دهد ، کمی ترکیب داده های بلوک را تغییر می دهد. و هنگامی که ترکیب داده های بلوک تغییر می کند (ورودی آن) ، امضای آن نیز تغییر می کند. بنابراین هر بار که عدم تغییر یک بلوک ، بلوک امضای تصادفی جدید می شود.

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

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

توجه: این فرایند در واقع به عنوان یک مشکل ریاضی تعریف نشده است ، بلکه به عنوان یک چیز قطعی-رایانه ها عملیات از پیش تعیین شده را بر روی یک عدد انجام می دهند تا ببینند خروجی مطلوب است یا خیر.

  • مرحله 5: معدنچی که برای اولین بار امضای واجد شرایط برای بلوک خود پیدا می کند ، این بلوک و امضای آن را برای همه معدنچیان دیگر پخش می کند.
  • مرحله ششم: سایر معدنچیان اکنون با گرفتن رشته از داده های بلوک پخش شده ، مشروعیت امضای را تأیید می کنند ، و آن را هش می کنند تا ببینند آیا خروجی هش در واقع منجر به امضای موجود در بسیاری از صفرهای آن می شود (برای حل کردن ، آسان برای تأیید ، به یاد داشته باشید.؟)اگر معتبر باشد ، سایر معدنچیان اعتبار خود را تأیید می کنند و موافقت می کنند که این بلوک را می توان به blockchain اضافه کرد (آنها به اجماع می رسند ، با نام مستعار همه آنها با یکدیگر موافق هستند ، از این رو اصطلاح الگوریتم اجماع). این همچنین جایی است که تعریف "اثبات کار" از آن ناشی می شود. امضای "اثبات" کار انجام شده (قدرت محاسباتی که صرف شده است) است. اکنون می توان این بلوک را به blockchain اضافه کرد و به همه گره های دیگر شبکه توزیع می شود. گره های دیگر بلوک را می پذیرند و آن را در داده های معامله خود ذخیره می کنند تا زمانی که تمام معاملات داخل بلوک مطابق با تاریخچه blockchain قابل اجرا باشند.
  • مرحله 7: پس از اضافه شدن یک بلوک به زنجیره ، هر بلوک دیگری که در بالای آن اضافه می شود به عنوان "تأیید" برای آن بلوک حساب می شود. به عنوان مثال ، اگر معامله من در بلوک 502 گنجانده شده باشد ، و blockchain 507 بلوک طول دارد ، به این معنی است که معامله من دارای 5 تأیید (507-502) است. به آن تأیید گفته می شود زیرا هر بار که یک بلوک دیگر در بالای آن اضافه می شود ، blockchain دوباره در تاریخچه معاملات کامل ، از جمله معامله و بلوک شما دوباره به اجماع می رسد. می توانید بگویید که معامله شما 5 بار توسط blockchain در آن نقطه تأیید شده است. این همچنین همان چیزی است که Etherscan هنگام نشان دادن جزئیات معاملات خود به آن اشاره می کند. هرچه تأیید بیشتر معامله شما باشد (با نام مستعار بلوک عمیق تر در زنجیره تعبیه شده است) ، برای مهاجمان سخت تر است که آن را تغییر دهید (می توانید اطلاعات بیشتری در مورد نحوه عملکرد این کار در اینجا بخوانید). پس از اضافه شدن یک بلوک جدید به blockchain ، همه معدنچیان باید با تشکیل یک بلوک جدید از معاملات ، دوباره در مرحله سوم شروع کنند. معدنچیان نمی توانند ادامه دهند (خوب ، آنها می توانند ، اما این در این مقاله کاملاً بی ربط است) معدن با نام مستعار مشکل بلوکی که قبلاً در آن کار می کردند به دلیل دو دلیل:

یکی: این ممکن است شامل معاملات باشد که توسط آخرین بلوک که به blockchain اضافه شده است تأیید شده است (به یاد داشته باشید ، چندین معدنچی می توانند در بلوکی که در حال حل هستند) معاملات (های) مشابهی را انتخاب و شامل شوند). هر یک از این معاملات که دوباره آغاز شده است می تواند آنها را نامعتبر کند ، زیرا ممکن است تراز منبع دیگر کافی نباشد.

و دو: هر بلوک باید خروجی هش (امضای) آخرین بلوک را که به blockchain به ابرداده آنها اضافه شده است ، اضافه کند. این همان چیزی است که آن را به یک زنجیره بلوک تبدیل می کند. اگر یک معدنچی بلوکی را که قبلاً روی آن کار می کرد ، استخراج کند ، سایر معدنچیان متوجه می شوند که خروجی هش با آخرین بلوک اضافه شده روی blockchain مطابقت ندارد و بنابراین بلوک را رد می کند.

این مقاله به شما کمک کرد؟به دیگران کمک کنید تا با تشویق یا اشتراک گذاری آن را پیدا کنند. در زیر چند پیوند به مقالات توضیحی بیشتر در مورد blockchain آورده شده است.

مبتدی 1: چگونه blockchain در 7 مرحله کار می کند

مبتدی 2: نحوه کار معدن و نحوه پردازش معاملات

مبتدی 3: چگونه یک هکر حمله 51 ٪ را انجام می دهد

مبتدی 4: گره ها و مستند ها

مبتدی 5: مشکل معدن و زمان بلوک

اصطلاحات blockchain: اصطلاحات اساسی برای شروع کار

آیا می خواهید دانش blockchain خود را آزمایش کنید؟آزمون 20 سؤال را در اینجا انجام دهید و ببینید که آیا در سطح مبتدی ، پیشرفته یا متخصص هستید یا خیر.

اگر می خواهید برای مقالات بیشتر blockchain آموزشی با ما در ارتباط باشید ، می توانید مرا در متوسط و توییتر دنبال کنید. با تشکر از شما برای خواندن!

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.