معرفی Blockchain

یک blockchain یک واحد دیجیتالی است که در یک مجموعه از واحد های داده ای به نام بلاک ذخیره شده اند. این بلاک های داده ای به یکدیگر از طریق یک تابع رمزنگاری شده معتبر و امن متصل میشوند. این بلاکهایی که محکم به هم زنجیر شده اند یک blockchain نامیده میشوند.

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

ساختار متمرکز شده در مقایسه با ساختار غیر متمرکز

کاربردها

از آنجاییکه blockchain معمولا با bitcoin در ارتباط است، تکنولوژی های زیادی برای استفاده ار آن وجود دارد. چندین مورد برای استفاده از blockchain وجود دارد که چند نمونه آن در ادامه ذکر شده اند.

ارز و داد و ستد دیجیتالی

blockchain باعث میشود که bitcion که یک ارز دیجیتالی جهانی است به دست افراد و تجار برسد. blockchain  میتواند برای شما یک تجارت دیجیتالی مثل سهام و اوراق قرضه ایجاد کند.

داده های معتبر و قراردادها

یک blockchain میتواند یک رکورد معتبر از هر نوع داده ای مثل فایل ها و یا قرارداد ها را بسازد. این ویژگی میتواند برای بسیاری از امور که با داده های کلان سروکار دارند مثل صنعت پزشکی و یا حتی امور مربوط به دولت مفید باشد.

مفهوم کد

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

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

برای ایجاد یک قرارداد هوشمند از Ethereum استفاده خواهد شد. Ethereum یک blockchain هست که کاملا مطابق مفاهیم زبان های برنامه نویسی نوشته شده است، به این معنی که میتواند مدل سازی هر مسئله محاسباتی ای را انجام دهد.(تا زمانیکه در حال اجرا باشد و memory اجازه دهد)

بیایید با آیتم های Ethereum آشنا شویم:

حساب ها یک موجودیت اساسی در Ethereum هستند.

blockchain وضعیت هر حساب را بررسی میکند. در اینجا ما دو نوع حساب داریم: Externally Owned Accounts (EOA) که توسط کاربران حقیقی کنترل میشوند و Contract Accounts  که توسط کدهای قراردادهای داخلی کنترل می شوند و همچنین توسط یک کاربر حقیقی هم میتوانند فعال شوند.

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

هر حساب شامل چهار ویژگی زیر میشود

Nonce که یک شمارنده است تا مطئمن شود که هر تراکنش تنها یکبار اجرا میشود، Ether Balance و Contract Code و Storage.

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

گیرنده، امضای دیجیتالی، مبلغ تراکنش و داده های دیگر.

بمنظور کاهش ریسک تراکنش های مخربی مثل Distributed Denial of Service (DDoS)  ، Ethereum  یک مبلغی را برای هر تراکنشی که از طریق آن انجام میشود شارژ میکند.

چه کسی این مبالغ را جمع میکند؟ نودهایی به اسم miners وجود دارند که این مبالغ را برای تایید و اجرای تمامی تراکنش ها جمع میکنند.

این گروه های miners تراکنش هایی اند که میتوانند داخل بلوک هایی به blockchainh اضافه شوند.

در این مقاله با مفهوم blockchain و نحوه عملکرد آن آشنا شدیم. در صورت تمایل مطالب بیشتری در این مورد تهیه خواهد شد.

اگر این مطلب رو دوست داشتید، می تونید با دوستاتون به اشتراک بگذارید:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *