خانه / CryptoCurrency / آموزش و توضیحات / آناتومی قرارداد هوشمند

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

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

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

اگرچه مفهوم قراردادهای هوشمند در اواخر سال ۱۹۹۰ توسط Nick Szabo معرفی شده؛

و این مفهوم تا ۲۰۱۵ به همراه Ethereum (اتریوم) آمده است که در واقع اولین پیاده سازی

قرارداد هوشمند می باشد که به واقعیت تبدیل شد.

برای همین به عنوان یک جامعه به تکنولوژی این قراردادهای هوشمند آناتومی قرارداد هوشمند

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

در این پُست قصد داریم به توسعه یک قرارداد در بستر تاریخی آن و یک روش برای

پرداخت به نیازهای جدیدی که برای حفظ اتریوم می باشد بپردازیم.

با تمام اینکه آناتومی قرارداد هوشمند قابل شناسایی هست اما هسته کاری اون در حد

 وعده می باشد که البته اگر در یک محیط انعطاف پذیر مطابق با توسعه دهنده باشد

می شود روی آن کار کرد.

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

تاریخچه مختصری از معماری

در این قسمت ساده ترین فهم اینکه آناتومی قرارداد های هوشمند توسعه یافته می شوند و در

حوزه نرم افزاردر طول زمان تغییر می کنند را می خواهیم بررسی کنیم.

در سال ۱۹۹۰ انقلابی در کامپیوتر های PC اتفاق افتاد که برنامه های سرویس گیرنده و

سرویس دهنده و به دور از پردازنده مرکزی که رابط اتصال تک لایه ای برای برنامه های

کاربردی ایجاد شده است، توسعه دهندگان شرکت ها شروع کردند در حالت های منطقی

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

در ابتدا برنامه های سرویس گیرنده برگذار کننده یک طرف این کسب و کار بود که با کد UI

پایه گذاری شده بود.

ابزاری به نام PowerBuilder و Visual Basic که با هم رقابت داشتند که بهترین چارچوب

کد UI را داشته باشند.

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

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

توسط توسعه دهنده می توان کنترل ارائه موضوع ورودی و قابلیت همکاری با نرم افزار

را ایجاد نمود، رد پای نصب سرویس گیرنده بر روی هارد دیسک کامپیوتر فوق العاده بزرگ

شد که این امر باعث شد عنوانی با “fat clients” به خود بگیرند که دلیل نصب کامل کد از 

کتابخانه بوده است.

به حداقل رساندن استفاده از پهنای باند شبکه که بین داده ها و منطق ردیف، یکی از

اهداف مهم طراحی بود.

زیرا مشتریان زیادی که درخواست داده ها بسیار زیادی داده اند می ایستند که حالا یا

با سقوط سروی یا مسدود کردن شبکه همراه می شود.

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

بهینه سازی

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

که روش های ذخیره شده کمک کرد به بهبود عملکردی که با اجازه دادن به دسترسی

داده ها و اعتبار سنجی برای اجرا بر روی لایه ای از داده ها انجام گیرد.

همچنین با افشا حالت منطقی این سیستم که به انجام ایجاد خواندن و بروز رسانی و

حذف عملیات می شد دیگر نیازی به نوشتن برنامه با SQL نیست.

با گذشت زمان مشگلاتی پدید آمد نظیر وابستگی به روش های ذخیره شده و طول عمر

این کار و کاهش سرعت این سیستم و افزایش سیستم های قفل گذار بر روی آن که

فشار اینترنت به قدری زیاد بود که باعث شد توسعه دهندگان بتوانند به ایجاد برنامه های

کاربردی بپردازند که می تواند نه اینکه ۱۰۰ نفر بلکه به هزاران مشتری به صورت همزمان

پاسخگو باشند، و درحالی که راه حل های فناوری مانند ادغام اتصال پایگاه به داده براساس

RPC کنترل یک شی از راه دور و DCOM ،CORBA و java RMS بودند دیگر آدرس دهی آنها

مشگل اساسی نبود.

بعد از چند سال آزمون و خطا یک الگو جدید متولد شد که از معماری ۳ لایه تشکیل

می شد با حالتی جداگانه که مبنی بر منطق کسب و کار و ردیف داده ها بود، که

ردیف داده ها با سیستم RDBMS همراه بود در حالی که ادغام اتصال به پایگاه داده

هماهنگ بود با انتقالات توزیع شده و هدف کنترل از راه دور منطقی این کسب و کار 

برآورده شد که درواقع ارائه شد برای وب سرور با HTML و JavaScript.

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

نوع آناتومی قرارداد هوشمند

مبحث آناتومی قرارداد هوشمند کمی پیچیده می باشد، ردیف داده ها نشان از قطعات

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

نرم افزار تعریف شده که با توجه به نوع منطق است؛ لایه ارائه کاربر تعریف شده منطق

رابط اعتبار سنجی ورودی، کنترل تمرکز برای هدایت کاربران از طریق جریان ورودی نرم افزار

ارائه داده و  اتصال داده باشد.

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

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

که اجازه آن را در مقیاسی بزرگی از حالت افقی با استفاده از شبکه load balancers بود،

که البته آن را برای برداشت کامل از لایه داده ها و ترکیب مرکب برای ادغام بهتر  در ارائه

تماس این بین ایجاد شد، منطق داده ها ایجاد شده بود از خواندن، بروز رسانی و حذف

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

بر SQL نوشته شده بود، اما داده های بزرگ جدیدا بدون SQL و بلاک چین را شامل می شوند.

با این آناتومی قرارداد هوشمند توسعه دادن کار آسونی بود، یک توسعه دهنده می تواند

به سادگی بر روی نقشه ای از لایه منطق در بالای ردیف فیزیکی بر اساس مقیاس،

امنیت و  عملکرد مورد نیاز خود برنامه خود را پیاده کند.

این جدایی نگران کننده که اجازه لایه مقیاس افقی را میداد با اضافه کردن کامپیوترهای

بیشتر در ردیف داده که به صورت عمودی با بروز رسانی از میزان منابعی که برای یک

کامپیوتر نیاز بود، انجام می گرفت این رویکرد حذف شکننده جفت سازی تنگی بین

سیستم، ساخت پیمانه از نسخه، به اصطلاع (dll hell.) بود.

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

پیاده سازی اولیه قرارداد هوشمند

آناتومی قرارداد هوشمند با طرح اولیه برای پیاده سازی همراه بود. بستر پیاده سازی

قرارداد هوشمند محدود بوده است و نیازمند این بود که این موضوع تکامل یابد.

درواقع بوسیله اتریوم آمدند طرحی را ایجاد کردند که بتوانند اعتماد سازی کنند برای

اینکه در این موضوع ورود پیدا کنند و به عنوان جایی از آن استفاده کنند که وضعیت آن

را بتوانند بررسی کنند.

برای رسیدن به این اهداف طراحی توسعه نرم افزارها پیروی نمی کردند از پیاده سازی

که برای قراردادهای هوشمند ایجاد شده بود، به طور خاصی بود که آن را بر اساس

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

ایجاد کردند که مورد اجرای قطعی و شفافیت موضوع می گشت که مشگل محیط های

غیر اطمینان را برطرف کنند.

در واقع قرارداد در قالب نوشته ای طراحی می گشت که در آن ساختمانی از داده ها

و توابع برای منطق کسب و کار که مجوزی بر اساس آدرس دهی داده می شود؛

قرار داشت.

که این موضوع در قالب کد به تمام گره های بلاک چین که تماس داشت فرستاده

می شود، هنگامی که یک DApp  به درستی برنامه ریزی شده باشد آن را بعنوان

تابعی از قراردادهای هوشمند می فرستد که برای انجام این کار به ABI (برنامه

واسط دوتایی) نیازمند است که بتواند بدرستی فرمت پیام و امضاء دیجیتالی را ارائه

دهد و هنگامی که این کار را بتواند انجام دهد آن را برای تمامی گره های شبکه تکرار می کند.

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

مشگلات DApp

متاسفانه روکردی که بر اساس DApp بود توسعه دهندگان به چالش برخوردند، DApp

در زمان اجرا وابسته به (DNS، IP، URI)، بوده است همچنین برای ایجار رابطه با هم

به عنوان یک پُرت نیازمند آدرس اتریوم از قراردادهای هوشمند است که بر روی

بلاک چین می باشد و براحتی قابل کشف نمی باشد؛ در نهایت نیاز به این می باشد

که توسط یک کلید خصوصی که می تواند به صورت دستی با استفاده از فایل از

بلاک چین یا یک دستگاه امن قرارداده باشد استفاده کرد.

مدل قراردادهای هوشمند فعلی که به صورت عمومی می باشند شبکه های غیر

قابل اطمینانی می باشند که بهینه شده اند، اگر ۱۰۰۰ گره در شبکه وجود دارد،

تابع قرارداد های هوشمند است که از یک DApp تنها ۱۰۰۰ بار در هر زمان از آن

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

و منطق اجرایی قرارداد های هوشمند را اجرا می کند باعث کندتر شدن اجرا در

شبکه می شود که می توان این موضوع را در فضای کسب و کار به صورت محیط های

مورد اعتماد یا نیمه قابل اعتماد دانست.

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

ارائه انعطاف پذیری با Cryptlets

باید یک انتخاب برای معماران نرم افزار که در حال طراحی برنامه های کاربردی هستند

که با استفاده از قرارداد هوشمند می باشد وجود داشته باشد، در حالی که سناریو های

مختلفی در قالب قرارداد هوشمند

وجود دارد که برنامه های کاربردری قابل اجرا بر محیط های اعتماد یا نیمه اعتماد توسعه

و بهره برداری و قابل اجرا گردد.

اگر ما در مورد بلاک چین به این صورت فکر کنیم که لایه های مستقری در معماری

 حالت سه لایه باشد تنها یک زیرمجموعه آن ویژگی قرارداد هوشمند می باشد که

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

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

این منطق کسب و کار یک لایه میانی از بلاک چین می باشد، کد منطقی نیاز به

دسترسی انواع خدمات، گواهی، هویت، پشتیبانی رمزنگاری، قالب بندی داده ها،

پیام های قابل اعتماد، را دارد که توانایی اجرا و اتصال توسط قرارداد هوشمند به بلاک چین

می باشد که در آن قطعه مجزا از قرارداد هوشند می باشد که می توان پشتیبانی آن

را در دست گرفت که این اجرایی شدن به گره های بلاک چین ارائه شده و در قالب لایه

بلاک چین محدود می شوند.

که به این بلوک های در قالب Cryptlets گفته می شود که درواقع محیط اجرایی آن را

همان Cryptlets می نامند.

این Cryptlets می توان بر روی یک کامپیوتر های مختلف و یا فضای ابری، به جای گره

واقعی به عنوان یک نتیجه اجرا شود.

Cryptlets در یک محیط محاسباتی امن اجرا می گردد و حتی رمزنگاری که به طور

مستقیم با  blockchains دارد انجام می گیرد؛

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

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

فاکتورگیری مجدد قرارداد هوشمند

برای اینکه در آناتومی قرارداد هوشمند فاکتورگیری مجد، یک تصویر مشخص از این

موضوع پیدا کنیم می توانید اجزای گسسته جدا کردن قسمت های مختلف قرارداد

هوشمند را بررسی کنیم؛ این اجزای اصلی خواص (استاتیک، متغییرمنطق دارند.

هر کدام از این قطعات را می توان به طور مستقیم به مفاهیم فنی نقشه برداری،

خواص نشان دهنده یک طرح داده، منطق نشان دهنده کد و دفتری که مربوط به

پایگاه داده است ربط داد، هنگامی که هر یک از این اجزا تعریف می شوند، می توان

آنها را در محیط هایی که عملکرد بهینه تری دارند مستقر کرد.

باید بیاد بیاریم که در نسخه امروزی یک قرارداد هوشمند یک مدل استفرار تنها

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

هر قرارداد هوشمند را در بر دارد و نتایج دقیق برای هر مرحله از قرارداد برای تمام

گره ها وجود دارد.

قرارداد به صورت قطعی است به این معنی که هر نسخه از قرارداد خروجی همان

زمانی می باشد که ورودی متناسب و یکسانی به آن داده شده باشد.

(شکل زیر نشان دهنده ایجاد یک قرارداد هوشمند می باشد)

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

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

می توانیم یک پلت فروم که حالت منطقی داشته باشد برای بهینه کردن سیستم

ایجاد کنیم، قرارداهای منطقی شامل پکیج هایی از Cryptlet  می باشند که در

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

(شکل زیر زاویه ای دیگر از قرارداد هوشمند می باشد)

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

قرارداد های هوشمند در حال حاضر یک کامپوزیت زنجیره استحکام می باشند که 

طرح داده آن را بلاک چین تعیین می کند، و با Cryptlet که میزبان منطق برای

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

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

مدل جدید اعتماد

با مقدمه ای از ردیف محاسباتی جدید، در آناتومی قرارداد هوشمند مدل اعتماد جدید را

می توان به برنامه های کاربردی که در بلاک چین مانند بیت کوین، اتریوم که در یک مدل

trustless می باشند که در آن اعتماد در رمزنگاری (رشته هش و امضاهای دیجیتال) و

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

شناسایی شود.

بلاک چین سیستم خاص خود را دارد که می توانند برنامه های کاربردی را بفرستند برای 

permissioned blockchains یا از هسته اجرایی خود بلاک چین استفاده کنند؛ مانند

Hyperledger یا Monax که در محیطی اجرا شوند که از لحاظ trustless از آدرس

شرکت کنندگان به هویت شناخته شده در یک سرویس همانند شوند.

این پدیده را می توان به نام شبکه های نیمه قابل اعتماد نامید، که در آن اشخاص

مختلف درست عمل کنند مدلهای موجودی که در قالب چارچوب های قانونی ارائه

شده است قرار می گیرند. به عنوان مثلا می شود اجماعی برای هرچه نرخ بالاتری

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

Cryptlets معرف مدل های مختلف اعتماد ضمنی می باشد، مکانی که بتوان تمام

خروجی ها را در فضایی امن هویت شناسی کرد که درواقع اگه مجوز توسط شخصه

دیگری صادر شود به این معنیست که آن مجوز از طرف خود وارد این سیستم شده اند؛ 

این مدل اعتماد را می توان با شبکه یا یک (عمومی)  شبکه trustless یا نیمه اعتماد

(کنسرسیوم) استفاده شود.

اساسا یک منطقه سوم ایجاد می گردد که بتوان هر ۲ شبکه را به هم اتصال بگیرند.

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

مزایا و مفاهیم

مزایای زیادی در این چارچوب آناتومی قرارداد هوشمند وجود دارد یکی از مزایا عالی

انتخاب و انعطاف پذیری Cryptlet می باشد که توسعه دهندگان می توانند در هر

بخشی از قراردادهای هوشمند استقرار داشته باشند که یک محیط برای مقیاس،

مدیریت طول عمر، نظارت، شفافیت، و تغییر ناپذیری، باشد، همچنین بدان معنی است

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

هم می توان اعتماد کرد به اطلاعات و اعتماد توزیع در لایه داده ها. لایه منطقی

که وجود دارد، تنها اعتماد اختیاری بین طرفهای ذیربط می باشد. از آنجایی که

بلاک چین به خودی خود منطق وابسته نمی باشد، داده های قابل اعتماد و منطق

در سرتاسر بلاک چین قابل رد و بدل می باشد.

وجود Cryptlet باعث می شود قرارداد محرمانه باقی بماند و یا با کد کلید هایی که

می توان تعریف کرد به آسانی برنامه ریزی کرد.

حتی ممکن بروزرسانی جدیدی از منطق بر اساس داده ها و طرح ها بوجود آمده باشد.

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

حرکت رو به جلو با قرارداد هوشمند

به طور خلاصه، آناتومی قرارداد هوشمند و قرارداد های هوشمند را می توان به

لایه های تجزیه و مستقر به ردیف جداگانه که ارائه خوبی از بلاک چین بوجود میاید

در نظر گرفت که با Cryptlets  می توان مقیاس پذیری آن را در نظر گرفت که اجرای

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

اساس سالیدیتی می باشد (یا به زبان دیگر) قرارداد هوشمند است که ۱۰۰٪ بر

روی بلاکچین، و یا اینجوری بیان کنیم که در ترکیب با یک زنجیره جانبی برای حفظ

حریم خصوصی، این حفظ اتمی از طرح اصلی قرارداد های هوشمند نشاَت می گیرد

که ممکن است مطلوب برای برنامه های کاربردی نامعتبر یا عمومی بلاکچین باشد.

در آناتومی قرارداد هوشمند شمای پایگاه داده و منطق اعتبار سنجی در بلاکچین،

با منطق قرارداد های هوشمند و رفتار در حال اجرا در Cryptlets ارتباط برقرار

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

خدمات ابری انتظار می رود استفاده شود.

یک پایگاه داده UTXO طرف معامله و  Cryptlet میزبانی هوشمند طرح داده قرارداد

می باشد که، منطق و رفتار است.

تمام این کاوش ها چگونگی یکپارچه سازی و معماری بلاکچین ۳ لایه بودن آن و

آناتومی قرارداد هوشمند را می توان تقریبا در شگل زیر مشاهده کرد.

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

برای دانلود فایل pdf این متن کلیک کنید

درباره ی رضا تجری

نگاهی به درآمدهای آنلاین، بررسی ارزهای رمزنگاری شده و فعالیت در معامله بر روی ارزهای رمزنگاری شده

همچنین ببینید

ایران کوین مارکت

ایران کوین مارکت

ایران کوین مارکت بعد از تجربیات و مشاهداتی که طی این مدتی در بین کاربران …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بیست − 5 =