پس از ارائه بیت کوین در سال ۲۰۰۹ بحثهای زیادی در مورد ارزشمند بودن یا نبودن آن شکل گرفته بود و بسیاری از افراد هنوز فناوری بلاکچین و کاربردهای آن را درک نمیکردند. در چنین فضایی، یک جوان ۱۹ ساله مفهومی به نام قرارداد هوشمند را به دنیا معرفی کرد که از فناوری بلاکچین استفاده میکرد تا نهادهای واسطه را از تمامی قراردادهای مالی و غیرمالی حذف کند. توسعه بلاکچین اتریوم و راهاندازی قرارداد هوشمند در آن باعث شد موج عظیمی از کاربردهای جدید در بلاکچین تعریف شود اما علی رغم پیشرفتهای صورت گرفته، مفهوم قرارداد هوشمند آنچنان که باید، واضح نیست.
قرارداد هوشمند چیست ؟
«قرارداد هوشمند» (Smart Contract) به یک قطعه کد برنامهنویسی گفته میشود که در بلاکچین ذخیره شده است و با دریافت تراکنش از سمت کاربران کدهای خود را اجرا میکند. کدهای نوشته شده در قرارداد هوشمند شامل شرطها و عملکردهای متقابل با آنها است و در صورتی که شرطها برقرار شوند، عملکردهای متناظر آنها به طور خودکار اجرایی میشوند. برای اینکه به شکل ساده این مفهوم را توضیح بدهیم از یک مثال ساده برای قراردادهای سنتی و هوشمند استفاده میکنیم.
فرض کنید بانکی در ازای دریافت یک مقدار طلا، نصف ارزش ریالی روز آن به کاربران خود وام میدهد. در این صورت، بانک یک قراردادی تنظیم میکند که در آن شرایط قرارداد شامل مشخصات شخص وامگیرنده، مقدار طلای سپردهگذاری شده، مقدار ریال دریافت شده مشخص است. کاربر در این فرآیند طلای خود را در اختیار بانک قرار میدهد و در مقابل، رسید سپردهگذاری طلا را به همراه نصف ارزش روز طلای سپردهگذاری شده دریافت میکند. بانک از مراجع رسمی تعیین قیمت طلا برای مشخص نمودن قیمت لحظهای استفاده میکند.
در این مثال، کاربر با اعتماد به سیستم بانکی، طلای خود را در اختیار بانک قرار میدهد و نصف ارزش ریالی روز آن ریال دریافت میکند. زمانی که کاربر بخواهد طلای خود را دریافت کند باید مقدار ریالی دریافت شده را به همراه قرارداد سپردهگذاری خود به بانک ارائه دهد. در این میان بانک نیز کارمزدی برای فراهم آوردن این امکان از کاربر دریافت میکند. این مثال، یک مثال خوب از یک قرارداد سنتی است. اگر شرایط حاکم بر این قرارداد را در یک قرارداد مطمئن که خود به خود اجرا میشود قرار داده و نهاد واسطه بانک را حذف کنیم در این صورت به قرارداد هوشمند میرسیم.
مثال قرارداد هوشمند
فرض کنید یک قرارداد هوشمند وظیفه دارد در ازای دریافت رمز ارز اتریوم و قفل کردن آن در شبکه، به اندازه نصف ارزش آن، استیبل کوین جدید با نام «دای» (DAI) ایجاد کند. طبیعی است که در قرارداد هوشمند باید پول استفاده شده به صورت دیجیتال باشد و به همین دلیل از اتریوم و دای استفاده میکنیم. در این حالت قرارداد هوشمند شامل شرطها و عملکردهای زیر خواهد بود.
- اگر توکنهای ارز دیجیتال اتریوم توسط کاربری در قرارداد قفل شد، ارزش دلاری آن را با توجه به قیمت لحظهای اتریوم محاسبه کن.
- توکنهای ارز دیجیتال دریافت شده را در قرارداد هوشمند قفل کن و در ازای آن، ارزهای دیجیتال جدید «دای» را که ارزش هر کدام یک دلار است به ارزش نصف توکنهای قفل شده تولید و به کیف پول دیجیتال کاربر واریز کن.
- در صورتی که توکنهای دای از طرف کاربر پس داده شد، اتریومهای قفل شده را آزاد کن و به حساب کاربر انتقال بده.
در این قرارداد، هویت کاربر با کیف پول و کلید خصوصی آن مشخص میشود. بنابراین کاربر در قرارداد هوشمند پول خود را ذخیره میکند و در ازای آن استیبل کوین دریافت میکند و هر زمان که استیبل کوینهای خود را پرداخت کرد، اتریومهای خود را آزاد میکند. در این میان اعتماد کاربران به قرارداد هوشمند به دلیل امنیت بالای فناوری بلاکچین است.

ویژگیهای اساسی قرارداد هوشمند چیست ؟
در بخش قرارداد هوشمند چیست به نوع فعالیت و هدف ایجاد قرارداد هوشمند پرداختیم. فناوری بلاکچین زیرساخت لازم برای اجرای قراردادهای هوشمند را فراهم کرده است. قرارداد هوشمند یک قرارداد خود اجراگر است که در زمان برقراری شرایط تعریف شده، عملکردهای متقابل را اجرا میکند. در مقایسه با قراردادهای معمولی، این قراردادهای ویژگیهایی دارند که باعث متمایز شدن آنها شده است. به صورت کلی این تفاوتها را میتوان در موارد زیر خلاصه کرد.
- حذف نهاد یا شخص واسطه: در فناوری بلاکچین دفتر کل به صورت توزیع شده وجود دارد و نودهای شبکه با استفاده از دستگاههای ماینر خود کدهای بلاکچین را اجرایی میکنند. این مساله باعث میشود که نهاد واسطه برای تایید تراکنشها و ثبت قراردادها نیاز نباشد. در قرارداد سنتی، بدون وجود نهاد واسطه امکان ثبت قرارداد وجود ندارد چرا که ادعای طرفین بدون وجود این نهاد قابل بررسی نیست.
- زمان اجرا: برای اجرای شدن قراردادهای سنتی حتما باید طرفین در مرکز رسمی ثبت قراردادها حضور پیدا کنند و مفاد قرارداد را با نظارت نهاد ناظر تایید کنند. بنابراین، زمان اجرای قرارداد سنتی حداقل یک روز است در حالی که قرارداد هوشمند به صورت آنی و نهایتا در یک دقیقه ثبت و نهایی میشود.
- نوع پرداخت: در قراردادهای سنتی پرداخت به صورت دستی و با توافق طرفین انجام میشود در حالی که پرداخت در قراردادهای هوشمند کاملا به صورت خودکار است و به وسیله کیف پولهای ارز دیجیتال انجام میشود. به نوعی میتوان گفت یکی از ملزومات شرکت در قرارداد هوشمند پرداخت آنی و خودکار هزینههای آن است.
- شفافیت: یکی از ویژگیهای اصلی فناوری بلاکچین شفافیت است که در آن تمامی تراکنشها به صورت عمومی قابل مشاهده است. در قراردادهای سنتی این مساله وجود ندارد و تنها طرفین قرارداد و نهاد واسطه در جریان قرارداد هستند و اگر آنها نخواهند، شخص یا نهاد دیگری قادر به مشاهده قرارداد و مفاد آن نخواهد بود.
- مستندسازی: مستندسازی اطلاعات در قراردادهای هوشمند به صورت خودکار در هنگام تعامل با آن اتفاق میافتد. در قراردادهای سنتی آرشیو کردن اطلاعات به صورت منظم که به راحتی قابل جسنتجو باشد فرآیند سخت و پیچیدهای است.
- امنیت: امنیت اطلاعات در بلاکچین با استفاده از تکنیکهای رمزنگاری تامین میشود در حالی که امنیت اطلاعات در قراردادهای معمولی وایسته به نهاد واسطه است.
- هزینه: هزینه ثبت قراردادهای سنتی به دلیل وجود نهاد مرکزی بالا است اما در بلاکچین ثبت قرارداد فقط با پرداخت هزینه کارمزد شبکه انجام میشود که در بیشتر شبکههای بلاکچینی مقدار آن کمتر از یک دلار است.
- بدون نیاز به اجازه: برای ثبت بسیاری از قراردادهای سنتی افراد باید از نهادهای مختلفی اجازه فعالیت داشته باشند. از طرفی فعالیت به عنوان نهاد واسطه نیازمند داشتن مجوز از سازمانهای دولتی است. در قراردادهای هوشمند هیچ کدام از این دو مورد مطرح نیست. کاربران میتوانند از هر کجای دنیا با هر دین، مذهب، نژاد و زبانی از قراردادهای هوشمند استفاده کنند و هر قراردادی که خودشان نوشتهاند در بلاکچین بارگذاری کنند تا افراد در صورت نیاز از آنها استفاده کنند.
- امضا: امضای قراردادهای سنتی یک فرآیند دستی است در حالی که امضای قراردادهای هوشمند توسط کیف پولهای ارز دیجیتال انجام میشود و امنیت امضای دیجیتال نیز توسط تکنیکهای رمزنگاری تامین میشود.
- استفاده از سایر قراردادها: در شبکههای بلاکچینی قراردادهای هوشمند بارگذاری شده به صورت عمومی در اختیار همه است و کاربران میتوانند در قراردادهای هوشمند جدید خود از قراردادهای قدیمی استفاده کنند. این مساله باعث افزایش شدید سرعت رشد قراردادها در بلاکچین میشود. در دنیای واقعی نهادهای واسطه معمولا با یکدیگر ارتباط چندانی ندارند و برقراری ارتباط نیز با صرف زمان زیاد صورت میگیرد.
نگاه فنی به قرارداد هوشمند
قرارداد هوشمند در شبکه بلاکچین به عنوان یک نوع از تراکنش شناخته میشود. کاربران همانطور که با اتصال کیف پول خود و پرداخت هزینه کارمزد، تراکنشهای خود را در شبکه بلاکچین ثبت میکنند میتوانند مشابه همین روند را برای ثبت قرارداد هوشمند خود در شبکه طی کنند. برای این کار نیاز است که ابتدا قرارداد هوشمند با زبانهای برنامه نویسی مخصوص بلاکچین نوشته شود و پس از آن به شبکه اضافه شود.
حال کاربرانی که میخواهند با قرارداد هوشمند موجود در بلاکچین ارتباط برقرار کنند از کیف پول خود یک تراکنش برای آن قرارداد هوشمند ارسال میکنند و قرارداد طبق کدهای نوشته شده عمل میکند و خروجی را به شبکه و کاربر ارسال میکند. قراردادهای هوشمند میتوانند به گونهای نوشته شوند که شامل کریپتوکارنسی مخصوص به خود باشند و در طی این تراکنشها، انتقال ارزهای مخصوص قرارداد نیز اتفاق بیفتد.
برای درک این موضوع بهتر است به قرارداد هوشمند رمز ارز تتر در شبکه اتریوم توجه کنیم. در این قرارداد شرکت پشتیبان تتر به ازای دلارهایی که در بانکها و موسسات مالی آمریکایی وثیقهگذاری میکند توکنهای تتر با نماد «USDT» تولید میکند. بنابراین، ارزش تتر تا زمانی که وثیقهگذاری به صورت قانونی انجام شده باشد همواره یک دلار است. کاربران برای این که ارزهای دیجیتال خود را از فضای بلاکچین خارج نکنند به این دلار دیجیتال نیاز دارند. بنابراین شما میتوانید با پرداخت ارز فیات در صرافیهای ارز دیجیتال تتر بخرید و از آن برای خرید و فروش سایر ارزها استفاده کنید.
حال مساله اینجاست که کاربران چگونه با قرارداد هوشمند تتر ارتباط برقرار میکنند. در ابتدا، شرکت تتر قرارداد هوشمند مربوط به آن را نوشته و پس از بررسیهای نهایی با انجام یک تراکنش آن را در بلاکچین ذخیره کرده است. این قرارداد یک آدرس خاص در شبکه بلاکچین دارد که کاربران میتوانند از طریق این آدرس به آن دسترسی داشته باشند. باتوجه به این که تعداد زیادی کاربر به طور همزمان میتوانند از قرارداد هوشمند استفاده کنند بنابراین هر کیف پولی که به شبکه اتریوم وصل است یک آدرس مخصوص در این بلاکچین برای قرارداد هوشمند تتر دارد. این ویژگی برای سایر قراردادهای هوشمند نیز برقرار است.
بنابراین، موجودی هر کاربر در قرارداد هوشمند تتر در شبکه اتریوم به صورت جداگانه مشخص است و هر تراکنشی که برای انتقال تتر صورت بگیرد باید از طریق این آدرسها باشد. قرارداد تتر بر روی سایر بلاکچینها نیز قابل بارگذاری است و همین الان در بسیاری از شبکههای بلاکچینی مثل بیت کوین، ترون و بایننس موجود است. اما آدرس مربوط به تتر در هر بلاکچین با بلاکچینهای دیگر متفاوت است. به همین دلیل، هنگام انجام تراکنش انتقال یک توکن ارز دیجیتال باید به آدرسهای مبدا و مقصد دقت کرد. این آدرسها با استانداردهای ساخت توکن در هر شبکه مشخص میشوند. به عنوان مثال، استاندارد شبکه اتریوم برای توکنهای مثلی «ERC-20» است.
ماشین مجازی اتریوم و قرارداد هوشمند
در بلاکچینهایی که از ایجاد قرارداد هوشمند پشتیبانی میکنند از مفهوم «ماشین حالت متناهی توزیع شده» (Distributed State Machine) به جای «دفتر کل توزیع شده» (Distributed Ledger) استفاده میشود. ماشین حالت متناهی یک مدل محاسباتی ریاضی است که در هر زمان خاص میتواند تنها در یک حالت باشد. منظور از حالت شبکه بلاکچین یک ساختار داده بزرگ است که علاوه بر این که کلیه حسابها و موجودیها را در خود نگهداری میکند، حالت ماشین را نیز نگهداری میکند که این حالت ماشین میتواند از یک بلاک به بلاک بعدی تغییر کند و کد دلخواه تعریف شده را اجرا کند.
قوانین خاص تغییر حالت از یک بلاک به بلاک دیگر توسط «ماشین مجازی اتریوم» (Ethereum Virtual Machine | EVM ) تعریف میشود. توجه داشته باشید که دیگر شبکههای پشتیبان قرارداد هوشمند ممکن است ماشین مجازی مربوط به خود را داشته باشند و اینجا به عنوان نمونه از ماشین مجازی اتریوم استفاده میشود. ماشین مجازی اتریوم در واقع یک تابع ریاضی است که برای یک ورودی، یک خروجی قطعی تولید میکند.
میتوان گفت اتریوم یک ماشین انتقال حالت است که ورودیهای آن وضعیت تایید شده قبلی و تراکنشهای معتبر جدید و خروجی آن وضعیت معتبر جدید است. بنابراین، در هر بلاک اتریوم، تراکنشهای معمولی شبکه، تراکنشهای ساخت اتریوم و تراکنشهای ارتباط با قراردادهای هوشمند اجرا میشوند و خروجی آنها به عنوان وضعیت جدید در شبکه ذخیره میشود.
بازار رمزارزها به دلیل ماهیت غیرمتمرکز آن بازاری نوسانی و پرریسک است و فعالیت در آن بدون دریافت آموزشهای لازم ممکن است ضررهای جبرانناپذیری برای تریدرها و سرمایهگذاران وارد کند.

زبان برنامه نویسی قرارداد هوشمند چیست ؟
همانطور که در بخش قرارداد هوشمند چیست گفته شد، قرارداد هوشمند مجموعهای از شرطها و عملکردها است. بنابراین، برای ایجاد قرارداد هوشمند باید شرطها و عملکردهای مورد نظر توسط یک زبان برنامهنویسی نوشته شود. زبانهای برنامهنویسی زیاد برای ایجاد قراردادهای هوشمند وجود دارند که میتوان آنها را از جنبههای مختلف زیر مورد بررسی قرارداد.
بلاکچینهای پشتیبان زبان برنامهنویسی
اگر یک زبان برنامهنویسی بتواند تعداد زیادی از شبکههای بلاکچینی را پشتیبانی کند و امکان نوشتن قراردادها در تعداد زیادی از بلاکچینها برای آن فراهم باشد، در این صورت آن زبان برای توسعهدهندهها مناسبتر خواهد بود. طبیعی است که تمام برنامهنویسها به دنبال یادگیری یک زبان و استفاده از آن در پلتفرمهای مختلف هستند.
ارتباط با سایر زبانهای برنامهنویسی
زبانهای برنامه نویسی قرارداد هوشمند ممکن است هر کدام با سایر زبانهای برنامهنویسی شباهتهایی داشته باشند. دانستن این نکته میتواند به برنامهنویسها کمک میکند تا سختی یا راحتی یادگیری آن زبان را ارزیابی کنند و زبانی را انتخاب کنند که به زبان برنامهنویسی که از قبل بلد هستند نزدیک باشد.
تورینگ کامل (Turing complete)
منظور از تورینگ کامل بودن یک سیستم این است که با استفاده از آن بتوان هر مسالهای که قابل کدنویسی است را حل کرد. بیشتر زبانهای برنامهنویسی در حوزه قراردادهای هوشمند، تورینگ کامل هستند و با استفاده از آنها میتوان انواع قراردادها را بدون هیچ محدودیتی نوشت و اجرا کرد. زبان اسکریپت نویسی بیتکوین تورینگ کامل نیست و به همین دلیل از آن برای ایجاد قرارداد هوشمند استفاده نمیشود. نکته منفی تورینگ کامل بودن این است که دقیقا زمان مشخصی برای اتمام فرآیند در آن وجود ندارد.
در مورد اتریوم به عنوان اولین بلاکچین با قابلیت ایجاد قراردادهای هوشمند، قراردادهای هوشمند به جای اینکه به صورت همزمان اجرا شوند به صورت سریالی اجرایی میشوند و به همین دلیل حلقههای بینهایتی که ممکن است اجرای سایر قراردادهای هوشمند را مسدود کند امکانپذیر نیست. اتریوم با در نظر گرفتن محدودیتهایی برای هزینه تراکنش و تعیین حد بالا برای آن پیچیدگی اجرا را محدود میکند.
تحقیقات نشان میدهد که هر گونه تحلیل ایستا از بانهای تورینگ کامل بسیار محدود و ناقص است. زبانهای تورینگ ناقص که ساخت آنها به خوبی انجام شده، از تحلیل استاتیک بسیار عمیق پشتیبانی میکند و امنیت قراردادهای هوشمند را افزایش میدهد. در نتیحه این تحقیقات، تورینگ ناقص به تدریج به ویژگی برخی از زبانهای قرارداد هوشمند جدید مانند «Vyper» و «Clarity» تبدیل شده است.
پشتیبانی از حلقه
معمولا زبانهای برنامهنویسی تابعی حلقه ندارند. توسعهدهندگان قرارداد هوشمند در صورتی که از این زبانهای برنامهنویسی استفاده میکنند باید بتوانند ابزارهای جایگزین را در زبان برنامهنویسی یاد بگیرند و به نتایج مشابه استفاده از حلقهها برسند. به عنوان مثال، در زبان برنامهنویسی «Clarity» میتوان از «map» یا «fold» به عنوان جایگزینی برای نوشتن حلقه استفاده کرد.
کامپایلری یا مفسری بودن زبان برنامه نویسی
کدهای برنامهنویسی برای اینکه توسط دستگاههای محاسباتی قابل درک باشند باید به زبان سطح پایین ترجمه شوند. «تفسیر» (interpret) و «کامپایل» (compile) دو روش برای انجام این کار است که در روش تفسیر، خط به خط کدها بررسی و اجرا میشوند در حالی که در روش کامپایلری، کل کد نوشته شده به صورت یکجا بررسی شده و سپس اجرا میشود. زبانهای مفسری اغلب حدود پنج تا ده برابر کندتر از بانهای کامپایلری هستند زیرا مفسرها باید خط به خط کد را ترجمه و اجرا کنند.
زبانهای مفسری با حذف نمایش کامپایل شده میانی (مانند بایتکد در EVV برای زبان سالیدیتی) درک اشکالات در کدنویسی را آسان میکند. اشکالات کامپایلری در بلاکچینها میتواند آسیبرسان باشد زیرا حتی اگر کد منبع بدون خطا باشد، برنامه نهایی که به بلاکچین میرسد میتواند حاوی خطا باشد. به طور خلاصه، کدنویسی در زبانهای مفسری ممکن است با خطای کمتری مواجه باشد اما کار کردن با آنها کند است.
در تصویر زیر میتوانید زبانهای برنامهنویسی قراردهای هوشمند مختلف را به همراه ویژگیهای آنها مشاهده کنید.

کاربردهای قرارداد هوشمند چیست ؟
قراردادهای هوشمند قابلیت اجرایی کردن تمام فعالیتها در فضای دیجیتال را دارند به شرط اینکه آن فعالیت را بتوان به صورت دیجیتالی مشخص کرد. به عنوان مثال، در صورتی که بتوان مالکیت خانه و زمین را به صورت توکنهای ارز دیجیتال تعریف کرد، در آن صورت با استفاده از یک قرارداد هوشمند میتوان بنگاه معاملات املاک را مدلسازی کرد و با ایجاد یک بازار مسکن غیرمتمرکز، به خرید و فروش خانه بدون دخالت نهادهای واسطه پرداخت. در این بخش میخواهیم کاربردهای مختلف قراردادهای هوشمند که تا به امروز بسیاری از آنها نیز عملیاتی شده است بپردازیم.
ایجاد توکنهای ارز دیجیتال
یکی از کاربردهای اصلی قراردادهای هوشمند ایجاد توکنهای ارز دیجیتال است. در حالی که به ارز اصلی یک شبکه بلاکچین «کوین» (Coin) گفته میشود، توکن به ارزهای ساخته شده توسط قرارداد هوشمند اطلاق میشود. ساختن توکن در شبکههای بلاکچینی بسیار آسان است. در حال حاضر پروژههای زیادی امکان ساخت توکن بدون دانش برنامهنویسی را برای کاربران فراهم کردهاند. با استفاده از این پروژهها میتوان با تعیین متغیرهایی مثل تعداد کل سکهها و چند متغیر دیگر، توکن ارز دیجیتال ایجاد کرد.
توکنهای ارز دیجیتال مربوط به پروژههای معتبر با استفاده از قراردادهای هوشمند خود پروژه ساخته میشوند و در پروژه مشخص میشود که کاربرد توکنهای پروژه در چه مواردی است. در واقع ارزش توکنهای ارز دیجیتال به خاطر پروژه پشت آنها و کاربرد آنها است. البته توجه داشته باشید که خرید هر ارز دیجیتالی منطقی نیست و توکنهای ارز دیجیتال ممکن است بدون هیچ پشتوانه علمی و عملی ایجاد شده باشند. از جمله معروفترین توکنهای ساخته شده بر شبکه اتریوم میتوان به «تتر» (USDT)، «سلر» (Celr)، «سندباکس» (SAND) و «لینک» (Link) اشاره کرد.
امور مالی غیرمتمرکز
«امور مالی غیرمتمرکز» (Decentralized Finance | DeFi) که با نام دیفای نیز شناخته میشود یکی از اصلیترین کاربردهای قراردادهای هوشمند است. منظور از دیفای تمامی فعالیتهای مالی مثل وامدهی، وامگیری و صرافی است. در کنار این کاربردها، کاربردهای دیگری که مختص قراردادهای هوشمند است نیز در این فضا ایجاد شده است. کشت سود و استخرهای تامین نقدینگی از جمله این کاربردها هستند.
قرارداد هوشمند برای ضرب استیبل کوینهای با پشتوانه دلار مانند تتر استفاده شده است تا خرید و فروش در فضای ارزهای دیجیتال راحتتر شود. برای غیرمتمرکز کردن استیبل کوینها، قراردادهای هوشمند جدید بر مبنای قفل کردن سایر ارزهای دیجیتال مانند اتریوم و بیت کوین ایجاد شده است تا به پشتوانه آن ارزهای با پشتوانه ثابت مانند «دای» ایجاد شود.
پلتفرمهای وامدهی و وامگیری یکی دیگر از پلتفرمهای دیفای هستند که در آن کاربران میتوانند ارزهای خود را به دیگران وام دهند و کارمزد آن را دریافت کنند و در مقابل، دیگر افراد میتوانند با وثیقهگذاری ارزهای دیجیتال خود در شبکه بخشی از آنها را به عنوان وام دریافت کنند. قرارداد هوشمند در این میان برای ذخیره اطلاعات افراد و مقدار وثیقهها استفاده میشود.
صرافیهای غیرمتمرکز یکی دیگر از کاربردهای قراردادهای هوشمند در حوزه دیفای هستند. در این صرافیها از استخرهای نقدینگی برای تامین جفتهای معاملاتی استفاده میشود. کاربران با قراردادن جفت ارزهای دیجیتال خود در این استخرها کارمزد تامین نقدینگی دریافت میکنند و در مقابل افراد دیگر با استفاده از این پلتفرمها به تبدیل توکنهای خود به یکدیگر میپردازند و کارمزد تبدیل را به شبکه پرداخت میکنند. خوبی صرافیهای غیرمتمرکز این است که فعالیت در آنها برای همه کاربران بدون احراز هویت امکانپذیر است.
توکنهای غیر قابل معاوضه NFT
یکی از اصلیترین کاربردهای قراردادهای هوشمند در ایجاد توکنهای غیرقابل معاوضه است. NFTها بر خلاف توکنهای مثلی هر کدام منحصر به فرد هستند و به همین دلیل کاربردهای آنها نیز با یکدیگر متفاوت است. ساخت NFT مشابه با ساخت سایر توکنها و توسط قراردادهای هوشمند انجام میشود. تفاوت بین آنها در استانداردها و ویژگیهایی است که در قراردادهای هوشمند به کار میرود. کاربردهای زیادی برای NFT تعریف شده است که چند نمونه مهم از آنها به صورت زیر است.
- ایجاد آثار هنری و کلکسیونهای دیجیتال
- طراحی آیتمهای منحصر به فرد در بازیهای بلاکچینی و انتقال مالکیت آنها به کاربران
- تعریف مالکیت برای زمینهای مجازی در پروژههای ارز دیجیتال متاورس
- تعریف هویت دیجیتال برای استفاده در فضای وب ۳
- استفاده از NFTها به عنوان وثیقه در پلتفرمهای دیفای
- افزایش کارایی زنجیره تامین

اتوماسیون با استفاده از قراردادهای هوشمند
خودکارسازی (اتوماسیون) فعالیتها یکی دیگر از کاربردهای قرارداد هوشمند است که به دولتها کمک میکند تا با استفاده از آن بسیاری از فعالیتهای خود را در بستر امن بلاکچین انجام دهد. یکی از این فعالیتها ثبت اسناد مربوط به املاک و خودرو و سایر داراییها است. استفاده از چنین سیستمی چندین مزیت عمده دارد.
- با ثبت اطلاعات در بلاکچین و انجام معاملات و تغییر مالکیت از طریق قراردادهای هوشمند، نیروی مورد نیاز برای ثبت قراردادها و به دنبال آن هزینههای دولت کاهش مییابد.
- عدم دخالت نیروهای واسطه در ثبت قراردادها باعث میشود که دستکاری در اطلاعات غیر ممکن شود.
- امنیت اطلاعات به وسیله تکنیکهای رمزنگاری استفاده شده در بلاکچین افزایش مییابد.
- هزینه واسطهگری برای کاربران سیستم به دلیل حذف نهاد واسطه کاهش مییابد.
- در این حالت میتوان از داراییهای ملکی هر شخص اطلاعات کامل داشت و این باعث میشود که عدالت در دریافت مالیات تا حدود زیادی رعایت شود.
برای اینکه بتوان از چنین سیستمی استفاده کرد ابتدا باید امکان تبدیل هر خانه به توکن ارز دیجیتال به وجود بیاید. پس از آن قرارداد هوشمند مربوط به خرید و فروش انتقال مالکیت آماده شده و بر روی بلاکچین بارگذاری شود. برای این منظور میتوان از بلاکچینهای خصوصی با اندک قابلیت مدیریت استفاده کرد تا در صورت لزوم بتوان با دستور نهادهای قضائی تغییراتی در اطلاعات شبکه ایجاد کرد. میتوان از NFT برای مدلسازی خانه در فضای دیجیتال استفاده کرد تا منحصر به فرد بودن هر یک از آنها مشخص باشد. علاوه بر خرید و فروش خانه میتوان سیستم رهن و اجاره را نیز در چنین سیستمی پیاده کرد.
اوراکلها
«اوراکل» (Oracle) به پروژه ارز دیجیتالی گفته میشود که هدف آن تامین اطلاعات دنیای واقعی برای سایر قراردادهای هوشمند است. این پروژهها در ارزهای دیجیتال بسیار مهم هستند و اطلاعات خود را از طریق قراردادهای هوشمند در اختیار دیگر پروژهها به خصوص پروژههای دیفای قرار میدهند. از جمله مهمترین اطلاعات مورد نیاز در این پروژهها قیمت لحظهای داراییها است که در صرافیها و پلتفرمهای وامدهی مورد استفاده قرار میگیرد. پروژههای اوراکل اطلاعات خود را از بسترهای متمرکز دریافت میکنند و به وسیله روشهای مختلفی آنها را صحتسنجی میکنند.
مدیریت زنجیره تامین
یکی از کاربردهای بینظیر قراردادهای هوشمند بلاکچین مربوط به مدیریت زنجیره تامین است. با استفاده از قراردادهای هوشمند میتوان زنجیره تامین را چندین برابر بهبود بخشید. به عنوان مثال میتوان از آن برای ردیابی کالاها در زنجیره تامین به صورت شفاف استفاده کرد. با استفاده از قرارداد هوشمند در زنجیره تامین شرکتها میتوانند موجودی خود را تا کوچکترین (پایینترین) سطح ممکن ردیابی کنند.
این مساله باعث میشود سایر بخشهای یک کسب و کار که به طور مستقیم با زنجیره تامین در ارتباط هستند نیز بهبود یابند. استفاده از قرارداد هوشمند باعث میشود که نیاز به تایید توسط نهادهای واسطه کاهش یابد و از طرفی کلاهبرداری و سرقت نیز کمتر شود. به هر حال برای استفاده از این سیستم شرکتها باید تجهیزات اضافیتری همانند حسگرهای مصنوعی را به زنجیره تامین خود اضافه کنند.

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

معایب قرارداد هوشمند چیست ؟
در بخش قبل و در پاسخ به سوال مزایای قرارداد هوشمند چیست به ۶ ویژگی مهم و تاثیرگذار اشاره کردیم. در این بخش میخواهیم معایب قرارداد هوشمند را بررسی کنیم. به طور کلی میتوان گفت معایب قراردادهای هوشمند در مقایسه با مزایای آنها قابل چشمپوشی است و به همین دلیل روز به روز شاهد گسترش استفاده از قراردادهای هوشمند خواهیم بود.
اشتباه در کدنویسی
قراردادهای هوشمند توسط انسانها طراحی و ایجاد میشوند و به همین دلیل ممکن است دارای اشتباهات و خطاهای فاحشی باشند که هکرها از آنها استفاده کنند و باعث اخلال در فرآیند کار آن شوند. برای حل این مشکل، بسیاری از قراردادهای هوشمند پیش از این که اجرایی شوند توسط تیمهای برنامهنویسی ارزیابی میشوند. علاوه بر این، قبل از اجرایی شدن برنامه نهایی، دموی قرارداد هوشمند برای استفاده توسط عموم ارائه میشود تا مشکلات آن در حین اجرا نیز مشخص شود. بسیاری از پروژههای بزرگ برای کسانی که بتوانند عیبهای اساسی در قرارداد آنها پیدا کنند و به تیم اطلاع بدهند پاداشهای هنگفتی در نظر میگیرند تا در نهایت امنیت قراردادها را به بهترین شکل ممکن تامین شود.
یکی از معروفترین اشتباهات کدنویسی در قراردادهای هوشمند مربوط به جریان DAO است که به عنوان سازمان غیرمتمرکز خودگردان در فضای ارزهای دیجیتال مطرح بود. یک اشتباه ساده در کدهای این قرارداد باعث شد که هکرها بتوانند به قرارداد دستبرد بزنند و بیش از ۵۰ میلیون دلار از داراییهای شبکه را به سرقت ببرند. این اتفاق منجر به فورک شدن شبکه اتریوم و ایجاد اتریوم کلاسیک شد و پروژه اتریوم با حذف چند بلاک فعالیت خود را از بلاکهای قبل از هک ادامه داد.
جنبههای قانونی قرارداد هوشمند
در حال حاضر یکی از مسائل مهم در ارتباط با قرارداهای هوشمند بحث قانونگذاری آنها است. هیچ یک از دولتهای مرکزی تا کنون قراردادهای هوشمند را به صورت رسمی و قانونی قبول نکردهاند و این مساله مانع از گسترش آن شده است. بسیاری از قراردادهای هوشمند مربوط به فضای دیجیتال مثل صرافیهای غیرمتمرکز، پلتفرمهای وامدهی و ایجاد توکنهای مثلی و غیرمثلی ارز دیجیتال نیازی به قانونگذاری ندارند اما کاربردهای مرتبط با دنیای واقعی مثل ثبت اسناد، بنگاه معاملاتی مسکن و خودرو و سامانههای اطلاعات پزشکی بدون قانونگذاری امکان عملیاتی شدن ندارند.
مشکلات امنیتی مربوط به حوزه بلاکچین
خطراتی که به طور کلی حوزه بلاکچین را تهدید میکند برای قراردادهای هوشمند نیز تهدید محسوب میشود. خطراتی مانند حمله 51 درصد که با داشتن بیش از نصفی از توان پردازشی شبکه به وجود میآید و خطراتی مانند ایجاد کامپیوترهای کوانتومی و از کار افتادن تکنیکهای رمزنگاری فعلی همگی جزوی از این مشکلات هستند. در مقابل خطرات نوع اول از تئوری بازیها و مشوقهای اقتصادی استفاده شده است تا کاربران مخرب بیشترین ضربه را از تخریب شبکه ببینند. خطرات نوع دوم نیز با توجه به اینکه همه جنبههای زندگی انسانها را تحت تاثیر قرار میدهند یک مساله عمومی هستند و در صورت کاربردی شدن، سایر فناوریها به خصوص بلاکچین را نیز تغییر میدهند تا دوباره قابلیت خود را حفظ کنند.
آیا ساخت قرارداد هوشمند بدون برنامه نویسی ممکن است ؟
ساخت توکن در بلاکچین با بارگذاری قراردادهای هوشمند انجام میشود. نوشتن قرارداد هوشمند کار سادهای نیست و کاربران علاوه بر این که باید با مفاهیم قرارداد هوشمند و زبان برنامهنویسی قرارداد هوشمند آشنا باشند باید اطلاعات کلی در زمینه برنامه نویسی و کامپیوتر داشته باشند تا بتوانند یک قرارداد هوشمند قدرتمند ایجاد کنند. اما امروزه پلتفرمهایی مانند «StudentCoin» هستند که به کاربران امکان ساخت توکن بدون برنامهنویسی را فراهم میکنند. در چنین سیستمهایی، کاربران تنها با وارد کردن مقادیری مانند تعداد توکنها، نماد توکن و اسم توکن، قرارداد خود را ایجاد و در شبکه بارگذاری میکنند.
طبیعی است که اگر شما به دنبال ساخت توکن کاربردی هستید استفاده از این سیستمها نمیتواند موثر باشد چرا که امکان اعمال ویژگیهای مختلف به قرارداد و تعریف توابع جدید وجود ندارد. مشکل دیگر این قراردادهای هوشمند این است که کاربرانی از آنها استفاده میکنند که دانشی در این حوزه ندارند بنابراین ممکن است کدهای نوشته شده داخل آن دارای باگهای امنیتی باشد
.
کدام بلاکچین ها از ساخت قرارداد هوشمند پشتیبانی میکنند؟
در طبقهبندی انواع ارزهای دیجیتال یکی از دستههای اصلی ارز دیجیتال با نام پلتفرمهای قرارداد هوشمند شناخته میشود که مربوط به بلاکچینهایی است که میتوان در آنها قرارداد هوشمند ایجاد کرد. برای دسترسی به لیست این ارزها میتوانید به سایت «کوینمارکتکپ» مراجعه کنید و از بخش «Categories» دسته «Smart Contracts» را انتخاب کنید. مهمترین پلتفرمهای قرارداد هوشمند به صورت زیر هستند.
- اتریوم
- بایننس
- سولانا
- کاردانو
- آواکس
- الگوراند
- هارمونی وان
مناسبترین بلاکچین برای ساخت قرارداد هوشمند چیست ؟
بلاکچینهای زیادی از ایجاد قرارداد هوشمند پشتیبانی میکنند و توسعهدهندگان میتوانند در هر کدام از آنها ایدههای خود را عملیاتی کنند. اتریوم به دلیل اینکه مبدع قراردادهای هوشمند به حساب میآید، بسیاری از پروژههای ارز دیجیتال را در بستر خود جای داده است اما با گسترش تعداد پروژهها، هزینه کارمزد تراکنشها در این شبکه بسیار بالا رفته است. مقیاسپذیری پایین اتریوم در کنار هزینههای بالای ثبت تراکنش در آن، بسیاری از توسعهدهندگان را به سمت استفاده از سایر بلاکچینها سوق داده است.
در میان سایر بلاکچینها، شبکههایی که با ماشین مجازی اتریوم سازگار هستند (EVM Compatible) با استقبال بیشتری روبهرو شدهاند چرا که انتقال برنامههایی که بر روی شبکه اتریوم فعال هستند بر روی این پروژهها هزینهچندانی ندارد. «پلیگون»، «آواکس»، «بایننس» و «هارمونی وان» از جمله این شبکهها هستند که مقیاسپذیری بسیار بالاتری نسبت به اتریوم دارند و هزینه ثبت تراکنش در آنها پایین است و به همین دلیل توسعهدهندگان این پروژهها را برای ایجاد قراردادهای هوشمند خود در نظر میگیرند.
در میان سایر پروژههای بلاکچینی نیز پروژههای با مقیاسپذیری بالا و سایر ویژگیهای منحصر به فرد در حال گسترش هستند. پروژه سولانا به دلیل مقیاسپذیری بالای آن که در حدود 65 هزار تراکنش در ثانیه است، بلاکچین مناسبی برای پروژه های با درخواست بالا مثل پرداخت و بازیهای بلاکچینی است. الگوراند با مدل خاص خود هم مقیاسپذیری بالایی دارد و هم به دلیل ویژگیهایی مانند فورک نشدن برای ساخت توکنهای NFT بسیار مناسب است. در هر حال پروژهها دائما در حال تغییر هستند و همین مساله باعث تغییر شرایط میشود. به عنوان مثال ایجاد اتریوم ۲ بسیاری از مزیتهای پروژههای بلاکچینی موجود را از بین خواهد برد.
روش کسب درآمد از قرارداد هوشمند چیست ؟
برای این که بتوانید از قراردادهای هوشمند به درآمد برسید چندین روش وجود دارد که همه آنها نیازمند دانش بالای فنی در این حوزه است. بنابراین قبل از اینکه به فکر کسب درآمد از ارزهای دیجیتال باشید به دنبال آموزش ارز دیجیتال به خصوص در حوزه برنامهنویسی قرارداد هوشمند و بلاکچین بروید و مهارت فنی و دانش خود را در این حوزه افزایش دهید. پس از کسب آموزشهای لازم شما میتوانید در یکی از زمینههای زیر فعالیت کنید و به کسب درآمد بپردازید.
- توسعهدهنده قرارداد هوشمند: در این موقعیت شغلی شما وظیفه ساخت قرارداد هوشمند برای شرکتها وسازمانهای مختلف را برعهده میگیرید. در حال حاضر بسیاری از شرکتها به دنبال فعالیت در این حوزه هستند و به همین دلیل بازار کار توسعهدهندگان قرارداد هوشمند در شرایط بسیار خوبی قرار دارد.
- ممیز قراردادهای هوشمند: بسیاری از شرکتها و افراد فعال در حوزه بلاکچین و ارزهای دیجیتال کار ممیزی قراردادهای نوشته شده توسط دیگران را بر عهده دارند. منظور از ممیزی، بررسی کدهای قرارداد هوشمند و دادن نظر کارشناسی در مورد آن است که در طی آن بسیاری از خطاهای قرارداد شناسایی و رفع میشود.
- هکرهای کلاه سفید: هکرهای کلاه سفید افرادی هستند که قراردادهای مختلف را بررسی میکنند تا باگهای امنیتی آنها را شناسایی کنند. معمولا بسیاری از پروژههای ارز دیجیتال پاداش مناسبی برای این دسته از هکرها در نظر میگیرند و به همین دلیل افراد زیادی در این زمینه فعالیت میکنند.
- ایجاد پروژه ارز دیجیتال: در صورتی که شما ایده خوبی در ذهن دارید و میتوانید برای عملی شدن آن نظر سرمایهگذاران مختلف را جذب کنید میتوانید با دانش و مهارت خود به اجرای ایده و کسب درآمد از آن بپردازید.