یک بلاکچین یک پایگاه داده عمومی است که در سطح تعدادی کامپیوتر در یک شبکه بهروزرسانی و به اشتراک گذاری میشود.
«بلاک» به دادهها و وضعیتی که متوالی در گروههایی به نام «بلاکها» ذخیره میشود اشاره دارد. اگر به کسی اتریوم یا همان ETH ارسال کنید، دادههای تراکنش برای موفقیت و نهایی شدن باید به یک بلاک اضافه شود.
«زنجیره» به این معنی است که هر بلاک به صورت رمزنگاری شده به والد خود ارجاع داده است. به عبارت دیگر، بلاکها به هم پیوند داده میشوند. دادهها در یک بلاک نمیتوانند بدون تغییر تمام بلاکهای پساپیوندیشان تغییر کنند بلکه این موضوع نیازمند توافق شبکه کلی است.
هر کامپیوتر در شبکه باید با هر بلاک جدید و زنجیره به صورت کلی موافقت کند. این کامپیوترها به عنوان "نودها" شناخته میشوند. نودها اطمینان حاصل میکنند که همه کسانی که با بلاکچین تعامل میکنند، اطلاعات یکسانی را دارند. برای دستیابی به این توافق توزیع شده، بلاکچینها به یک مکانیزم توافق نیاز دارند.
اتریوم از یک مکانیزم توافق بر پایه اثبات سهام استفاده می کند. هر کسی که میخواهد بلاکهای جدید را به زنجیر اضافه کند باید ETH - واحد پولی در اتریوم - را به عنوان وثیقه قرار دهد و نرم افزار اعتبارسنجی را نیز اجرا کند. این«تأییدکنندگان» سپس ممکن است به طور تصادفی انتخاب شده باشند تا بلاکهایی را پیشنهاد دهند که تأییدکنندگان دیگر بررسی کنند و به زنجیره بلاکها اضافه کنند.
اتریوم یک بلاکچین است که یک کامپیوتر درون آن نهادینه شده است. این پایهای برای ساختن برنامهها و سازمانها به روشی غیرمتمرکز، بدون نیاز به اجازه و ایمن در برابر سانسور است.
در دنیای اتریوم، یک کامپیوتر یکتا و کانونی وجود دارد (که به آن ماشین مجازی اتریوم یا Ethereum Virtual Machine یا EVM میگویند) که وضعیت آن را همه اعضای شبکه اتریوم قبول میکنند. هر کس که در شبکه اتریوم مشارکت میکند (هر نود اتریوم) یک نسخه از وضعیت این کامپیوتر را نگه میدارد. علاوه بر این، هر مشارکت کننده میتواند یک درخواست برای این کامپیوتر جهت انجام محاسبات دلخواه ارسال کند. هرگاه چنین درخواستی توزیع شود، سایر شرکتکنندگان در شبکه، اعتبارسنجی، اعتباردهی و انجام (اجرا) محاسبات را انجام میدهند. این اجرا تغییر وضعیتی در EVM ایجاد میکند که در سرتاسر شبکه تا آخرین نقطه منتقل و گسترش مییابد.
درخواستهای محاسباتی، درخواستهای تراکنش نامیده میشوند؛ سابقهی تمام تراکنشها و وضعیت حال حاضر EVM بر روی زنجیره بلاکها ذخیره میشود، که به نوبهی خود توسط همهٔ نودها ذخیره و تایید میشود.
مکانیزمهای رمزنگاری (Cryptographic) اطمینان حاصل میکنند که هنگامی که تراکنشها به عنوان معتبر تأیید شده و به زنجیره بلاک اضافه میشوند، در آینده نمیتوانند دستکاری شوند و تغییر کنند. مکانیسمهای مشابه همچنین اطمینان حاصل میکنند که تمام معاملات با "اجازههای" مناسب امضا و اجرا شوند (بعنوان مثال هیچ کس نباید بتواند داراییهای دیجیتال را از حساب Alice ارسال کند، به جز خود Alice).
اتر (ETH) ارز متولد و بومی اتریوم است. هدف ETH این است که یک بازار برای محاسبات ایجاد کند. چنین بازاری انگیزه اقتصادی را برای مشارکت کنندگان فراهم میکند تا درخواستهای تراکنش را تأیید و اجرا کرده و منابع محاسباتی را به شبکه ارائه دهند.
مقدار ETH پرداخت شده مطابق با منابع مورد نیاز برای انجام محاسبه است. این پاداشها همچنین جلوگیری میکنند از شرکتکنندگان مخرب که با درخواست اجرای محاسبات بینهایت یا اسکریپتهای دیگر مصرفکنندهی منابع شبکه با همافزایی واقعی از کار بیفتند، چرا که این شرکتکنندگان لازم است برای تخصیص منابع محاسباتی پرداخت داشته باشند.
همچنین ETH به 3 روش اصلی امنیت رمزنگاری را به شبکه ارائه می دهد:
1) به عنوان یک وسیله برای پاداش تائیدکنندگان که بلاک ها را پیشنهاد می دهند یا رفتار تقلب دیگر تائیدکنندگان را متهم می کنند.
2) این مورد توسط تائیدکنندگان قرار میگیرد و به عنوان وثیقه در برابر رفتار نادرست عمل میکند - اگر تائیدکنندگان تلاش کنند بر خلاف اصول عمل کنند، اتریوم آنها میتواند تخریب شود.
3) جهت اندازه گیری 'رای ها' برای بلوک های پیشنهادی جدید استفاده می شود که وارد بخش انتخاب گزینه دستور مکانیزم توافق می شود.
در عمل، مشارکت کنندگان هر بار که می خواهند یک محاسبه را در EVM درخواست کنند، کد جدید نمی نویسند. از جانب دیگر، توسعه دهندگان برنامهها (قطعات قابل استفاده مجدد از کد) برنامهها را در وضعیت EVM بارگذاری میکنند و کاربران درخواستهایی برای اجرای این قطعات کد با پارامترهای مختلف ارسال میکنند. ما برنامه هایی که به شبکه بارگذاری شده و توسط آن اجرا می شوند را قرارداد هوشمند یا SMART CONTRACT می نامیم.
در سطح پایهای، میتوانید یک قرارداد هوشمند را مانند یک ماشین خودکار فروش (Vending) فرض کنید: یک اسکریپت است که هنگام فراخوانی با پارامترهای خاصی، برخی از اعمال یا محاسبات را اگر شرایط خاصی برآورده شود انجام میدهد. به عنوان مثال، اگر فراخواننده ETH را به گیرنده خاصی ارسال کند، یک قرارداد هوشمند فروشنده ساده می تواند مالکیت یک دارایی دیجیتال را ایجاد و به آن اختصاص دهد.
هر توسعهدهندهای میتواند با استفاده از بلاک چین بهعنوان لایه داده، با پرداخت هزینهای به شبکه، یک قرارداد هوشمند بسازد و آن را در شبکه عمومی کند. سپس هر کاربر میتواند با قرارداد هوشمند تماس بگیرد تا کد آن را اجرا کند، دوباره با پرداخت هزینهای به شبکه.
هر توسعه دهندهای قادر است قرارداد هوشمندی را ایجاد کند و آن را بصورت عمومی به شبکه ارائه دهد، با استفاده از زنجیره بلاکی به عنوان لایه داده خود، به عنوان هزینه پرداخت شده به شبکه. هر کاربر سپس میتواند قرارداد هوشمند را فراخوانی کند تا کد آن را اجرا کند، مجدد برای هزینه ای که به شبکه پرداخت می شود.
بنابراین، با قراردادهای هوشمند، توسعه دهندگان می توانند برنامه ها و خدمات پیچیده به صورت خودکار برای کاربران مانند: بازارها، ابزارهای مالی، بازيها، و غیره ایجاد و پیاده سازی کنند.
توالی تمام بلاک هایی که در تاریخچه شبکه به شبکه اتریوم متعهد شده اند. این نام به این دلیل است که هر بلوک حاوی یک ارجاع به بلوک قبلی است که به ما کمک میکند ترتیبی را در تمام بلاکها (و در نتیجه تاریخچه دقیق) حفظ کنیم.
اتر (ETH) ارز دیجیتال بومی اتریوم است. کاربران به سایر کاربران ETH پرداخت می کنند تا درخواست های اجرای کد آنها برآورده شود.
ماشین مجازی اتریوم یک کامپیوتر مجازی جهانی است که هر مشارکت کننده در شبکه اتریوم وضعیت آن را ذخیره می کند و با آن موافق است. هر مشارکت کننده می تواند اجرای کد دلخواه در EVM را درخواست کند. اجرای کد وضعیت EVM را تغییر می دهد.
ماشین های واقعی (real-life) که وضعیت EVM را ذخیره می کنند. نودها با یکدیگر ارتباط برقرار می کنند تا اطلاعات مربوط به وضعیت EVM و تغییرات حالت جدید را منتشر کنند. هر کاربر همچنین می تواند با پخش یک درخواست اجرای کد از یک نود، اجرای کد را درخواست کند. شبکه اتریوم خود مجموعه ای از تمام نودهای اتریوم و ارتباطات آنهاست.
جایی که ETH ذخیره می شود. کاربران می توانند حساب ها را مقداردهی اولیه کنند، ETH را به حساب ها واریز کنند و ETH را از حساب های خود به سایر کاربران انتقال دهند. حساب ها و مانده حساب ها در یک جدول بزرگ در EVM ذخیره می شوند. آنها بخشی از حالت کلی EVM هستند.
یک 'درخواست تراکنش' عبارت رسمی برای یک درخواست اجرای کد در EVM است، و یک 'تراکنش' یک درخواست تراکنش تحقق یافته (fulfilled transaction) و تغییر مرتبط در وضعیت EVM است. هر کاربر میتواند یک درخواست تراکنش را از یک نود به شبکه پخش کند. برای اینکه درخواست تراکنش بر وضعیت موافقت شده EVM تأثیر بگذارد، باید توسط یک نود دیگر تأیید، اجرا و 'در شبکه اعلام شود' شود. اجرای هر کدی تغییری در وضعیت EVM ایجاد میکند؛ با تأیید، این تغییر وضعیت به تمامی نودها در شبکه منتشر میشود. چند نمونه از معاملات:
حجم تراکنشها بسیار زیاد است، بنابراین تراکنشها به صورت دستهای یا بلاک «متعهد» میشوند. بلاک ها معمولا شامل ده ها تا صدها تراکنش هستند.
یک قطعه کد قابل استفاده مجدد (یک برنامه) که یک توسعه دهنده آن را در حالت EVM منتشر می کند. هرکسی می تواند با درخواست تراکنش درخواست کند که کد قرارداد هوشمند اجرا شود. از آنجایی که توسعهدهندگان میتوانند با انتشار قراردادهای هوشمند، برنامههای اجرایی دلخواه را در EVM بنویسند (بازیها، بازارها، ابزارهای مالی، و غیره)، اینها اغلب DAPPS یا برنامههای غیرمتمرکز نیز نامیده میشوند.
با تشکر