بلاک چین و قرارداد های هوشمند

بلاک چین (Blockchain) را تخصصی تر بررسی کنیم و همچنین، نگاهی هم به قرارداد های هوشمند یا Smart Contracts داشته باشیم. قبل از مطالعه این پست، پست " Block chain چیست؟" در سایت تیما را خوانده باشید.

سلام، وقتتون بخیر. علی هستم برنامه نویس تیما. امروز می خواهیم با هم بلاک چین (Blockchain) را تخصصی تر بررسی کنیم و همچنین، نگاهی هم به قرارداد های هوشمند یا Smart Contracts داشته باشیم. حتما بهتون توصیه می کنم قبل از مطالعه این پست، پست "Block chain چیست؟" در سایت تیما را خوانده باشید تا بتوانید ارتباط بهتری با این فناوری برقرار کنید.

 

 

همانطور که گفتیم Blockchain یک شبکه توزیع شده است. در شکل، یک نمونه از Blockchain را می بینیم که چندین بلاک هستند که به صورت متوالی به هم متصل هستند. هر بلاک به غیر از بلاک اول، به بلاک قبلی خود متصل است که به آن بلاک والد (Parent) گفته می شود. این ارتباط از طریق hash بلاک قبلی است، هش در واقع یک عبارت رمزگذاری شده منحصر به فرد هست. به طور جزئی تر بخواهیم بگیم، هر بلاک شامل نسخه بلاک، هش بلاک قبلی، زمان ساخته شدن بلاک با ثانیه،Nonce  مخفف عبارت Number Only Used Once  که یک عدد است که با هربار هش یا رمزگذاری شدن عوض می شود، تعداد تراکنش ها و MerkleRoot که هش تمامی هش ها هست.

 

 

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

 

یکی دیگر از مزایای بلاک چین، الگوریتم های اجماع است که این الگوریتم ها برای مشکل های IOT بهترین راه حل هستند. در اصل با این الگوریتم ها، هر بلاکی که در محیط توزیع شده اضافه شود، به سرعت توسط همه بلاک ها اعتبارسنجی می شود تا امنیت کار حفظ شود. POW یا Proof of Work،POS  یا Proof of Stake و PBFT یا Practical Byzantine Fault Tolerance از مهم ترین نمونه های الگوریتم های اجماع هستند که در آینده حتما باهم بررسی می کنیم.

 

 

بخش بعدی کار ما، قرارداد های هوشمند هستند و برای بهتر بررسی کردن قرارداد های هوشمند یا Smart Contact ها، این شکل را مورد بررسی قرار می دهیم که در واقع 4 فاز اصلی قرار داد های هوشمند را در خود جا داده است.

·        فاز اول ساختن قرارداد های هوشمند و یا Creation است. در این فاز، طرفین قرارداد بعد از صحبت کردن در مورد تعهدات و ممنوعیت ها و وقتی به نتیجه رسیدند، قرارداد را به وکیل ها می دهند تا تایید و ثبت شود. سپس برنامه نویس ها وارد عمل می شوند و این قرار داد را به صورت Smart Contract و با ساختار شرطی پیاده سازی می کنند.

 

·        فاز بعدی، فاز Deployment و یا پیاده سازی است که قرارداد روی بلاک چین پیاده سازی می شود. لازم به ذکر است که قرار داد ها اصلا نمی توانند بعد از ثبت، تغییر کنند و برای هرگونه اصلاحی باید یک قرارداد جدید نوشته شود (Immutability). در این مرحله دارایی دیجیتال هردو طرف Freeze یا قفل می شود تا هردو طرف کاملا شناسایی و اعتبار سنجی شوند.

 

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

 

·        فاز آخر ما، Completion یا اتمام کار است. بعد از اجرای قرارداد هوشمند، تغییرات لازم هردو طرف معامله اعمال می شود یعنی بلاک های مربوطه اضافه می شوند و دارایی های دیجیتال منتقل می شوند و از حالت Freeze خارج می شوند.

 

امیدوارم که از این آموزش لذت برده باشید و براتون مفید واقع شده باشه. با ما همراه باشید تا با هم یک درصد بیشتر بدونیم.

نظرات ارزشمند خود را با ما به اشتراک بگذارید

نظرات :
هنوز نظری ثبت نشده است.