مقالات اتریوم
معرفی فناوری اتریوم Ethereum
آشنایی با فناوری های مرتبط با اتریوم
برای اغلب برنامه نویسان، یادگیری یک پلاتفرم، زبان یا چارچوبِ کاریِ جدید یک وظیفه همیشگی است که در طول سابقه کاری خود بارها انجام داده اند. اما ابتکار در این الگوی کاری امری متفاوت است. شبکه توافق جمعی و غیرمتمرکز بلاکچین، که معروف ترین کاربرد آن در بیتکوین بوده است، در میان اغلب متخصصین فناوری شناخته شده نیست و تفاوت آن با فناوریهایی که تاکنون مورد استفاده قرار گرفته اند, از چشم عموم مردم پنهان مانده است.
ما در اینجا خطوط کلی فناوریهای کلیدی که برای یک شبکه توافق جمعی غیرمتمرکز مورد نیاز است را برای شما ترسیم خواهیم کرد.
رمزنگاری کلید عمومی
رمزنگاری “کلید عمومی” به دسته ای از روش های رمزنگاری تعلق دارد که دو کلید متفاوت ایجاد می کند: یک کلید خصوصی که تنها در اختیار مالک است و دوم کلید عمومی که در دسترس همگان قرار دارد.
این کار چند امتیاز دارد: اول اینکه به همه اجازه میدهد تا با کلید عمومی به رمز نگاری اطلاعات و داده ها دست بزنند در حالیکه این رمزنگاری تنها با کلید خصوصی، قادر به رمزگشایی است. دوم اینکه دارنده کلید خصوصی فقط وقتی می تواند یک قطعه اطلاعات را به امضا برساند که مورد تایید هرکسی که دارنده کلید عمومی است قرار گیرد، بدون اینکه لازم باشد از کلید خصوصی اطلاعاتی به دیگران بدهد. این ویژگی دوم برای سیستم های حسابرسی استفاده می شود و پایه ای برای ارسال و نقل وانتقالات مالی.
تابع هش (Hash) رمزنگارانه
یک تابع هش، تابعی است که قطعهای از اطلاعات را با هر اندازه ای گرفته و آنرا روی قطعه دیگری از اطلاعات با یک اندازه ثابت مانند 1 مگابایت یا 500 کیلوبایت ترسیم میکند، با یک تابع هش, دو هش مجزا با طول 128 بیت ایجاد خواهد شد. یک تابع هش رمزنگارانه، تابعی است که این تابع را اجرا کرده اما همچنین باید نیازمندی مهم دیگر را برآورده کند و آنرا به روشی انجام دهد که هیچ اطلاعاتی براساس داده ورودی بدست داده نشود (یعنی قابل بازگشت نیست)، این بدان معناست که یک تغییر کوچک در داده های ورودی, یک هش خروجی کاملا متفاوت ایجاد خواهد کرد، و این هش را نمی توان محاسبه کرد مگر با استفاده از تابع هش، و احتمال بسیار اندکی وجود دارد که دو ورودی متفاوت، یک هش یکسان ایجاد کند.
شبکه همتا به همتا
شبکه های همتا به همتا، برخلاف مدل کلینت/سرور، از شبکه ای از کامپیوترها تشکیل شده که مستقیما به یکدیگر متصل بوده بدون اینکه هیچ درخواستی (request) به یک سرور مرکزی ارسال کنند. تمامی کامپیوترهایی که در این شبکه مشارکت دارند «همتا» (peer) در نظر گرفته شده و موقعیت برابری با یکدیگر در شبکه دارند. شبکه های همتا به همتا کلا متکی هستند بر دگرخواهی وبه اشتراک گذاری منابعی که دست کم از خود شبکه اتخاذ می کنند.
فناوری های اقتصادی رمزی
بلاکچینها
یک بلاکچین به صورت فیزیکی یک نوع پایگاه داده است که برای استفاده در یک DCN طراحی شده است. این می تواند هر نوع اطلاعاتی را در خود نگاه داشته و برای نحوه بروزرسانی اطلاعات، ضوابط و قواعدی تنظیم می کند. ویژگی اولیه آن این است که درتکه های مجزایی به نام بلاک (Block) به روز رسانی می شود و این تکهها با استفاده از هش های محتوای بلاک قبلی به هم زنجیرشده اند. یک بلاکچین نه تنها شامل اطلاعاتی است که در پایگاه داده ذخیره شده است، بلکه همچنین شامل هر تغییری است که درتاریخچه این پایگاه داده صورت گرفته است. این یک تاریخچه کاملا حفاظت شده ایجاد می کند که بدون تغییر بلاک بعدی نمی تواند تغییر یابد. یک کلید خصوصی همیشه یک نقل و انتقال یا درخواست برای تغییر وضعیت پایگاه داده را امضا می کند و نام امضا کننده در بلاکچین ذخیره می شود.
اثبات کار
اثبات کار در اصل سیستمی است برای جلوگیری از اسپم و روشی است ساده برای اثبات اینکه شما «احتمالا» شمار زیادی ازعملیات ریاضیاتی را انجام داده اید. در اغلب سیستم هایی که از تابع هش رمزنگارانه استفاده می شود، “اثبات کار” نیز گنجانده شده است. با استفاده از یک قطعه اختیاری از داده ها (مانند فهرستی از نقل و انتقالات و سرفصل یک بلاک)، شما باید قطعه دوم داده ها را بیابید و وقتی با قطعه اول ترکیب شود، یک هش تولید می شود که ویژگیهای خاصی دارد (مانند تعدادی صفرهای پشت سرهم). چون غیرممکن است بتوان قطعه دوم اطلاعات را پیش بینی کرد، پس به صورت تصادفی دادههای موجود را بررسی کرده تا قطعهای که برای تولید هش نیاز دارید را بیابید.
فناوری اتریوم
ماشین مجازی اتریوم, اختراع پروژه اتریوم است. این ماشین مجازی طوری طراحی شده تا توسط تمامی مشارکت کنندگان دریک شبکه همتا به همتا اجرا شود. هم کدهای قابل اجرا و هم داده را می توان در یک بلاکچین خواند و نوشت و امضاهای دیجیتالی را تایید کرد. این ماشین قادر است به روشی شبیه ماشین تورینگ، کد را اجرا کند. این ماشین فقط وقتی کد را اجرا می کند که یک پیام با تایید امضای دیجیتالی دریافت کند و اطلاعات ذخیره شده در بلاکچین می گوید که آیا کد را باید اجرا کرد یا خیر.
اتریوم یک شبکه همتا به همتا است و هر همتایی یک کپی یکسانی از پایگاه داده بلاکچین را ذخیره می کند و یک ماشین مجازی اتریوم را اجرا کرده تا وضعیت پایگاه داده را حفظ کرده یا تغییر دهد. اثبات کار در فناوری بلاکچین با ایجاد یک بلاک جدید که نیازمند اثبات کار همه اعضا است صورت می گیرد. توافق زمانی صورت میگیرد که همتایان تشویق شوند که همیشه طولانی ترین زنجیره در بلاک ها را در بلاکچین با توضیح علامت رمزی با ارزش “اتر” بپذیرند.
این به ما فناوری می دهد که نه با مدل سرور/کلینت مطابقت دارد و نه شبکه همتا به همتای سنتی. به خاطر ماهیت توزیعی ومتکی بر امنیت رمزنگاری، اتریوم می تواند به عنوان یک شخص ثالث عمل کند که قادر است بدون نیاز به اعتماد طرفین و یا استنتاج از دیگران داوری کند.