نوشته‌ها

راهنمای مقدماتی نئو بلاکچین (Neo Blockchain)

مترجم: اکرم سبزمکان

 

نئو بلاکچین چیست؟

اگر به ارزهای رمزنگاری شده علاقمند باشید، احتمالا نام «Neo Blockchain» را شنید‌اید. نئو، قبلا با نام Antshares که به عنوان «اتریوم چینی» معروف است، شناخته می‌شد. نئو درحالی‌که به اتریوم شبیه است، ویژگی‌های جالبی دارد که آن را مستحق بررسی دقیق‌تر می‌کند. در این راهنما قصد داریم به بررسی عمیق نئو بپردازیم.

تاریخچه نئو بلاکچین

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

هدف اصلی نئو این است که یک شبکه توزیع شده برای «اقتصاد هوشمند» باشد.  طبق گفته وب‌سایت آنها:

دارایی‌های دیجیتال + هویت دیجیتال + قرارداد هوشمند = اقتصاد هوشمند

نئو توسط شرکت تحقیق و توسعه مبتنی بر بلاکچین شانگهای، با نام OnChain توسعه داده شد. Onchain توسط مدیرعامل، دا هونگفی (Da Hongfei) و مدیر ارشد فنی، اریک ژانگ (Erik Zhang) تاسیس شد. تحقیقات در مورد نئو در سال 2014 آغاز و در سال 2016، Onchain به‌وسیله KPMG در لیست 50 شرکت رده بالای فناوری‌های مالی در چین ثبت شد.

پروژه نئو در دو مرحله تامین مالی شد. مرحله اول در ماه اکتبر 2015 به مدت 10 روز ادامه داشت که طی آن 5/17 میلیون توکن نئو به مقدار 550,000  دلار فروخته شد. در مرحله دوم، 22.5 میلیون توکن باقی مانده نئو ، 4.5 میلیون دلار فروخته شد.

نئو بلاکچین و  اقتصاد هوشمند

همان‌طور که وب‌سایت نئو بیان می‌کند، سه جزیی که اقتصاد هوشمند را تشکیل می دهند، عبارتند از:

  • دارایی‌های دیجیتال
  • هویت دیجیتال
  • قرارداد هوشمند

نئو بلاکچین و دارایی‌های دیجیتال

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

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

در نئو دو نوع دارایی دیجیتال می‌توان استفاده کرد:

  • دارایی‌های جهانی
  • دارایی‌های قراردادی

دارایی‌های جهانی توسط کل سیستم به رسمیت شناخته شده و می‌توانند توسط تمام قراردادهای هوشمند و مشتریان شناسایی شوند.

دارایی‌های قراردادی دارایی‌هایی هستند که فقط در قراردادهای خاص خود شناخته می‌شوند و نمی‌توانند در سایر قراردادها استفاده شوند. به عنوان مثالGNT، توکن Golem، را می‌توان در Golem استفاده کرد، اما  در Bancor نمی‌توان استفاده نمود.

نئو بلاکچین و هویت دیجیتال

این تعریف هویت دیجیتال در ویکی‌پدیاست:

یک هویت دیجیتال، اطلاعاتی در مورد یک موجودیت است که توسط سیستم‌های کامپیوتری برای معرفی یک عامل خارجی استفاده می‌شود. این عامل ممکن است یک شخص، سازمان، برنامه یا دستگاه باشد. ISO / IEC 24760-1 هویت را «مجموعه‌ای از ویژگی‌های مربوط به یک موجودیت» تعریف می‌کند.

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

تایید هویت در نئو توسط موارد زیر انجام می‌گیرد:

  • استفاده از ویژگی‌های چهره
  • اثر انگشت
  • صدا
  • پیامک
  • سایر روش‌های چند عامله .

قراردادهای هوشمند

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

حال، ویژگی‌های مطلوبی که در قراردادهای هوشمند می‌خواهیم چیست؟

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

  • قطعیت
  • خاتمه‌پذیری
  • ایزوله بودن (isolated)

ویژگی شماره 1: قطعیت

یک برنامه قطعی است اگر به ازای ورودی یکسان داده شده هربار همان خروجی را بدهد. به عنوان مثال، اگر 3 + 1= 4 باشد، 3 + 1 همیشه 4 است (فرض بر همان پایه). بنابراین وقتی برنامه‌ای یک خروجی را به مجموعه‌ای از ورودی‌های یکسان در رایانه‌های مختلف می‌دهد، برنامه قطعی نامیده می‌شود.

لحظات مختلفی وجود دارد که یک برنامه می‌تواند به شیوه‌ای غیرقطعی عمل ‌کند:

فراخوانی توابع سیستمی غیرقطعی: هنگامی که یک برنامه نویس یک تابع غیرقطعی را در برنامه خود فراخوانی می‌کند.

منابع داده غیرقطعی: اگر برنامه در طول زمان اجرا، داده‌ها را به‌دست آورد و منبع داده غیرقطعی باشد، برنامه غیرقطعی می‌شود. به عنوان مثال، برنامه‌ای که 10 جستجوی برتر گوگل در مورد یک درخواست خاص را به‌دست می‌آورد. این لیست ممکن است تغییر کند.

فراخوانی‌های پویا: زمانی که یک برنامه یک برنامه دوم را فراخوانی می‌کند، پویا نامیده می‌شود. از آنجایی‌که هدف فراخوانی فقط در طی اجرا تعیین می‌شود، ذاتا غیرقطعی است .

ویژگی شماره 2: خاتمه‌پذیری

در منطق ریاضی یک خطا به نام «مشکل توقف» (halting problem) داریم که در واقع، عدم توانایی فهمیدن اینکه یک برنامه خاص عملکرد خود را در یک زمان محدود انجام می‌دهد یا نه می‌باشد. در سال 1936، آلن تورینگ، با استفاده از مسئله قطر کانتور، متوجه شد که هیچ راهی برای دانستن اینکه برنامه خاصی می‌تواند در یک محدوده زمانی به پایان برسد یا نه، وجود ندارد.

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

  • نقص تورینگ: بلاکچین ناقص تورینگ، قابلیت محدودی دارد و قادر به ایجاد جهش و یا حلقه نیست. از این رو آنها نمی‌توانند وارد یک حلقه بی‌پایان شوند.
  • Step and Fee Meter: یک برنامه به راحتی می‌تواند تعداد «مراحلی» که انجام داده، یعنی تعداد دستورالعمل‌هایی که اجرا کرده، را پیگیری کند و سپس به یکباره تعداد خاصی از این مراحل را خاتمه دهد. روش دیگر Fee meter است. در اینجا قراردادها با پیش‌پرداخت اجرا می‌شوند. اجرای هر دستورالعمل نیاز به مقدار خاصی هزینه دارد. اگر هزینه صرف شده بیش از هزینه پیش‌پرداخت شده باشد، قرارداد منقضی می‌شود.
  • تایمر: در اینجا یک تایمر از پیش تعیین شده نگهداری می‌شود. اگر اجرای قرارداد بیش از حد زمانی باشد که برای آن در نظر گرفته شده، آن را به طور خارجی قطع می‌کند.

ویژگی شماره 3: ایزوله بودن

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

اکنون که این ویژگی‌ها را دیدیم، مهم است بدانیم که چگونه قراردادهای هوشمند اجرا می‌شوند. معمولا قراردادهای هوشمند با استفاده از یکی از دو سیستم زیر اجرا می‌شوند:

  • ماشین‌های مجازی: اتریوم و نئو از این روش استفاده می‌کنند.
  • Docker: فابریک (Fabric) از این روش استفاده می‌کند.

بیایید این دو را مقایسه کنیم و تعیین کنیم که کدام یک اکوسیستم بهتری می‌سازد. به خاطر سادگی، می‌خواهیم اتریوم (ماشین مجازی) را با  فابریک (Docker) مقایسه کنیم:

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

در ماشین‌های مجازی (VM) مانند اتریوم، نیاز به یادگیری یک زبان کاملا جدید به نام solidity برای ایجاد قراردادهای هوشمند است. آنچه که توسعه‌دهندگان نئو قصد انجام آن را داشتند، ایجاد یک ماشین مجازی بود که تمام مزایای یک ماشین مجازی را به ارمغان بیاورد و همچنین انعطاف‌پذیری کدهای Docker را نیز داشته باشد.

شباهت‌ها با اتریوم

این اجتناب‌ناپذیر است که در بیشتر این مقاله نئو را با اتریوم مقایسه کنیم. اما پیش از آن بهتر است به برخی از شباهت‌ها نگاهی بیاندازیم.

  • هر دو آنها برای توسعه‌دهندگان dAPPS و ICOهای مختلف پلتفرمی بر روی بلاکچین فراهم می‌کنند.
  • همه چیز در بلاکچین از طریق مبادله دارایی‌های رمزنگاری شده انجام می‌شود. مثل اتر در اتریوم و GAS در نئو.
  • هر دو تورینگ کامل هستند. تورینگ کامل، ماشینی است که می‌تواند «هر چیزی را محاسبه کند» چرا که فضای حافظه نامحدود دارد. بنابراین اساسا ماشینی که این دو پروژه را هدایت می‌کند، یعنی EVM و NeoVM می‌توانند هر مشکلی را حل کنند زیرا فضای حافظه کافی در اختیار دارند.

جدا از شباهت‌هایی که وجود دارد، ویژگی‌های دیگر نئو که آن را از اتریوم متقاوت می‌کند بررسی کنیم.

دو توکن : NEO و GAS

اکوسیستم نئو دارای دو توکن است:

  • NEO – قبلا به عنوان Antshares شناخته می‌شد (ANS) .
  • GAS – قبلا به عنوان Antcoins شناخته می‌شد (ANC) .

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین 4

NEO

زمایشگاه بلاکچین ایران بیتکوین 5

NEO در مجموع 100 میلیون توکن دارد. مالکیت نئو، حق مدیریت و تصمیم‌گیری شبکه را به نگهدارنده می‌دهد. این حقوق عبارتند از: حسابداری، تغییر پارامترهای شبکه NEO و غیره. توکن NEO را نمی‌توان به زیرمجموعه‌های اعشاری تقسیم کرد وکمترین مقدار ممکن آن، 1 است. 100 میلیون توکن NEO به دو بخش تقسیم می‌شود. بخش اول شامل 50 میلیون توکن است که در طول ICO توزیع شد.

بخش دوم 50 میلیونی برای یک سال (تا 16 اکتبر 2017) مسدود شده است و فقط برای رشد و حمایت طولانی‌مدت پروژه‌های NEO و برای توسعه، بهره‌برداری و نگهداری اکوسیستم NEO در دراز مدت استفاده می‌شود. برنامه‌های این 50 میلیون توکن به شرح زیر است:

  • 10 میلیون توکن برای ایجاد انگیزه در توسعه‌دهندگان NEO و اعضای شورای NEO مورد استفاده قرار می‌گیرد
  • 10 میلیون توکن برای ایجاد انگیزه در توسعه‌دهندگان در اکوسیستم NEO استفاده می‌شود
  • 15 میلیون توکن برای سرمایه‌گذاری در پروژه‌های بلاکچینی دیگری که متعلق به شورای NEO هستند و فقط برای پروژه‌های NEO استفاده می‌شود
  • 15 میلیون به‌صورت تصادفی نگه داشته می‌شود
  • استفاده سالانه NEO در اصل نباید بیش از 15 میلیون توکن باشد.

GAS

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین6

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

تفاوت عمده دیگری بین این دو توکن وجود دارد. 100 میلیون NEO در بلوک پیدایش، یعنی اولین بلوک بلاکچین، در شبکه NEO تولید شده است. 100 میلیون GAS اما هنوز تولید نشده و متناظر با NEO ایجاد می‌شود. اگر NEO به یک آدرس جدید منتقل شود، GAS تولید شده، به آدرس جدید اعتبار‌دهی می‌شود.

سالانه 2 میلیون بلوک با زمان بیکاری حدود 15-20 ثانیه بین بلوک‌های متوالی تولید خواهد شد. نسل اولیه GAS به تعداد هشت GAS در هر بلوک است و این تعداد به یک GAS در سال یا یک GAS به ازای هر 2 میلیون بلوک کاهش می‌یابد تا جایی که یک GAS در هر بلوک تولید ‌شود. در بلوک 44 میلیونی، مجموع GAS تولید شده به 100 میلیون خواهد رسید و پس از آن هیچ GAS تولید نخواهد شد.

بر اساس الگوریتم:

  • 16 درصد از GAS در سال اول ایجاد خواهد شد
  • 52 درصد در چهار سال اول ایجاد خواهد شد
  • هشتاد درصد GAS در 12 سال اول ایجاد خواهد شد

GAS به طور نسبی مطابق با نرخ موجودی NEO به آدرس‌های مربوطه منتشر می‌شود. دارندگان NEO می‌توانند توکن‌های GAS را هر زمان که بخواهند مطالبه کنند. اگر ابزاری برای محاسبه مقدار GAS  معادل با مقدار NEO خود نیاز دارید، می‌توانید از این لینک استفاده کنید.( https://neotogas.com/)

برای ایجاد تجربه کاربری بهتر، شبکه NEO رای داده و آستانه‌ای را برای معافیت GAS از مقدار مشخصی از تراکنش‌ها و عملیات قراردادهای هوشمند تنظیم کرده است.

اگر تعداد زیادی تراکنش اسپم رخ دهد، کاربران با NeoID می‌توانند تراکنش‌ها و قراردادهای هوشمند خود را بر دیگران ترجیح دهند. اما با این حال اگر شما NeoID ندارید، می‌توانید با پرداخت GAS بیشتر، تراکنش‌های خود را اولویت‌بندی کنید.

 

مکانیسم اجماع  dBFT

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین7

قبل از آن‌که شروع کنیم، از basiccrypto  و مقاله Steemit آن برای این اطلاعات تشکر می‌کنیم.

یکی از بزرگترین چالش‌هایی که بیشتر سیستم‌های توزیع شده با آن مواجه هستند، اجماع است. این مشکل اغلب با نام «مسئله ژنرال بیزانس» ( (Byzantine General’s Problemیاد می‌شود.

مسئله ژنرال بیزانس چیست؟

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین8

تصور کنید که یک گروه ژنرال بیزانس وجود دارد که می‌خواهند به یک شهر حمله کنند. آنها با دو مشکل بسیار متضاد روبرو هستند:

  • ژنرال‌ها و ارتش‌های آنها بسیار از هم دور هستند، بنابراین قدرت متمرکز غیر ممکن است، این باعث می‌شود حمله هماهنگ بسیار سخت باشد.
  • شهر یک ارتش عظیم دارد و تنها راه برنده شدن، حمله هماهنگ در یک زمان است.

به‌منظور هماهنگی موفق، ارتش‌ در سمت چپ قلعه یک پیام‌رسان به ارتش در سمت راست قلعه با مضمون «حمله چهارشنبه»  می‌فرستد.

حال فرض کنید ارتش سمت راست برای حمله آماده نیست و می‌گوید: «نه. حمله جمعه» و پیام‌رسان را از طریق شهر به ارتش سمت چپ می‌فرستد. این جایی است که با مشکل مواجه می‌شویم.

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

این به روشنی به بلاکچین اشاره می‌کند. زنجیره یک شبکه عظیم است. چگونه می‌توانید به آن اعتماد کنید؟ اگر برای کسی از کیف پول خود 4 اتر فرستادید، چطور مطمئن می‌شوید که کسی در شبکه نمی‌خواهد آن را دستکاری کند و 4 را به 40  اتر  تغییر دهد؟

ساتوشی ناکاموتو، خالق بیتکوین، با ابداع پروتکل اثبات کار (proof of work) ، قادر به حل مسئله ژنرال‌های بیزانس شد. این پروتکل به این روش کار می‌کند: فرض کنید ارتش در سمت چپ می‌خواهد پیامی را با عنوان «حمله دوشنبه» به ارتش در سمت راست ارسال کند، آنها مراحل زیر را دنبال خواهند کرد:

  • در مرحله اول، آنها یک «nonce» را به متن اصلی اضافه می‌کنند. nonce می‌تواند هر مقدار هگزا دسیمال تصادفی باشد.
  • پس از آن، آنها متن همراه با nonce را هش می‌کنند و نتیجه را مشاهده می‌کنند. فرض کنید ارتش‌ها تصمیم گرفته‌اند فقط پیام‌هایی را به اشتراک بگذارند که پس از هش کردن، نتیجه آن با پنج صفر آغاز شود.
  • اگر شرایط هش تضمین شده باشد، پیام‌رسان را با هش پیام ارسال می‌کنند. اگر نه، آنها به تغییر تصادفی مقدار nonce ادامه خواهند داد تا نتیجه دلخواه خود را به‌دست آورند. این عمل بسیار خسته‌کننده و وقت‌گیر است و قدرت محاسباتی زیادی لازم دارد.
  • اگر پیام‌رسان در شهر دستگیر و پیام دستکاری شود، طبق خواص تابع هش، هش تغییر عمده‌ای خواهد کرد. اگر ژنرال‌ها در سمت راست، ببینند که پیام هشدار با مقدار مورد نظر صفر شروع نمی‌شود، می‌توانند به راحتی از حمله صرف نظر کنند.

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

با این حال، نئو تصمیم به استفاده از یک نوع جالبی از سیستم سازوکار اجماع دارد و بر این باور است که این روش در مقیاس بیشتر، بهتر به آنها کمک می‌کند. این روش، مکانیسم نیابتی تحمل خطای بیزانسی یا dBFT (Delegated Byzantine Fault Tolerance ) نامیده می‌شود. بیایید ببینیم که چگونه کار می‌کند.

dBFT چیست؟

تصور کنید که کشوری به نام «Blockgeeks» وجود دارد و این کشور دارای شهروندان بسیاری است. هر یک از شهروندان نماینده‌ای را انتخاب می‌کند. کار این نمایندگان، تصویب قوانینی است که شهروندان را خوشحال می‌کند، اگر آنها در کارشان خوب نباشد، شهروندان می‌توانند به سادگی در دور بعد به نماینده دیگری رای دهند.

حال نمایندگان چگونه قوانین را تصویب می‌کنند؟

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

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

حال ببینیم که این ساختار چگونه در بلاکچین کاربرد دارد.

شهروندان، افراد دارای توکن‌های NEO نامیده می‌شوند که آنها را گره‌های عادی می‌خوانیم. نمایندگان، گره‌های حسابداری هستند. برای اینکه یک گره حسابداری باشد، باید معیارهای خاصی داشته باشد از جمله: داشتن تجهیزات خاص، اتصال به اینترنت اختصاصی و مقدار مشخصی ازGAS  (با توجه به مقاله basiccrypto، هزار عدد).

  • «خواسته‌های شهروندان» اساسا تراکنش‌های مختلف ایجاد شده توسط صاحبان توکن است.
  • «قانون» بلوک فعلی است که باید به بلاکچین اضافه شود.
  • «فاکتور خوشبختی» هش بلوک کنونی است.

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

حالت1: سخنران مخرب است

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوی 9

در این حالت، سخنران، پیام مخرب B را به دو نماینده و پیام درست را به یک نماینده ارسال می‌کند. این سناریو می‌تواند به راحتی توسط قانون اکثریت حل شود. دو نماینده مشاهده می‌کنند که هش آنها با سخنران مطابقت ندارد در حالی که یک نماینده هش خود را مطابق با سخنران می‌بیند. با این وجود، 2 مورد از 3 نماینده پیشنهاد را رد می‌کنند و در نتیجه اجماع انجام نشده و  سخنران پس از این حذف می‌شود.

حالت2: یکی از نمایندگان مخرب است

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین10

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

همانطور که دیده می شود، dBFT شکل بسیار جالبی از مکانیسم اجماع ارائه می دهد.

NeoContract: قرارداد هوشمند 2.0

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

سیستم قراردادی هوشمند Neo دارای سه بخش است:

  • NeoVM
  • IneropService
  • Devpack

NeoVM

این یک نمایش تصویری از ماشین مجازی Neo است:

نئو بلاکچین آزمایشگاه بلاکچین ایران بیتکوین11

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

InteropService

InteropService قابلیت استفاده از قراردادهای هوشمند را افزایش می‌دهد و اجازه می‌دهد تا قراردادها به داده‌های خارج از NeoVM بدون به خطر انداختن ثبات کلی و کارایی سیستم دسترسی داشته باشند.

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

  • اطلاعات بلوک
  • اطلاعات تراکنش
  • اطلاعات قرارداد
  • اطلاعات دارایی

 

این سرویس همچنین برای قراردادهای هوشمند، فضای ذخیره‌سازی فراهم می‌کند.

 

DevPack

 

DevPack شامل کامپایلر زبان سطح بالا و پلاگین IDE است. از آنجا که معماری NeoVM بسیار شبیه به JVM و .NET است، قراردادها می‌توانند به زبان‌های دیگر نوشته شوند. بدیهی است که با این کار، زمان زیادی که صرف یادگیری قراردادهای هوشمند توسط برنامه‌نویسان می‌شد، کاهش می‌یابد.

 

ویژگی‌های آتی Neo

  • NeoX: قابلیت اتصال متقابل زنجیره‌ای را فراهم می‌کند.
  • NeoFS: این یک پروتکل ذخیره‌سازی فایل است که از تکنولوژی جدول هش توزیع شده استفاده می‌کند. این پروتکل، به جای نشان دادن فایل‌ها به کمک مسیرشان از هشِ محتویات‌شان استفاده می‌کند. فایل‌های بزرگ به بلوک‌های داده‌ای با اندازه ثابت تقسیم شده و در گره‌های مختلف توزیع و ذخیره می‌شوند.
  • NeoQS:NeoQS (Quantum Safe) یک مکانیزم رمزنگاری مبتنی بر شبکه است. محاسبات کوانتومی تهدید واقعی برای سیستم رمزنگاری مبتنی بر RSA و ECC می‌باشد. این بدان معنی است که اتریوم و بیتکوین که هر دو از ECC استفاده می‌کنند، به‌طور بالقوه در معرض خطر هک شدن با محاسبات کوانتومی قرار دارند. نئو  به دنبال حل این مسئله از طریق NeoQS است.

 

از کجا می‌توانم نئو را خریداری و ذخیره کنم؟

شما می توانید نئو را در پلتفرم‌های معاملاتی زیر خریداری کنید:

و اگر به دنبال کیف پول برای ذخیره نئو خود هستید، می‌توانید از موارد زیر استفاده کنید:

  • کیف پول سخت‌افزاری: Ledger Nano S.
  • کیف پول دسکتاپ: NEON
  • کیف پول وب: Neo tracker
  • کیف پول کاغذی: Ansy

آینده نئو چیست؟

در آخر، آینده قاتل اتریوم چگونه است؟

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

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

منبع: blockgeeks

یونیسف، قراردادهای هوشمند اتریوم را می‌آزماید

مترجم: مریم معصومی راد

 

به گزارش CoinDesk، یونیسف، سال گذشته زمان زیادی را به بررسی تأثیر بلاکچین بر فعالیت‌های این سازمان در راستای بهبود کیفیت زندگی کودکان سراسر دنیا صرف کرده است. فعالیت‌های این مجموعه بخشی از تلاش‌های سازمان ملل متحد در راستای کاربرد بلاکچین در زمینه‌های مختلف است.

یونیسف، قراردادهای هوشمند اتریوم را می‌آزماید بلاکچین

گزارش شده که آخرین بخش از تلاش‌ها، بررسی راه‌های جدید انجام تراکنش‌ها با استفاده از قراردادهای هوشمند را شامل می‌شود. به طور جزئی‌تر، تمرکز اصلی این بررسی‌ها بر به کار بردن قرادادهای چندامضایی (multi-signature) است.

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

کاسای جودا (Qusai Jouda)، توسعه‌دهنده نرم‌افزار یونیسف در پستی در یک بلاگ، در مورد پیشینه این پروژه توضیحاتی ارائه داد: «یکی از راه‌های تغییر ساختار تراکنش‌های آنلاین، کاهش هزینه اعتماد (cost of trust) یا بهبود روش انتقال دارایی‌ها میان طرفین تراکنش روی اینترنت است و UNICEF Ventures، این کار را با استفاده از قراردادهای هوشمند مبتنی بر اتریوم اجرایی کرد تا کارایی، شفافیت و پاسخگویی بهبود یابد.»

منبع: coindesk