تیم بحث آراد | 2020.02.25

مقایسه تزوس و اتریوم – تفاوت ها در چیست

اتریوم و تزوس دو پروژه هیجان انگیز هستند که ارزش بررسی دارند. هر دوی آنها پلتفرم های قراردادهای هوشمند هستند که هدفشان گسترش اکوسیستم dApp بوسیله جذب هر چه بیشتر توسعه دهندگان به منظور ایجاد dAPPهایی با کیفیت بالا است. بنابراین، در این مقایسه تزوس و اتریوم قصد داریم به صورت دقیق تری این دو پلتفرم را بویژه از نظر تفاوت ها بررسی کنیم.

مقایسه تزون و اتریوم

  • نوامبر 2013: Vitalik Buterin وایت پیپر اتریوم را منتشر کرد.
  • ژانویه 2014: توسعه پلتفرم اتریوم به صورت رسمی اعلام شد. تیم توسعه اولیه متشکل از Vitalik Buterin، Mihai Alisie، Anthony Di Iorio و Charles Hoskinson بود.
  • آگوست 2014: عرضه اولیه به پایان رسید و 18.4 میلیون دلار جمع آوری شد.
  • می 2015: تست نت اتریوم با نام Olympic منتشر شد.
  • 30 جولای 2015: اولین گام توسعه اتریوم به نام “Frontier” منتشر شد.
  • 14 مارچ 2016، اولین سکه پایدار منتشر شد و به بلاک 1150000 رفت.
  • جون 2016: هک DAO اتفاق افتاد و 50 میلیون دلار اتر به سرقت رفت، که 15 درصد کل اتر در گردش در آن زمان بود.
  • 25 اکتبر 2016: فورک اتریوم کلاسیک اتفاق افتاد.
  • 16 اکتبر 2017: آپدیت فورک سخت Metropolis Byzantium اتفاق افتاد.
  • 28 فوریه 2019: آپدیت فورک سخت Metropolis Constantinople اتفاق افتاد.

تزوس در یک نگاه:

تزوس در یک نگاه

مروری بر موارد کلیدی:

  • 2014: Arthur Breitman دو وایت پیپر منتشر کرد که یکی ایرادات بیت کوین را بیان می کرد و دیگری ویژگی های تزوس را بر می شمرد.
  • آگوست 2015: Arthur و Kathleen Breitman شرکتی را در دلاور به نام Dynamic Ledger Solutions و با نام اختصاری DLS برای نگهداری از سورس کد تزوس ثبت کردند.
  • 2016: مؤسسه تزوس بنیان گزارده شد و Johann Gevers، یک کارآفرین از آفریقای جنوبی، مدیر مؤسسه شد.
  • 1 جولای 2017: عرضه اولیه تزوس شروع شد و به مدت 13 روز ادامه داشت و 232 میلیون دلار جمع آوری شد.
  • پس از عرضه اولیه: رابطه بین Gevers و Breitmans به هم خورد.
  • سپتامبر 2018: ورژن بتا تزوس پس از مدتها ارائه شد.

برای مقایسه تزوس و اتریوم به بررسی موارد زیر می پردازیم:

مقایسه تزوس و اتریوم از نظر حاکمیت داخل چین و بیرون چینی:

  • حاکمیت درون چینی اتریوم

اتریوم از حاکمیت درون چینی از طریق توسعه پروپوزال اتریوم (EIP) استفاده می کند. EIP ها پروپوزال های توسعه یافته برای بلاک چین اتریوم هستند که در درون چین کار می کند. آنها معمولاً داکیومنت های طراحی شده ای هستند که توصیه هایی برای توسعه بلاک چین اتریوم دارند.  این فرآیندها در بلاک چین ارائه، ثبت، عبور یا رأی گیری نشده اند.

براساس دستورالعمل اتریوم، در مورد EIPها باید این نیازمندیها را در نظر داشت:

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

EIPها می توانند از ERCها (Ethereum Request for Comments) نیز ناشی شده باشند. در این موارد، فرآیند یکسانی در پیش گرفته می شود.

ERC:

ERC پروپوزال های توسعه یافته ای هستند که برای peer review از طریق اتریوم سابمیت شده اند. استاندارد توکن ERC20 درنتیجه یک ERC بوجود آمد. وقتی یک ERC به حدی رسید که بتواند اکوسیستم اتریوم را توسعه دهد، در جامعه بیشتر در موردشان بحث می شود و سپس به EIP]ا تبدیل می شوند.

فاز گفتمان EIP:

در این فاز، توسعه دهندگانی که بر روی اتریوم کار می کنند در مورد توانایی EIP در دنیای واقعی بحث می کنند. این توسعه دهندگان در توسعه اتریوم نقش مهمی دارند. GitHub دارای یک فضای جدا برای مدیریت و توسعه اتریوم دارد، که در آنجا به بحث های روز می پردازند. اگر توسعه دهندگان احساس کنند که آپگرید کد اثر مثبتی بر اکوسیستم خواهد داشت، کد اجرا می شود. در اغلب موارد فاز گفتمان محل شکست EIPها است. توسعه دهندگان برای پرهیز از فورک سخت تمایلی برای اجرای تغییرات بزرگ ندارند.

این فرآیند مزایا و معیابی دارد. بزرگترین موانع این است که این فرآیند زمانبر است. اصلی ترین مزیت این است که در مورد هر EIP بدقت تحقیق شده است که اجرای آن به احتمال زیاد منجر به یک تغییر مثبت در اکوسیستم می شود.

فلوچارت زیر ایده ای در مورد فرآیند کلی می دهد:

ERC

حاکمیت داخلی تزوس:

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

کارکرد آن:

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

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

  • مقایسه تزوس و اتریوم از نظر مکانیزم اجماع:

اتریوم در حال حاضر از POW (Proof-of-Work) استفاده می کند، اگرچه آنها تمایل دارند به سیستم POS (Proof-of-stake) انتقال یابند. تزوس از LPOS (Liquid Proof-of-stake) استفاده می کند.

ایده POW این است که ماینرها از قدرت محاسباتی خود برای حل مسائل رمزنگاری استفاده می کنند. ماینری که بتواند مسئله را حل کند، یک بلاک به بلاک چین اضافه می کند و پاداش بلاک را دریافت می کند. در زیر می توانید فرآیند را بهتر ببینید:

  • یک رشته تصادفی به نام nonce به هش بلاک قبلی اضافه می شود.
  • رشته حاصل دوباره هش می شود و براساس سختی شبکه بررسی می شود.
  • اگر هش شروط را رعایت کند، بلاک به چین اضافه می شود.
  • وگرنه، فرآیند تکرار می شود تا به نتیجه مطلوب برسد.

دو نکته ضروری در مورد POW وجود دارد:

  • فرآیند دریافت نتیجه دلخواه برای کسب شروط مورد نیاز باید بسیار سخت و زمانبر باشد و به منابع فرآوانی نیاز داشته باشد.
  • فرآیند بررسی موفقیت ماینر باید ساده باشد.

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

در پردازش موازی، program instructions بین چندین پردازشگر توزیع می شود. بدین وسیله، زمان اجرای برنامه کاهش می یابد و این دقیقاً همان کاری است که استخرهای استخراج مشغول به انجام آن هستند.

بزرگترین مزیت مکانیزم POW امنیتی است که وارد سیستم می کند. از آنجائیکه استخراج در آن بسیار گران است، ماینرها انگیزه ای برای انجام عملیات خرابکارانه ندارند و استخراج در یک چین موازی هدر دادن وقت و پول است.

ایرادات POW:

  • سرعت پائین
  • متمرکز
  • هدررفت انرژی

به همین دلیل اتریوم تصمیم دارد از سیستم POW به سیستم POS منتقل شود.

اتریوم در آینده-POS:

اتریوم تصمیم دارد از طریق پروتکل کسپر به سیستم POS انتقال یابد. این سیستم عملیات استخراج را مجازی می کند و ماینرها را با تأییدکنندگان جایگزین می کند.

عملکرد این سیستم:

  • تأییدکنندگان سکه هایی را به عنوان stake در نظر می گیرند.
  • پس از آن، شروع به تأیید بلاک ها می کنند. یعنی، پس از کشف بلاک که بتوانند به بلاک اضافه کنند، از طریق شرط بندی روی آن تأیید می کنند.
  • اگر بلاک اضافه شود، تأییدکننده متناسب با مقدار شرط پاداش دریافت می کند.

همانطور که می بینید، پروتکل POS هدررفت منابع کمتری نسبت به POW دارد. در POW، نیاز دارید که از منابع زیادی استفاده کنید تا با پروتکل همگام شوید. یعنی هدررفت منابع بخاطر هدررفت منابع.

اتریوم پروتکل کسپر را انتخاب کرده است. این پروتکل از POS به همراه یک مکانیزم تنبیه استفاده می کند. اجازه دهید به بررسی عملکرد آن بپردازیم:

  • تأییدکنندگان بخشی از اتریوم خود را به عنوان stake بلوکه می کنند.
  • پس از آن، شروع به تأیید بلاک می کنند. یعنی وقتی متوجه شدند که می توانند بلاک را به چین اضافه کنند، آن را با قرار دادن شرط تأیید می کنند.
  • اگر بلاک اضافه شد، تأیید کننده مطابق وجه شرط پاداش دریافت می کند.
  • اگرچه، اگر تأیید کننده در جهت اقدام خرابکارانه nothing at stake حرکت کند، کل مبلغ stake را از دست می دهند.

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

هر شخصی که عملیات خرابکارانه/بیزانس انجام دهد بسرعت با از دست دادن stake

جریمه می شود و این همان تفاوت آن با پروتکل POS است. اقدامات خرابکارانه همراه با جریمه نقدی است بنابراین غیرممکن است که اتفاق بیفتد.

اجرای بدون اشکال کسپر و POS مهم است اگر اتریوم بخواهد

تزوس Liquid Proof of Stake:

قبل از بررسی دقیق LPOS، اجازه دهید با مفهوم liquid democracy آشنا شویم.

کارکرد سیستم liquid democracy:

liquid democracy سیستمی است که به صورت ساده و نرم بین دموکراسی مستقیم و دموکراسی غیرمستقیم انتقال می یابد.

کارکرد سیستم liquid democracy

این فرآیند دارای ویژگی های زیر می باشد:

  • افراد می توانند در مورد سیاست های آن به صورت مستقیم رأی دهند
  • افراد می توانند حق رأی خود را به شخص دیگری انتقال دهند.
  • آن شخص نیز می تواند این حق را به شخص دیگری بدهد. به این فرآیند transitivity گفته می شود.
  • اگر شخصی که حق رأی خود را انتقال داده از انتخاب فردی که حق رأی را به او اعطاء کرده راضی نباشد می تواند حق را پس بگیرد و به شخصه رأی بدهد.

مزایای دموکراسی liquid:

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

Liquid Proof of Stake چیست:

تزوس یک سیستم liquid proof of stake است که شخص را ملزم به کنار گذاشتن مقدار مشخصی تزوس به عنوان وجه شرط می کند تا بتوانند در اجماع مشارکت داشته باشند که به این فرآیند baking می گویند.

صاحبان توکن از طریق baking می توانند حق خود را به صاحبان دیگر توکن اعطاء کند بدون انتقال مالکیت داشته باشند. این ایده با ایده اتریوم بسیار متفاوت است زیرا کل شبکه تحت مکانیزم اجماع قرار دارد و EOS حق رأیی هستند که تنها به عده خاصی قابلیت تعلق دارند.

بلاک های Baking:

از طریق Baking می توان برای تزوس بلاک پیدا کرد و به آن اضافه کرد. کارکرد آن به صورت زیر است:

  • بیکرها براساس میزان شرط حق انتشار بلاک دارند
  • هر بلاک توسط یک بیکر تصادفی بیک (bake) می شود و توسط 32 بیکر تصادفی دیگر به رسمیت شناخته می شود.
  • اگر بلاک ویژگی های اضافه شدن را داشته باشد به بلاک چین اضافه می شود.
  • بیکرهای موفق پاداش بلاک را دریافت می کنند و می توانند هزینه های معاملات داخل بلاک را دریافت کنند.

همانطور که قبلاً گفتیم، صاحبان توکن این گزینه را دارند تا حق رأی خود را به شخص دیگری بدهند بدون آنکه از حقوق مالکیت آنها کسر شود. پس از تکمیل فرآیند بیکینگ، بیکر پاداش را با بقیه نماینده ها تقسیم خواهند کرد.

مقایسه تزوس و اتریوم از نظر زبان قراردادهای هوشمند:

از آنجائیکه هر دوی آنها پلتفرم های قراردادهای هوشمند هستند اجازه دهید در مود زبانی که باید برای کد کردن در آن استفاده کنیم صحبت کنیم.

اتریوم از زبان سالیدتی استفاده می کند که یک زبان دستوری است درحالیکه تزوس از Michelson استفاده می کند که یک زبان تابعی است. اجازه دهید تفاوت بین این دو نوع زبان را بدانیم.

زبان های برنامه نویسی را می توان در دو گروه جای داد:

  • دستوری
  • تابعی

زبانهای دستوری:

در این نوع زبان، کدنویس باید تمام مراحل را به صورت کد وارد کند. تمام زبانهای برنامه نویسی سنتی مثل C++، جاوا و یا حتی سالیدتی در این گروه جای می گیرد. اجازه دهید با ذکر یک مثال از C++ این مسئله را شرح دهیم:

فرض کنید بخواهیم 5 و 3 را با هم جمع کنیم.

int a = 5;
int b = 3;
int c;
c= a + b;

همانطور که می بینید، مرحله جمع زدن از چندین گام تشکیل شده است و هر گام وضعیت برنامه را تغییر می دهد زیرا هر یک به طور جداگانه اجرا می شوند.

مرحله جمع زدن دارای چهار گام است:

  • معرفی عدد صحیح a و تخصیص 5 به آن
  • معرفی عدد صحیح b و تخصیص 3 به آن
  • معرفی عدد صحیح c
  • جمع a و b و ذخیره آن در c

زبانهای برنامه نویسی تابعی:

گروه دوم زبانهای برنامه نویسی زبان های تابعی هستند. این روش برنامه نویسی به منظور ایجاد یک رویکرد تابعی برای حل مسئله ابداع شده است. به این رویکرد برنامه نویسی declarative نامیده می شود. بنابراین، عملکرد برنامه نویسی تابعی شامل:

فرض کنید تابع f(x) موجود باشد که می خواهیم از آن برای محاسبه تابع g(x) استفاده کنیم و سپس می خواهیم از آن برای کار با تابع h(x) استفاده کنیم. به جای حل همه این ها، می توان همه آنها را یکی کنیم و تابع مثل h(g(f(x))) را تشکیل دهیم و این تابع استفاده از رویکرد تابعی را به منظور استدلال های ریاضی ساده تر خواهد کرد. به همین دلیل برنامه های تابعی یک رویکرد ایمن برای ایجاد قراردادهای هوشمند هستند. این همچنین به Formal Verification ساده تر کمک می کند که به معنی اثبات عملکرد یک برنامه به زبان ریاضی است.

اجازه دهید با ذکر یک مثال این موضوع را بیشتر توضیح دهیم و دلیل اهمیت آن را بدانیم.

فرض کنید، در حال کد کردن یک برنامه هستیم که هدف آن کنترل ترافیک هوایی است.

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

در جدول زیر این دو رویکرد را با یکدیگر مقایسه می کنیم:

مقایسه تزوس و اتریوم

زبان برنامه نویسی اتریوم (سالیدیتی):

سالیدیتی توسط Gavin Wood، Christian Reitwiessner، Alex Beregszaszi، Yoichi Hirai و تعدادی از مشارکت کنندگان اصلی در اتریوم توسعه داده شدند تا امکان نوشتن قراردادهای هوشمند در پلتفرم بلاک چین اتریوم را فراهم کند.

سالیدیتی یک زبان برنامه نویسی سخت گیر مثل جاوا نیست. با استفاده از سالیدیتی می توانید قراردادهای هوشمند را کد کنید که در ماشین مجازی اتریوم اجرا خواهند شد. توسعه دهندگان اتریوم مقدار مشخصی بنزین برای قرارداد هوشمند درنظر می گیرند. هر خط قرارداد برای اجرا به مقدار معینی بنزین نیاز دارد. میزان بنزین باید بقدری باشد که کل قرارداد اجرا شود.

با داشتن دانش جاوااسکریپت یادگیری سالیدیتی به دلایل زیر ساده تر می شود:

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

زبان برنامه نویسی Michelson

تزوس با استفاده از OCaml کد شده است. قراردادهای هوشمند که در تزوس اجرا می شوند با استفاده از Michelson ایجاد خواهد شد. بنابراین، نکات خاص این زبان چیست؟ هر دوی آنها زبان تابعی هستند. Michelson یک زبان بر

در اتریوم، قراردادهای هوشمند با سالیدیتی یا وایپر (Viper) نوشته شده اند و در کد بایت ماشین مجازی اتریوم کامپایل می شوند، که سپس در ماشین مجازی اتریوم اجرا می شوند. در تزوس، هیچ گام اضافی وجود ندارد و کد Michelson خودش در ماشین مجازی تزوس اجرا می شود.

در زیر یک مثال از قرارداد Michelson را می بینیم:

parameter (pair (lambda int int) (list int));
return (list int);
storage unit;
code { DIP{NIL int};
CAR;
DUP;
DIP{CAR; PAIR};     # Unpack data and setup accumulator
CDR;
LAMBDA (pair int (pair (lambda int int) (list int)))
(pair (lambda int int) (list int))
# Apply the lambda and add the new element to the list
{ DUP; CDAR;
DIP{ DUP; DIP{CDAR}; DUP;
CAR; DIP{CDDR; SWAP}; EXEC; CONS};
PAIR};
REDUCE; CDR; DIP{NIL int}; # First reduce
LAMBDA (pair int (list int))
(list int)
{DUP; CAR; DIP{CDR}; CONS};
REDUCE;         # Correct list order
UNIT; SWAP; PAIR}    # Calling convention

بزرگترین مزیت رویکرد تابعی این است که کدهایی با ضریب اطمینان بالا ایجاد می شوند زیرا اثبات عملکرد کد به صورت ریاضی ساده تر است.

عیب آن نیز این است که در برنامه نویسی تابعی عدم تخصص وجود دارد زیرا خیلی محبوب نیستند.

مقایسه تزوس و اتریوم: مقایسه شروع

مقایسه تزوس و اتریوم

داده هایی که در ادامه می بینیم مربوط به 9 تا 13 جون است.

تعداد بلاک ها در روز:

در نمودار زیر می توانید تعداد بلاک ها اتریوم در هر روز را ببینید:

مقایسه تزوس و اتریوم - تعداد بلاک

اتریوم بیش از 6356 بلاک در روز پردازش می کند. بیشترین تعداد 6447 در 10 جون و کمترین آن 638 بلاک در 9 جون بوده است.

بلاک های روزانه تزوس:

بلاک های روزانه تزوس

تزوس روزانه حداقل 1360 بلاک تولید می کند و بالاترین بلاک تولید شده مربوط به 9 جون و 1402 بلاک بوده و کمترین بلاک مربوط به 12 جون 1360 بلاک بوده است.

اتریوم 4 تا 5 بلاک در روز تولید می کند زیرا در هر 15 ثانیه یک بلاک تولید می کند درحالیکه تزوس یک بلاک در هر دقیقه تولید می کند.

مقایسه اتریوم و تزوس براساس هزینه معاملاتی در یک روز:

  • در زیر می توانیم نمودار هزینه کلی معاملات در اتریوم را ببینیم:

هزینه کلی معاملات در اتریوم

کاربران اتریوم 767.52 اتر در تاریخ 10 جون و 350.75 اتر در تاریخ 9 جون فرستاده اند. که معقول است زیرا اتریوم کمترین مقدار بلاک را در تاریخ 9 جون و بیشترین را در تاریخ 10 جون داشته است.

  • کل هزینه معاملاتی در تزوس:

هزینه معاملاتی در تزوس

تزوس حداقل 3 XTZ در تاریخ 11 جون و ماکزیمم 15 XTZ در تاریخ 10 و13 جون داشته است.

 

نتیجه گیری:

مقایسه تزوس و اتریوم

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