Skip to content

Latest commit

 

History

History
58 lines (58 loc) · 9.8 KB

01. Blocks.md

File metadata and controls

58 lines (58 loc) · 9.8 KB

لیست محتویات



فرآیند ایجاد شدن بلاک

فکر می کردم که زمانی که یک تراکنش در شبکه بیت کوین داریم مستقیما تراکنش وارد بلاک میشود، این تصور اشتباه هست !! تراکنش زمانی که از طرف کسی که براد کست میشه در شبکه یا ایجاد شده و یا دستور داده شده بعد از آن در محیطی قرار داده میشه که تراکنش ها در اونجا وجود دارند محیطی متشابه یک استخری از تراکنش ها همانند شکل زیر: همانطور که در این شکل مشاهده می شه قبل از اینکه تراکنش ها وارد بلاکی شده باشند، وارد ناحیه ای (آبی) می شوند به نام استخر تراکنش ها (transcation pool) در این قسمت تراکنش ها وجود دارند و آماده اینکه بروند داخل بلاک بعد از این مرحله وارد مرحله بعد که چطور وارد بلاک می شوند، می ریم.





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





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





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


چگونه یک بلاک به زنجیره بلاک اضافه می شه

خب مرحله سختیه این مرحله، شما برای اینکه بتونید بلاکتون کاندید بشه و اون رو بفرستید به زنجیره باید کار کنید یک کار واقعی به معنی اثبات برای کار، بنابراین شروع می کنید هش اطلاعات خودتون رو بر اساس دیفیکالتی (سختی) شبکه برای تارگت مورد نظری که درخواست داره شبکه عملیات یا همون کار رو انجام میدید، اینقدر این کار رو انجام میدید به امید اینکه بتونید از باقی افراد سریعتر به جواب برسید، که میشه شکل زیر:





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

در مرحله ای که شما می خواهید هش خودتون رو اضافه کنید که در کنار اون باید یک شماره به اون اضافه کنید مثلا اگه سختی شبکه زیاد شده باشه درواقع باید در محاسبات سختی اضافه بشه مثلا اگه 1000 بار یک شانس رو امتحان میکردید تا به جواب برسید با توجه به سختی شبکه جدید مجبورید 1100 بار امتحان کنید تا امکان دستیابی به جواب رو داشته باشید.





بنابراین شما باید درواقع یک شانسی رو که ساختگی هست رو امتحان کنید، امتحان کنید امتحان کنید اونقدر امتحان کنید که برسید به جوابی که اون سختی شبکه براتون ساخته بود که بهش برسید، پس می رسیم به شکل زیر:





البته یک مسئله خنده دار ولی واقعی داریم، اونم اینکه شاید از دید ما این عدد هایی که بدست میاد و محاسبه میشه چند تا عدد هستند مثل همه عدد های دیگه ای که وجود دارند، مهم نیست چه فرقی دارند !!

درسته اینا همه یک نوع عدد هستند اما این عدد ها زبان ما انسان ها نیست به همین دلیل برای ما تفاوتی نمیکنه با عدد های دیگه ای که دیدیم، اما همین عدد ها برای کامپیوتر و زبان کامپیوتر مهم تلقی می شوند و ارزش گذاری خاص و کاربرد های خودش رو ایفا می کنه، بنابراین این اعداد دوست داشتنی می باشند برای کامپیوتر، به علایق کامپیوتر احترام بگذاریم که منجر به حفظ این عملکرد می شه


خسته نباشی، خدا قوت

خب دیگه کاری رو کردی میگن کارگر عرقش خشک نشده اجرت کارشو بگیره، اینجام به لطف لاکجیکال بودن کامپیوتر این امر بهتر و به موقع تر انجام می گیره و عقب نمیندازنش!

شما تونستید جواب رو پیدا کنید و بلاک رو بسازید و این به این معنیه که شما بلاک رو حل کردید و تمامی تراکنش هایی که داخل بلاک شما بوده انجام گرفته و داخل شبکه رفته و به امر وصل شدن به ادامه زنجیره بلاک انجامیده است.





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


منبع

تمام شد./

شاد زی..