با محاکمه 10 روزه رایگان اوریلی به تسلط بر اتریوم و عناوین 60 هزار+ دیگر دسترسی کامل داشته باشید.
همچنین رویدادهای زنده وجود دارد, محتوای تعاملی, مواد صدور گواهینامه دبستان, و بیشتر.
فصل 1. اتریوم چیست?
اتریوم اغلب به عنوان "کامپیوتر جهانی" توصیف می شود."اما به چه معنا است? بیایید با یک توصیف متمرکز بر علوم کامپیوتر شروع کنیم و سپس سعی کنیم این را با تجزیه و تحلیل عملی تری از قابلیت ها و ویژگی های اتریوم رمزگشایی کنیم و در عین حال با بیت کوین و سایر سیستم عامل های تبادل اطلاعات غیرمتمرکز (یا به طور خلاصه "بلاک چین") مقایسه کنیم.
از منظر علوم کامپیوتر اتریوم یک ماشین دولتی قطعی اما عملا نامحدود است که متشکل از یک حالت سینگلتون در سطح جهانی و یک ماشین مجازی است که تغییراتی را در این حالت اعمال می کند.
از منظر عملی تر اتریوم یک زیرساخت محاسباتی متنباز و غیرمتمرکز در سطح جهانی است که برنامه هایی به نام قراردادهای هوشمند را اجرا می کند . از یک بلاک چین برای همگام سازی و ذخیره تغییرات وضعیت سیستم به همراه ارز رمزنگاری شده به نام اتر به متر و محدود کردن هزینه های منابع اجرا استفاده می کند.
پلتفرم اتریوم توسعه دهندگان را قادر می سازد تا برنامه های غیرمتمرکز قدرتمندی با عملکردهای اقتصادی داخلی بسازند. در حالی که فراهم کردن دسترسی بالا, قابلیت شنود, شفافیت, و بی طرفی, همچنین باعث کاهش یا حذف سانسور و کاهش خطرات طرف مقابل خاص.
در مقایسه با بیت کوین
بسیاری از افراد با تجربه قبلی ارزهای رمزنگاری شده به ویژه بیت کوین به اتریوم مراجعه خواهند کرد. اتریوم بسیاری از عناصر مشترک را با سایر بلاکچین های باز به اشتراک می گذارد: یک شبکه همتا به همتا که شرکت کنندگان را به هم متصل می کند, یک الگوریتم اجماع تحمل خطا در بیزانس برای همگام سازی به روزرسانی های دولتی (یک بلاکچین اثبات کار), استفاده از بدوی های رمزنگاری مانند امضاهای دیجیتال و هش ها, و یک ارز دیجیتال (اتر).
با این حال از بسیاری جهات هم هدف و هم ساخت اتریوم به طرز چشمگیری با بلاکچینهای باز پیش از این از جمله بیت کوین متفاوت است.
هدف اتریوم در درجه اول این نیست که یک شبکه پرداخت ارز دیجیتال باشد. در حالی که اتر ارز دیجیتال برای عملکرد اتریوم ضروری و ضروری است اما اتر به عنوان یک ارز کاربردی برای پرداخت هزینه استفاده از پلتفرم اتریوم به عنوان رایانه جهانی در نظر گرفته شده است.
بر خلاف بیت کوین که زبان اسکریپت نویسی بسیار محدودی دارد اتریوم به گونه ای طراحی شده است که یک بلاکچین قابل برنامه ریزی همه منظوره است که یک ماشین مجازی را اجرا می کند که قادر به اجرای کدی با پیچیدگی دلخواه و نامحدود است. جایی که زبان اسکریپت بیت کوین عمدا به ارزیابی درست/غلط ساده شرایط هزینه محدود می شود زبان اتریوم تورینگ کامل است به این معنی که اتریوم می تواند به طور مستقیم به عنوان یک کامپیوتر همه منظوره عمل کند.
اجزای یک بلاک چین
اجزای یک بلاکچین باز و عمومی (معمولا):
یک شبکه همتا به همتا که شرکت کنندگان را به هم متصل می کند و معاملات و بلوک های معاملات تایید شده را بر اساس یک پروتکل استاندارد "شایعات" تبلیغ می کند
پیام, در قالب معاملات, به نمایندگی از انتقال دولت
مجموعه ای از قوانین اجماع حاکم چه معامله به منزله و چه چیزی باعث می شود برای انتقال حالت معتبر
یک ماشین دولتی که معاملات را طبق قوانین اجماع پردازش می کند
زنجیره ای از بلوک های رمزنگاری امن است که به عنوان یک مجله از تمام انتقال حالت تایید شده و پذیرفته شده عمل می کند
یک الگوریتم اجماع که کنترل بر بلاکچین را غیرمتمرکز می کند و شرکت کنندگان را مجبور به همکاری در اجرای قوانین اجماع می کند
یک طرح انگیزشی از لحاظ نظری بازی (به عنوان مثال هزینه های اثبات کار به علاوه پاداش های بلوک) برای ایمن سازی اقتصادی ماشین دولتی در یک محیط باز
یک یا چند پیاده سازی نرم افزار منبع باز از موارد فوق ("مشتری")
همه یا بیشتر این اجزا معمولا در یک سرویس گیرنده نرم افزاری واحد ترکیب می شوند. مثلا, در بیت کوین, پیاده سازی مرجع توسط پروژه منبع باز هسته بیت کوین توسعه یافته و به عنوان مشتری بیت کوین اجرا. در اتریوم به جای پیادهسازی مرجع یک مشخصات مرجع و یک توصیف ریاضی از سیستم در کاغذ زرد وجود دارد (به "مطالعه بیشتر"مراجعه کنید). تعدادی مشتری وجود دارد که با توجه به مشخصات مرجع ساخته شده اند.
در گذشته ما از اصطلاح "بلاکچین" برای نشان دادن تمام اجزای ذکر شده به عنوان مرجع مختصر به ترکیبی از فناوری ها استفاده کردیم که تمام ویژگی های توصیف شده را در بر می گیرد. امروزه تنوع بسیار زیادی از بلاک چین ها با خواص مختلف وجود دارد. ما نیاز به مقدماتی برای کمک به ما در درک ویژگی های بلاکچین در سوال, مانند باز, عمومی, جهانی, غیر متمرکز, خنثی, و مقاوم در برابر سانسور , برای شناسایی ویژگی های مهم در حال ظهور از یک "بلاکچین" سیستم است که این اجزای اجازه می دهد.
همه بلاک چین ها برابر نیستند. وقتی کسی به شما می گوید که چیزی یک بلاکچین است, شما پاسخی دریافت نکرده اید; بلکه, شما باید شروع به پرسیدن سوالات زیادی کنید تا منظور او را هنگام استفاده از کلمه "بلاکچین" روشن کنید."شروع با درخواست برای شرح اجزای در لیست قبلی, سپس بپرسید که این "بلاکچین" نمایشگاه ویژگی های باز بودن , عمومی, و غیره.
تولد اتریوم
همه ابداعات بزرگ مشکلات واقعی را حل می کنند و اتریوم نیز از این قاعده مستثنی نیست. اتریوم در زمانی تصور شد که مردم قدرت مدل بیت کوین را تشخیص دادند و سعی داشتند فراتر از برنامه های ارز دیجیتال حرکت کنند. اما توسعه دهندگان با یک معما مواجه شدند: یا باید در بالای بیت کوین بسازند یا یک بلاک چین جدید راه اندازی کنند. ساختن بیت کوین به معنای زندگی در محدودیت های عمدی شبکه و تلاش برای یافتن راه حل بود. مجموعه ای محدود از انواع معامله, انواع داده ها, و اندازه های ذخیره سازی داده ها به نظر می رسید برای محدود کردن انواع برنامه های کاربردی است که می تواند به طور مستقیم بر روی بیت کوین اجرا; هر چیز دیگری به لایه های اضافی خارج از زنجیره نیاز داشت و این بلافاصله بسیاری از مزایای استفاده از بلاک چین عمومی را نفی کرد. برای پروژه هایی که نیاز بیشتر ازادی و انعطاف پذیری در حالی که ماندن در زنجیره, یک بلاکچین جدید تنها گزینه بود. اما این به معنای مقدار زیادی از کار: بوت استرپینگ تمام عناصر زیرساخت, تست جامع, و غیره.
در اواخر 2013, ویتالیک بوترین, یک برنامه نویس جوان و علاقه مندان به بیت کوین, شروع به فکر کردن در مورد گسترش بیشتر قابلیت های بیت کوین و مستر کوین (یک پروتکل پوشش که گسترش بیت کوین به پیشنهاد قراردادهای هوشمند ابتدایی). در اکتبر همان سال ویتالیک رویکردی کلیتر به تیم مستر کوین پیشنهاد کرد که قراردادهای انعطافپذیر و قابل نوشتن (اما نه کامل تورینگ) را جایگزین زبان قرارداد تخصصی مستر کوین کرد. در حالی که تیم مستر کوین تحت تاثیر قرار گرفتند, این پیشنهاد بیش از حد رادیکال یک تغییر به جا به نقشه راه توسعه خود بود.
در دسامبر 2013 ویتالیک شروع به اشتراک گذاری یک مقاله سفید کرد که ایده پشت اتریوم را مشخص کرد: یک بلاکچین تورینگ کامل و همه منظوره. چند ده نفر این پیش نویس اولیه را دیدند و بازخورد دادند و به ویتالیک کمک کردند تا پیشنهاد را تکامل دهد.
هر دو نویسنده این کتاب پیش نویس اولیه روزنامه سفید را دریافت کردند و در این باره اظهار نظر کردند. انتونوپولوس شیفته این ایده شد و سوالات زیادی در مورد استفاده از بلاک چین جداگانه برای اجرای قوانین اجماع در مورد اجرای قرارداد هوشمند و پیامدهای یک زبان تورینگ کامل از ویتالیک پرسید. اندریاس با علاقه زیادی به پیشرفت اتریوم ادامه داد اما در مراحل اولیه نوشتن کتاب خود در تسلط بر بیت کوین بود و تا مدتها بعد مستقیما در اتریوم شرکت نکرد. دکتر. با این حال گاوین وود یکی از اولین افرادی بود که با ویتالیک تماس گرفت و پیشنهاد کمک به مهارت های برنامه نویسی سی پلاس پلاس را داد. گاوین بنیانگذار اتریوم شد.
این زمانی بود که پروتکل اتریوم کاملا ساخته خودم بود. از اینجا به بعد, با این حال, شرکت کنندگان جدید شروع به پیوستن به برابر. تا کنون برجسته ترین طرف پروتکل بود گاوین وود…
گاوین همچنین می تواند تا حد زیادی به دلیل تغییر ظریف بینایی از مشاهده اتریوم به عنوان بستری برای ساختن پول قابل برنامه ریزی با قراردادهای مبتنی بر بلاک چین که می توانند دارایی های دیجیتال را در خود جای داده و طبق قوانین از پیش تعیین شده به یک بستر محاسباتی عمومی منتقل کنند اعتبار داده شود. این امر با تغییرات ظریف در تاکید و اصطلاحات شروع شد و بعدا این نفوذ با تاکید روزافزون بر گروه "وب 3" قویتر شد که اتریوم را بخشی از مجموعه فناوریهای غیرمتمرکز میدانست و دو نفر دیگر زمزمه و ازدحام میکردند.
از دسامبر 2013 ویتالیک و گاوین این ایده را تصفیه و تکامل بخشیدند و با هم لایه پروتکل را ساختند که به اتریوم تبدیل شد.
بنیانگذاران اتریوم در مورد یک بلاک چین بدون هدف خاص فکر می کردند که می تواند با برنامه ریزی از طیف گسترده ای از برنامه ها پشتیبانی کند . ایده این بود که با استفاده از یک بلاکچین همه منظوره مانند اتریوم, یک توسعه دهنده می تواند برنامه خاص خود را بدون نیاز به پیاده سازی مکانیسم های اساسی شبکه های همتا به همتا برنامه ریزی کند, بلاکچین, الگوریتم های اجماع, و غیره. پلتفرم اتریوم برای انتزاع این جزییات و ایجاد یک محیط برنامه نویسی قطعی و ایمن برای کاربردهای غیرمتمرکز بلاک چین طراحی شده است.
ویتالیک و گاوین مانند ساتوشی فقط یک فناوری جدید اختراع نکردند بلکه اختراعات جدید را با فناوری های موجود به روشی جدید ترکیب کردند و کد نمونه اولیه را برای اثبات ایده های خود به جهانیان تحویل دادند.
بنیانگذاران سالها کار کردند و چشم انداز را ساختند و اصلاح کردند. و در 30 جولای 2015 اولین بلوک اتریوم استخراج شد. کامپیوتر جهان شروع به خدمت به جهان کرد.
مقاله ویتالیک بوترین "پیش از تاریخ اتریوم" در سپتامبر 2017 منتشر شد و دیدگاه اول شخص جذابی از اولین لحظات اتریوم را فراهم می کند.
چهار مرحله توسعه اتریوم
توسعه اتریوم در چهار مرحله مجزا برنامه ریزی شده بود که تغییرات عمده ای در هر مرحله رخ می داد. یک مرحله ممکن است شامل انتشارات فرعی, شناخته شده به عنوان "چنگال سخت," که قابلیت تغییر در راه است که به عقب سازگار نیست.
چهار مرحله اصلی توسعه هستند موسوم به مرز, حیاط, کلان شهر, و سرندیتی . چنگال سخت متوسط است که رخ داده است (و یا برنامه ریزی شده) تا به امروز موسوم به عصر یخبندان , داو , نارنگی سوت , اژدها جعلی , بیزانس , و قسطنطنیه . هر دو مرحله توسعه و چنگال های سخت میانی در جدول زمانی زیر نشان داده شده است که با شماره بلوک "تاریخ" می شود:
مرز-مرحله اولیه اتریوم که از 30 جولای 2015 تا مارس 2016 ادامه دارد.
عصر یخبندان-یک چنگال سخت برای معرفی یک افزایش دشواری نمایی برای ایجاد انگیزه در انتقال به پوز.
هومستد-مرحله دوم اتریوم که در مارس 2016 راه اندازی شد.
یک هارد فورک که قربانیان قرارداد هک شده داو را جبران کرد و باعث شد اتریوم و اتریوم کلاسیک به دو سیستم رقیب تقسیم شوند.
سوت نارنگی-یک چنگال سخت برای تغییر محاسبه گاز برای برخی عملیات های ورودی / خروجی سنگین و پاکسازی حالت انباشته شده از حمله انکار سرویس (داس) که از هزینه پایین گاز این عملیات بهره برداری می کند.
اژدها جعلی-یک چنگال سخت برای رسیدگی به بردارهای حمله داس بیشتر, و پاکسازی دولت دیگر. همچنین یک مکانیزم حفاظت حمله پخش.
کلانشهر بیزانس-کلانشهر سومین مرحله اتریوم است که در زمان نوشتن این کتاب فعلی است و در اکتبر 2017 راه اندازی شد. بیزانس اولین دو چنگال سخت است که برای کلانشهر برنامه ریزی شده است.
پس از بیزانس, یک چنگال سخت تر برنامه ریزی شده برای کلان شهر وجود دارد: قسطنطنیه. متروپلیس مرحله نهایی استقرار اتریوم با نام رمز سرنیتی را دنبال خواهد کرد.
اتریوم: یک بلاکچین همه منظوره
بلاکچین اصلی یعنی بلاکچین بیت کوین وضعیت واحدهای بیت کوین و مالکیتشان را ردیابی میکند. شما می توانید بیت کوین را به عنوان یک ماشین حالت اجماع توزیع شده در نظر بگیرید که معاملات باعث انتقال جهانی دولت می شود و مالکیت سکه ها را تغییر می دهد. انتقال حالت توسط قوانین اجماع محدود می شود و به همه شرکت کنندگان اجازه می دهد (در نهایت) پس از استخراج چندین بلوک در یک حالت مشترک (اجماع) سیستم همگرا شوند.
اتریوم همچنین یک دستگاه حالت توزیع شده است. اما به جای اینکه فقط وضعیت مالکیت ارز را ردیابی کنیم اتریوم تحولات دولتی یک فروشگاه دادههای عمومی را ردیابی میکند یعنی فروشگاهی که میتواند هر دادهای را به عنوان یک تاپل ارزش کلیدی در خود نگه دارد . یک فروشگاه داده کلید-ارزش دارای مقادیر دلخواه است که هر کدام توسط برخی از کلید ها ارجاع داده می شوند به عنوان مثال مقدار "تسلط بر اتریوم" با کلید "عنوان کتاب"ارجاع می شود. در برخی از راه, این در خدمت همان هدف به عنوان مدل ذخیره سازی داده ها از حافظه دسترسی تصادفی (رم) استفاده شده توسط اکثر رایانه های همه منظوره. اتریوم دارای حافظه ای است که هم کد و هم داده را ذخیره می کند و از بلاک چین اتریوم برای ردیابی نحوه تغییر این حافظه در طول زمان استفاده می کند. اتریوم مانند یک کامپیوتر برنامهریزی ذخیرهشده عمومی میتواند کد را در دستگاه حالتش بارگذاری کند و این کد را اجرا کند و تغییرات حالت حاصله را در بلاکچین خود ذخیره کند. دو تفاوت اساسی با اکثر رایانه های عمومی این است که تغییرات حالت اتریوم توسط قوانین اجماع اداره می شود و دولت در سطح جهانی توزیع می شود. اتریوم به این سوال پاسخ می دهد: "چه می شود اگر بتوانیم هر کشور دلخواه را ردیابی کنیم و دستگاه دولتی را برای ایجاد یک رایانه در سراسر جهان تحت اجماع برنامه ریزی کنیم?”
اجزای اتریوم
در اتریوم اجزای یک سیستم بلاکچین توصیف شده در "اجزای یک بلاکچین" به طور خاص تر هستند:
اتریوم بر روی شبکه اصلی اتریوم که در پورت 30303 قابل نشانی است اجرا می شود و پروتکلی به نام ارگوپی 2 پی را اجرا می کند .
قوانین اجماع اتریوم در مشخصات مرجع یعنی کاغذ زرد تعریف شده است (به "مطالعه بیشتر"مراجعه کنید).
تراکنش های اتریوم پیام های شبکه ای هستند که شامل فرستنده, گیرنده, ارزش, و بار داده می شوند.
انتقال حالت اتریوم توسط ماشین مجازی اتریوم (ماشین مجازی مبتنی بر پشته) پردازش می شود که بایت کد (دستورالعمل های زبان ماشین) را اجرا می کند. برنامههای او ام که "قراردادهای هوشمند" نامیده میشوند به زبانهای سطح بالا (مثلا استحکام) نوشته میشوند و برای اجرای سیستم مدیریت محتوا به بایت کد تدوین میشوند.
وضعیت اتریوم به صورت محلی در هر گره به عنوان یک پایگاه داده (معمولا سطح گوگل) ذخیره می شود که شامل تراکنش ها و وضعیت سیستم در یک ساختار داده هش شده سریال شده به نام درخت پاتریشیا مرکل است .
اتریوم از مدل اجماع بیت کوین به نام اجماع ناکاموتو استفاده می کند که از بلوک های تک امضای متوالی استفاده می کند که برای تعیین طولانی ترین زنجیره و در نتیجه وضعیت فعلی از اهمیت برخوردار است. با این حال, برنامه هایی برای حرکت به یک سیستم رای گیری وزن وجود دارد , موسوم به کاسپر, در اینده نزدیک.
اتریوم در حال حاضر از یک الگوریتم اسرای جنگی به نام اتاش استفاده می کند اما در نهایت با انتقال به پوز در مقطعی از این الگوریتم حذف خواهد شد.
اتریوم چندین پیادهسازی قابل همکاری از نرمافزار کلاینت دارد که برجستهترین نرمافزار گو-اتریوم و برابری هستند .
مطالعه بیشتر
منابع زیر اطلاعات بیشتری در مورد فناوری های ذکر شده در اینجا فراهم می کنند:
مقاله بژ, بازنویسی کاغذ زرد برای مخاطبان گسترده تر در زبان کمتر رسمی: https://github. com/chronaeon/beigepaper
لیست منابع ماشین مجازی اتریوم: http://bit. ly/2PmtjiS
پایگاه داده لولدبی (که اغلب برای ذخیره نسخه محلی بلاک چین استفاده می شود): http://leveldb. org
کاسپر سلامتی نسخه 1 راهنمای پیاده سازی: http://bit. ly/2DyPr3l
اتریوم و کامل بودن تورینگ
به محض شروع مطالعه درباره اتریوم بلافاصله با اصطلاح "تورینگ کامل" مواجه خواهید شد."اتریوم, میگویند, برخلاف بیت کوین, تورینگ کامل است. دقیقا به چه معنا است?
این اصطلاح به ریاضیدان انگلیسی الن تورینگ اشاره دارد که پدر علوم کامپیوتر محسوب می شود. در سال 1936 او یک مدل ریاضی از یک کامپیوتر متشکل از یک ماشین حالت ایجاد کرد که نمادها را با خواندن و نوشتن روی حافظه متوالی (شبیه یک نوار کاغذی با طول بی نهایت) دستکاری می کند. تورینگ با استفاده از این ساختار یک پایه ریاضی برای پاسخگویی به سوالات (منفی) در مورد محاسبات جهانی فراهم کرد که به این معنی است که همه مشکلات قابل حل هستند. او ثابت کرد که کلاس هایی از مشکلات وجود دارد که غیر قابل محاسبه هستند. به طور مشخص, او ثابت کرد که مشکل توقف (چه ممکن است, با توجه به یک برنامه دلخواه و ورودی خود را, برای تعیین اینکه برنامه در نهایت متوقف خواهد شد در حال اجرا) قابل حل نیست.
الن تورینگ همچنین سیستمی را تعریف کرد که تورینگ کامل باشد اگر بتواند برای شبیه سازی هر ماشین تورینگ استفاده شود. چنین سیستمی یک ماشین تورینگ جهانی نامیده می شود.
توانایی اتریوم برای اجرای یک برنامه ذخیره شده در یک ماشین مجازی به نام ماشین مجازی اتریوم در حالی که خواندن و نوشتن داده ها در حافظه باعث می شود که یک سیستم تورینگ کامل و در نتیجه یک سیستم کامل باشد. اتریوم با توجه به محدودیت های حافظه محدود می تواند هر الگوریتمی را که می تواند توسط هر ماشین تورینگ محاسبه شود محاسبه کند.
ابداع پیشگامانه اتریوم این است که معماری محاسباتی همه منظوره یک کامپیوتر برنامه ذخیره شده را با یک بلاکچین غیرمتمرکز ترکیب کند و بدین ترتیب یک کامپیوتر جهانی تک حالته (سینگلتون) توزیع شده ایجاد کند. برنامههای اتریوم "در همه جا" اجرا میشوند اما یک حالت مشترک ایجاد میکنند که توسط قواعد اجماع تضمین میشود .
کامل بودن تورینگ به عنوان "ویژگی"
با شنیدن اینکه اتریوم تورینگ کامل است ممکن است به این نتیجه برسید که این یک ویژگی است که به نوعی در سیستمی که تورینگ ناقص است فاقد است. بلکه برعکس است. در واقع ساده ترین ماشین حالت کامل تورینگ شناخته شده دارای 4 حالت است و از 6 نماد با تعریف حالت استفاده می کند که فقط 22 دستورالعمل دارد. در واقع, گاهی اوقات سیستم یافت می شود "به طور تصادفی تورینگ کامل."یک مرجع سرگرم کننده از چنین سیستم هایی را می توان در http://bit. ly/2Og1VgX .
با این حال کامل بودن تورینگ بسیار خطرناک است به خصوص در سیستم های دسترسی باز مانند بلاکچین های عمومی به دلیل مشکل توقف که قبلا مطرح کردیم. به عنوان مثال پرینترهای مدرن تورینگ کامل هستند و می توانند فایل هایی برای چاپ داشته باشند که به حالت یخ زده ارسال می شوند. این واقعیت که اتریوم تورینگ کامل است به این معنی است که هر برنامه ای با هر پیچیدگی می تواند توسط اتریوم محاسبه شود. اما این انعطاف پذیری برخی از مشکلات امنیتی و مدیریت منابع را به همراه دارد. یک چاپگر بدون پاسخ را می توان خاموش و دوباره روشن کرد. این با یک بلاکچین عمومی امکان پذیر نیست.
پیامدهای کامل بودن تورینگ
تورینگ ثابت کرد که با شبیه سازی برنامه در رایانه نمی توانید پیش بینی کنید که برنامه خاتمه می یابد یا خیر. به عبارت ساده ما نمی توانیم مسیر یک برنامه را بدون اجرای برنامه پیش بینی کنیم. سیستم های کامل تورینگ می توانند در "حلقه های بی نهایت" اصطلاحی استفاده شوند (در ساده سازی بیش از حد) برای توصیف برنامه ای که خاتمه نمی یابد. ایجاد برنامه ای که حلقه ای را اجرا کند که هرگز به پایان نمی رسد بی اهمیت است. اما حلقه های بی پایان ناخواسته می توانند بدون هشدار به دلیل تعاملات پیچیده بین شرایط شروع و کد ایجاد شوند. در اتریوم این یک چالش است: هر گره شرکت کننده (مشتری) باید هر تراکنش را معتبر کند و هر قرارداد هوشمندی را که می خواهد اجرا کند. اما همانطور که تورینگ ثابت کرد اتریوم نمی تواند پیش بینی کند که یک قرارداد هوشمند خاتمه می یابد یا چه مدت اجرا می شود بدون اینکه در واقع اجرا شود (احتمالا برای همیشه اجرا شود). چه به صورت تصادفی و چه عمدی یک قرارداد هوشمند می تواند به گونه ای ایجاد شود که زمانی که یک گره سعی در اعتبارسنجی دارد برای همیشه اجرا شود. این در واقع یک حمله داس است. و البته, بین یک برنامه است که طول می کشد یک میلی ثانیه به اعتبار و یکی که برای همیشه اجرا می شود طیف نامحدودی از تند و زننده, منابع خمیدگی, حافظه نفخ, برنامه های پردازنده بیش از حد که به سادگی هدر منابع. در یک کامپیوتر جهانی برنامه ای که منابع را نقض می کند می تواند از منابع جهان سو استفاده کند. چگونه اتریوم منابع استفاده شده توسط یک قرارداد هوشمند را محدود می کند اگر نمی تواند استفاده از منابع را از قبل پیش بینی کند?
اتریوم برای پاسخ به این چالش یک مکانیزم اندازه گیری به نام گاز را معرفی می کند . همانطور که سیستم مدیریت محتوا یک قرارداد هوشمند را اجرا می کند, برای هر دستورالعمل با دقت حساب می شود (محاسبه, دسترسی به داده ها, و غیره.). هر دستورالعمل دارای هزینه از پیش تعیین شده در واحدهای گاز است. هنگامی که یک معامله باعث اجرای یک قرارداد هوشمند می شود باید شامل مقدار گاز باشد که حد بالایی از مصرف قرارداد هوشمند را تعیین می کند. در صورتی که مقدار گاز مصرف شده توسط محاسبات بیش از گاز موجود در معامله باشد اعدام خاتمه می یابد. گاز مکانیزمی است که اتریوم برای محاسبه کامل تورینگ استفاده می کند و در عین حال منابعی را که هر برنامه می تواند مصرف کند محدود می کند.
سوال بعدی این است که چگونه یک گاز به پرداخت هزینه برای محاسبات بر روی کامپیوتر اتریوم جهانی? در هیچ مبادله ای گاز پیدا نخواهید کرد. این فقط می تواند به عنوان بخشی از یک معامله خریداری شود و تنها می تواند با اتر خریداری شود. اتر باید همراه با یک معامله ارسال شود و باید به صراحت برای خرید گاز همراه با قیمت گاز قابل قبول اختصاص داده شود. درست مثل در پمپ, قیمت گاز ثابت نیست. گاز خریداری شده برای معامله محاسبات اجرا شده است و هر گاز استفاده نشده به فرستنده معامله مسترد است.
از بلاکچین های همه منظوره گرفته تا اپلیکیشن های غیر متمرکز
اتریوم به عنوان راهی برای ساخت یک بلاکچین همه منظوره شروع به کار کرد که می تواند برای کاربردهای مختلف برنامه ریزی شود. اما خیلی سریع چشم انداز اتریوم گسترش یافت و به پلتفرمی برای برنامهنویسی داپس تبدیل شد. داپ ها دیدگاه گسترده تری نسبت به قراردادهای هوشمند دارند. داپ حداقل یک قرارداد هوشمند و یک رابط کاربری وب است. بهطور گستردهتر یک اپلیکیشن تحت وب است که در بالای سرویسهای زیرساختی باز و غیرمتمرکز ساخته شده است.
یک دیجی کالا به حداقل می رسد:
قراردادهای هوشمند در بلاکچین
رابط کاربری ظاهر وب
علاوه بر این, بسیاری از داپ ها شامل اجزای غیرمتمرکز دیگری مانند:
پروتکل و پلتفرم ذخیره سازی غیر متمرکز (پی 2 پی)
یک پروتکل و پلتفرم پیام رسانی غیرمتمرکز (پی 2 پی)
ممکن است داپ ها را به صورت ارگپ املای کنید . این شخصیت یک شخصیت لاتین به نام" اتریوم " است که به اتریوم اشاره دارد. برای نمایش این کاراکتر از کد کد یونیکد 0ایکسد0 یا در صورت لزوم از کاراکتر اچ تی ام ال اتریوم (یا موجودیت اعشاری شماره 208) استفاده کنید.
عصر سوم اینترنت
در سال 2004 اصطلاح "وب 2.0" به شهرت, توصیف تکامل وب به سمت محتوای تولید شده توسط کاربر, رابط پاسخگو, و تعامل. وب 2.0 یک مشخصات فنی نیست بلکه اصطلاحی است که تمرکز جدید برنامه های وب را توصیف می کند .
مفهوم داپس به معنای این است که شبکه جهانی وب را به مرحله تکاملی طبیعی بعدی خود برساند و تمرکززدایی با پروتکل های همتا به همتا را در هر جنبه ای از یک برنامه وب معرفی کند. اصطلاح مورد استفاده برای توصیف این تکامل وب 3 , معنی سوم "نسخه" وب است. اولین بار توسط دکتر گاوین وود پیشنهاد, وب3 نشان دهنده یک چشم انداز جدید و تمرکز برای برنامه های کاربردی وب: از برنامه های کاربردی متعلق به مرکز و مدیریت, به برنامه های کاربردی ساخته شده بر روی پروتکل های غیر متمرکز.
در فصلهای بعدی به بررسی وب 3 اتریوم میپردازیم.کتابخانه جاوا اسکریپت که برنامه های جاوا اسکریپتی را که در مرورگر شما اجرا می شوند با بلاکچین اتریوم پل می کند. وب3.کتابخانه جی اس همچنین شامل یک رابط به یک شبکه ذخیره سازی پی 2 پی به نام ازدحام و یک سرویس پیام رسانی پی 2 پی به نام زمزمه . با این سه مولفه موجود در یک کتابخانه جاوا اسکریپت در حال اجرا در مرورگر وب خود را, توسعه دهندگان یک مجموعه توسعه نرم افزار کامل است که اجازه می دهد تا برای ساخت وب 3 داپ.
فرهنگ توسعه اتریوم
تاکنون در مورد تفاوت اهداف و فناوری اتریوم با سایر بلاک چین های قبلی مانند بیت کوین صحبت کرده ایم. اتریوم همچنین فرهنگ توسعه بسیار متفاوتی دارد.
در بیت کوین توسعه با اصول محافظه کارانه هدایت می شود: همه تغییرات به دقت مورد مطالعه قرار می گیرند تا اطمینان حاصل شود که هیچ یک از سیستم های موجود مختل نمی شوند. در بیشتر موارد تغییرات فقط در صورتی اجرا می شوند که با عقب سازگار باشند. مشتریان موجود مجاز به انتخاب هستند اما اگر تصمیم بگیرند که ارتقا ندهند به کار خود ادامه خواهند داد.
در مقایسه با اتریوم فرهنگ توسعه جامعه به جای گذشته متمرکز شده است. سرود (نه به طور کامل جدی) است "حرکت سریع و شکستن همه چیز."اگر یک تغییر مورد نیاز است, اجرا شده است, حتی اگر این بدان معناست که باطل فرضیات قبل, شکستن سازگاری, و یا وادار کردن مشتریان برای به روز رسانی. فرهنگ توسعه اتریوم با ابداعات سریع و تکامل سریع و تمایل به بهکارگیری پیشرفتهای رو به جلو مشخص میشود حتی اگر این امر به قیمت سازگاری به عقب باشد.
این به این معنی است که شما به عنوان یک توسعه دهنده باید انعطاف پذیر باشید و برای بازسازی زیرساخت های خود به عنوان برخی از مفروضات اساسی تغییر کنید. یکی از چالش های بزرگ پیش روی توسعه دهندگان در اتریوم تناقض ذاتی بین استقرار کد در یک سیستم تغییرناپذیر و یک بستر توسعه است که هنوز در حال تکامل است. شما نمیتوانید قراردادهای هوشمند خود را "ارتقا دهید". شما باید برای استقرار امکانات جدید, مهاجرت کاربران, برنامه ها, و بودجه, و بیش از شروع.
از قضا این بدان معناست که هدف ساخت سیستم هایی با استقلال بیشتر و کنترل متمرکز کمتر هنوز به طور کامل محقق نشده است. استقلال و تمرکززدایی نیاز به ثبات بیشتری در پلتفرم دارند تا اینکه احتمالا در چند سال بعد وارد اتریوم شوید. برای "تکامل" این پلتفرم باید قراردادهای هوشمند خود را ضایعات و مجددا راه اندازی کنید و این بدان معناست که باید درجه خاصی از کنترل را بر روی این قراردادها حفظ کنید.
اما از جنبه مثبت اتریوم خیلی سریع به جلو حرکت می کند. وجود دارد کمی فرصت برای" دوچرخه ریختن " یک عبارت است که به معنی برگزاری توسعه با استدلال بیش از جزییات کوچک مانند چگونه برای ساخت دوچرخه ریخته در پشت یک نیروگاه هسته ای. اگر شما شروع به دوچرخه ریختن, شما به طور ناگهانی ممکن است کشف کنند که در حالی که شما بقیه تیم توسعه طرح تغییر پریشان شد و دوچرخه به نفع هواناو مستقل غرق.
در نهایت توسعه پلتفرم اتریوم کند شده و رابطهایش ثابت خواهد شد. اما در این میان خلاقیت اصل رانندگی است. شما بهتر است نگه دارید تا, چرا که هیچ کس را برای شما کم کردن سرعت.
چرا اتریوم را یاد بگیرید?
بلاکچین ها منحنی یادگیری بسیار شیب داری دارند زیرا چندین رشته را در یک دامنه ترکیب می کنند: برنامه نویسی, امنیت اطلاعات, رمزنگاری, اقتصاد, سیستم های توزیع شده, شبکه های همتا به همتا, و غیره. اتریوم شیب این منحنی یادگیری را بسیار کمتر می کند تا بتوانید سریع شروع کنید. اما درست در زیر سطح یک محیط فریبنده ساده بسیار بیشتر نهفته است. همانطور که شما در یادگیری و شروع به دنبال عمیق تر, همیشه یکی دیگر از لایه ای از پیچیدگی و تعجب وجود دارد.
اتریوم یک پلتفرم عالی برای یادگیری در مورد بلاک چین است و در حال ساخت یک جامعه عظیم از توسعه دهندگان است که سریعتر از هر پلتفرم بلاک چین دیگر است. اتریوم بیش از هر چیز دیگری یک بلاک چین توسعه دهنده است که توسط توسعه دهندگان برای توسعه دهندگان ساخته شده است. یک توسعه دهنده با برنامه های جاوا اسکریپت می تواند به اتریوم بیافتد و خیلی سریع شروع به تولید کد کار کند. در چند سال اول زندگی اتریوم معمول بود که تی شرت هایی را می دیدیم که اعلام می کردند فقط در پنج خط کد می توانید یک نشانه ایجاد کنید. البته این یک شمشیر دو لبه است. نوشتن کد ساده است اما نوشتن کد خوب و ایمن بسیار سخت است.
این کتاب چه چیزی را به شما یاد می دهد
این کتاب به اتریوم فرو می رود و همه اجزا را بررسی می کند. شما با یک تراکنش ساده شروع خواهید کرد, نحوه کار را تشریح کنید, یک قرارداد ساده بسازید, بهتر کنید, و سفر خود را از طریق سیستم اتریوم دنبال کنید.
شما نه تنها نحوه استفاده از اتریوم—چگونه کار می کند—بلکه همچنین یاد خواهید گرفت که چرا اینگونه طراحی شده است. شما قادر خواهید بود بفهمید که هر یک از قطعات چگونه کار می کنند و چگونه در کنار هم قرار می گیرند و چرا.
اکنون با پلتفرم یادگیری اوریلی به اتریوم تسلط پیدا کنید.
اعضای اوریلی تجربه زندگی می کنند اینترنتی, به علاوه کتاب, فیلم های, و محتوای دیجیتال از نزدیک 200 ناشران.