اتریوم (Ethereum)

مفهوم:

والد:

بعد:

فرزند:


لید

قراردادهای هوشمند عناصر کلیدی اِتریوم هستند. می‌توان هر نوع الگوریتمی را در آن‌ها کدگذاری نمود. قراردادهای هوشمند می‌توانند هر حالت قراردادی به خود بگیرند و هر نوع محاسبه مطلوب را انجام دهند. این قراردادها حتی قادر هستند قراردادهای هوشمند را فراخوانی کنند. این به امکانات اسکریپت¬نویسی اِتریوم انعطاف‌پذیری بسیاری می‌دهد. قراردادهای هوشمند به عنوان بخشی از فرآیند تولید بلاک‌ها به وسیله هر یک از گره‌های شبکه اجرا می‌شوند.

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

تعریف به حد

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

وجوه افتراق یا شقوق مختلف

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

بیت کوین و اتریوم هر دو از پروتکل اثبات انجام کار (PoW [۱]) استفاده کرده و قابل استخراج هستند، با این تفاوت که تعداد سکه های قابل استخراج بیت کوین فقط ۲۱ میلیون واحد در نظر گرفته شده است ولی در اتریوم چنین محدودیتی وجود ندارد، اما احتمالا در ادامه مسیر سقف تعداد کوین تعیین خواهد شد یا حداقل برای آن حد تولید سالانه در نظر گرفته می‌شود تا تورم آن کنترل شود. سرعت تراکنش‌های اتریوم به مراتب سریع‌تر از بیت کوین است و به مراتب کارمزد کمتری نسبت به بیت کوین دارد. البته نمی‌توان به طور دقیق از برتری یا مزیت بیت¬کوین یا اتریوم صحبت کرد چرا که این دو اهداف یکسان ندارند و هر کدام کاربرد و ویژگی‌ منحصر به فرد خاص خودش را دارد.

فهرست مطالب

اِتریوم: یک بلاکچِین قابل برنامه‌ریزی[ویرایش | ویرایش مبدأ]

اگرچه مفهوم بلاک‌چِین حاصل تحقیقات درباره رمزارزها بوده، اما قدرت بلاک‌چِین بسیار بیشتر از صرفاً کاربرد آن‌ در رمزارزها است. به طور اساسی، بلاک‌چِین پیوسته یک چیز را رمزگذاری می‌کند: تغییر حالت. وقتی شخصی کوینی را به شکل بیت‌کوین برای شخصی دیگر می‌فرستد، حالت کلی بلاک‌چِین تغییر می‌کند. برای مثال، تا چند لحظه پیش حساب الف 50 سکه داشته است و اکنون حساب الف خالی است و حساب ب 50 سکه دارد. در این تبادل انجام شده، کل بلاک‌چِین به یک حالت کاملاً جدید تغییر پیدا می‌کند. نکته دیگر آنکه، بلاک‌چِین در انجام این تغییرات حالت از یک روش رمزنگاری ایمن استفاده می‌کند. یعنی حالت بلاک‌چِین نه فقط توسط هر طرف خارج از این سیستم قابل راستی‌آزمایی است، بلکه هر تغییر حالت که توسط کاربران بلاک‌چِین آغاز شده باشد نیز فقط می‌تواند به شیوه‌ای ایمن و قابل راستی‌آزمایی انجام شود.

همه سیستم‌های نرم¬افزاری به نوعی با تغییر حالت سر¬و¬کار دارند. بنابراین چه می‌شود اگر ما بتوانیم تغییر حالات درون یک بلاک‌چِین را به هر نرم‌افزار دلخواه تعمیم دهیم؟ آیا مفهوم بلاک‌چِین محدودیت‌های ذاتی دارد که تغییر حالت را به ارسال کوین‌‌ها محدود می‌کند؟ پاسخ منفی است. بلاک‌چِین با رسیدن به اتفاق‌نظر کاربران در مورد محاسبات رایانه‌ای نامتمرکز صرف‌نظر از ماهیت محاسبات سر¬و¬کار دارد و این دقیقاً همان نوآوری است که شبکه اِتریوم به عرصه آورده است: یک بلاکچِین که می‌تواند هر نوع محاسبات رایانه‌ای را به عنوان بخشی از یک تراکنش انجام دهد.

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

  • سپرده‌های امن که در صورت عدم تحقق شروط پرداخت¬کننده به او بازمی‌گردند (یا نه).
  • پول‌هایی که تا وقتی تعداد کاربران موافق با خرج کردن آن‌ها به حد نصاب نرسد نمی‌توان آن‌ها را خرج نمود.
  • پول‌هایی که فقط پس از تولید داده‌های مشخص طبق قوانین تعیین¬شده می‌توان خرج نمود.

با فرض این که یک سیستم کامل تورینگ[۲]  برای انجام محاسبات رایانه‌ای مرتبط با یک بلاکچِین وجود داشته باشد، کاربردهای بسیاری برای این سیستم متصور است؛ اِتریوم یک نوع از این سیستم‌ها است.

از دیدگاه انتزاعی، شبکه‌های بلاکچِین متن‌باز مثل اِتریوم و بیت‌کوین بسته‌های نرم‌افزاری هستند که به شما اجازه می‌دهند سیستم‌های اقتصادی مطلوب خود را به شکل یک نرم‌افزار راه‌اندازی کنید و مدیریت کامل حساب‌ها و یک واحد تبادل ارز اختصاصی برای تبادل میان حساب‌ها را در اختیار داشته باشید؛ چیزی شبیه به بازی مونوپولی. افراد این واحدهای تبادل ارز اختصاصی را کوین، توکن یا رمزپول می‌نامند، اما این واحدها متفاوت از نشان‌های مورد استفاده در هر سیستم اقتصادی دیگر نیستند: آن‌ها شکلی از پول (یا رسید) هستند که فقط در آن نظام اقتصادی قابل استفاده‌اند. بلاکچِین همانند شبکه‌های محلی رایانه‌ها (LAN [۳]) عمل می‌کنند؛ بلاکچِین‌ها فقط به رایانه‌های «همتا»ی دیگر متصل می‌شوند که همان نرم‌افزار را اجرا می‌کنند.

وقتی بخواهید یکی از این شبکه‌های همتا به همتا ( P2P[۴]) را از طریق یک مرورگر وب برای کاربران دیگر قابل دسترسی کنید، باید از کتابخانه‌های نرم‌افزارهای خاص نظیر Web3.js استفاده کنید تا با رابط‌های برنامه کاربردى جاواسکریپت، لایه نرم‌افزار مقابل (رابط گرافیکی کاربر که در یک مرورگر مشاهده می‌کنید) را به لایه انتهایی آن متصل کنید. شما می‌توانید در اِتریوم با ثبت قراردادهای مالی با اعضای دیگر درون این سیستم، این مفهوم را یک گام به جلو ببرید. این قراردادهای مالی قراردادهای هوشمند نامیده می‌شوند.

قراردادهای هوشمند در اِتریوم به زبان برنامه‌نویسی سالیدیتی  [۵]نوشته می‌شوند. داشتن ویژگی ماشین تورینگ کامل یکی از مزیت‌هایی بود که اِتریوم بسیاری از تولیدکنندگان نرم‌افزار را به خود جذب نمود، اما مهم‌تر از آن، توانایی اِتریوم در ثبت حالت است. در علوم رایانه‌ای، یک تعریف ساده از سیستم حالت‌دار آن است که بتواند تغییرات در اطلاعات را در طول زمان شناسایی کند و در حافظه نگهداری نماید.

اِتر[ویرایش | ویرایش مبدأ]

اگرچه اِتریوم امکان محاسبات بلاکچِین را فراهم می‌کند، اما هنوز از «کوین‌» استفاده می‌کند. «کوین‌های»  اِتریوم، ”اِتر“ نامیده می‌شوند و همانند هر رمزسکه دیگر یک عدد است که می‌توان آن را در حساب‌های کاربران ذخیره نمود و به عنوان بخشی از تراکنش‌ها یا بلاکچِین‌ها خرید و فروش کرد. کاربران باید برای انواع خاصی از معاملات اِتر خرج کنند. اما دلیل این کار چیست؟

یک زبان برنامه‌نویسی تورینگ کامل زبانی است که طبق تعریف می‌تواند هر نوع محاسبه‌ای را انجام دهد. یعنی اگر الگوریتمی برای کاری وجود داشته باشد، این زبان برنامه‌نویسی می‌تواند آن را بیان کند. بنابراین اسکریپت‌های اِتریوم که قراردادهای هوشمند نامیده می‌شوند می‌توانند هر نوع محاسبه‌ای را انجام دهند. محاسبات به عنوان بخشی از یک تراکنش اجرا می‌شوند. این یعنی هر گره در شبکه باید بخشی از محاسبات را انجام دهد. هر سیستمی که بتواند یک زبان برنامه‌نویسی تورینگ کامل را اجرا کند با یک مسئله روبرو است: مسئله توقف [۶]

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

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

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

قراردادهای هوشمند[ویرایش | ویرایش مبدأ]

می‌توان هر نوع الگوریتمی را در آن‌ها کدگذاری نمود. قراردادهای هوشمند می‌توانند هر حالت قراردادی به خود بگیرند و هر نوع محاسبه مطلوب را انجام دهند. این قراردادها حتی قادر هستند قراردادهای هوشمند را فراخوانی کنند. این به امکانات اسکریپت¬نویسی اِتریوم انعطاف‌پذیری بسیاری می‌دهد. قراردادهای هوشمند به عنوان بخشی از فرآیند تولید بلاک‌ها به وسیله هر یک از گره‌های شبکه اجرا می‌شوند.

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

برخلاف بیت‌کوین، اِتریوم برای انتخاب اینکه کدام بلاک به بلاکچِین اضافه شود از یک الگوی متفاوت استفاده می‌کند. در حالی که در بیت‌کوین همیشه بزرگترین زنجیره از بلاک‌های معتبر بلاکچِین درست محسوب می‌شود، اِتریوم از پروتکل گاست  (درحقیقت تغییرات مربوطه) استفاده می‌کند. پروتکل گاست اجازه می‌دهد بلاک‌های کهنه، یعنی بلاک‌هایی که توسط گره‌های دیگر در شبکه محاسبه شده‌اند اما به دلیل کشف شدن بلاک‌های جدید کنار گذاشته شده‌اند، به بلاکچِین ملحق شوند که هدر¬رفت توان پردازش رایانه‌ای را کاهش می‌دهد و بر انگیزه گره‌های ضعیف‌تر شبکه می‌افزاید.

این پروتکل امکان تأیید سریع‌تر تراکنش‌ها را نیز فراهم می‌کند: در حالی که در بیت‌کوین بلاک‌ها معمولاً در هر دقیقه تولید می‌شوند، در اِتریوم بلاک‌ها در طول چند ثانیه ساخته می‌شوند. درباره این که آیا این پروتکل بهتر از «سریع‌ترین و طولانی‌ترین زنجیره» پروتکل بیت‌کوین است بحث‌های بسیاری مطرح گردیده، اما خارج از حیطه این نوشتار است. فعلاً می‌دانیم که ظاهراً این پروتکل در اِتریوم با موفقیت اجرا شده است.

کاربردهای فعلی و بالقوه اِتریوم[ویرایش | ویرایش مبدأ]

ایده‌های جالبی در اِتریوم اجرا شده‌اند یا در حال اجرا هستند که از جمله مهمترین آنها می¬توان به موارد زیر اشاره کرد:

سازمان خودگردان غیرمتمرکز، دائو( DAO ): دائو به معنای تحت اللفظی آن یک سازمان است، اعضا دارد، یک رئیس کل آن را اداره می‌کند، اعضا می‌توانند رای بدهند و خود سازمان می‌تواند هر نوع عملیات را مثل هر حساب دیگر انجام دهد. اعضا می‌توانند به شکل تراکنش‌ها پیشنهاد دهند و پیشنهادات دیگران را تأیید یا رد کنند. اگرچه اِتر دارای ارزش پولی واقعی است و می‌توان آن را با هر کوین دیگری مبادله نمود، کوین‌های دیگر را می‌توان بر پایه اِتریوم اجرا نمود. مثلاً، شما می‌توانید از طریق یک سیستم متمرکز که می‌تواند پول تولید کند، تراکنش‌ها را تأیید کند یا تعارضات را داوری کند، کوین شخصی خود را ایجاد کنید.

سیستم جمع‌سپاری: جمع‌سپاری به حامیان مالی یک پروژه اجازه می‌دهد که قبل از تکمیل یا حتی آغاز اجرای پروژه، پول ارسال کنند. به این طریق، تأمین مالی پروژه‌های دارای اندازه‌های مختلف امکان‌پذیر می‌شود. معمولاً مقدار پول ارسال شده برای پروژه، سرنوشت آن را تعیین می‌کند. جمع‌سپاری بسیار نیازمند جلب اعتماد بنیان‌گذار پروژه و مقامات اصلی است؛ اما در اِتریوم این جلب اعتماد الزامی نیست. در اِتریوم می‌توان قراردادهایی را تنظیم کرد که یک مقدار مشخص پول از فرستنده دریافت کند و در یک حساب ذخیره سازد. این منابع مالی را می‌توان خارج از دسترس بنیانگذاران پروژه نگاه داشت تا زمانی که پیشرفت کار خود را اثبات کنند.

جستارهای وابسته

  • رمز پول
  • ریپل
  • بلاک‌چین اختصاصی
  • بیت‌کوین
  • اتریوم

پانویس/ پاورقی

  1. Proof of Work
  2. Turing-complete system
  3. local area networks
  4. peer-to-peer
  5. Solidity
  6. halting problem

منابع

  • Bech, M. L., & Garratt, R. (2017). Central bank cryptocurrencies. BIS Quarterly Review September.
  • Dannen, C. (2017). Introducing Ethereum and solidity (Vol. 1). Berkeley: Apress.
  • Houben, R., & Snyers, A. (2018). Cryptocurrencies and blockchain: Legal context and implications for financial crime, money laundering and tax evasion. European Parliament.
  • Narayanan, A., Bonneau, J., Felten, E., Miller, A., & Goldfeder, S. (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton University Press.
  • Quest, M. (2018). Cryptocurrency Master: Everything You Need To Know About Cryptocurrency and Bitcoin Trading, Mining, Investing, Ethereum, ICOs, and the Blockchain.

پیوند به بیرون

الگوهای ناوبری

رده