« قراردادهای هوشمند در پروژه های عمرانی وساختمانی »‍‍‍‍‍



تابستان ۱۳۹۷



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


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


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


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


درانتهای همین مقاله مختصرا به نحوه عملکرد تکنولوژی بلاک چین و شبکه های غیر متمرکز می پردازیم و خواهیم دید که این تکنولوژی چطورمی تواند قراردادهای هوشمند وتمام تراکنش های آن را برای همیشه و درامنیت کامل حفظ کند.





1.Smart Contract 2.Cryptocurrency 3.Token 4.Wallet 5.Blockchain



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



دراواخر سال ۲۰۰۸ میلادی ، یک فرد ناشناس با نام مستعار«ساتوشی ناکاموتو» مقاله سفید (۱) خود را که توضیحی ازنحوه عملکرد وجزئیات رمزارز بیت کوین می باشد، منتشرکرد. سپس اولین پایگاه رسمی تکنولوژی بلاک چین یعنی شبکه بلاک چین بیت کوین، در سال ۲۰۱۰ رسما کارخود را شروع نمود. ساتوشی ناکاموتو درسال ۲۰۱۱ اعلام کرد که ازاین به بعد در زمینه دیگری فعالیت خواهد کرد وبرای همیشه ازجمع برنامه نویسان ناپدید شد. اکنون با افزایش قیمت بیت کوین، گفته می شود ارزش بیت کوین های شخصی ساتوشی ناکاموتو، بیش از ده میلیارد دلار است. شاید به همین دلیل بود که او ناشناس ماند تا درصورت موفقیت بیت کوین، مشکلات حقوقی و مالیاتی احتمالی، گریبانگیراو نشود.


درسال ۲۰۱۳ یک نابغه بسیارجوان کانادایی روسی، به نام «ویتالیک بوترین» (۲) با انتشارمقاله سفید خود ، شبکه بلاک چین ِاتریوم (۳) را پیشنهاد داد، دراین شبکه بلاک چین، امکان ثبت قراردادهای هوشمند نیز وجود داشت. با شروع کار شبکه اتریوم درسال ۲۰۱۴ توسعه دهندگان قراردادهای هوشمند عملا توانستند کارخود را آغازکنند. خوانندگان محترم می توانند در لینک (۵۵) مقاله سفید اتریوم را ملاحظه کنند.


رمزارزشبکه اتریوم ، «اتر» (۴) نام دارد. این شبکه با اینکه فراز ونشیب زیادی داشته، ولی مجموعا رشد و محبوبیت بسیارخوبی را کسب کرده است. درحال حاضر، شبکه اتریوم دومین حجم مارکت(۵) رمزارزها را بعد از بیت کوین دارا می باشد. هنگام نوشتن این مقاله، حجم مارکت بیت کوین ۱۲۷ میلیارد دلار و حجم مارکت اتریوم ۴۷ میلیارد دلار است.


جالب است که ویتالیک بوترین متولد سال ۱۹۹۴ میلادی در روسیه است. پدراو نیز یک برنامه نویس کامپیوترمی باشد. زمانی که او شش ساله بود همراه خانواده اش به کانادا مهاجرت کردند. ویتالیک درسن ۱۷ سالگی توسط پدرش با بیت کوین آشنا شد و درسال ۲۰۱۳ وقتی فقط ۱۹ ساله بود، مقاله سفید اتریوم را منتشر کرد. او تلاش کرد کمبودهای بیت کوین را در اتریوم رفع کند و شاید امکان ثبت قراردادهای هوشمند در یک شبکه بلاک چین ، بزرگترین دستاورد اتریوم باشد.


لازم به ذکراست که اولین بار درسال ۱۹۹۴ بعنی سال تولد ویتالیک، ایده پردازی برای قراردادهای هوشمند، توسط دانشمند کامپیوتر و رمز نگاری، نیک سابو، مطرح شد. ولی همانطور که قبلا تشریح شد، درآن زمان اساسا تکنولوژی بلاک چین برای تحقق این ایده‌ وجود نداشت.


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


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


ایده های شبکه «ایااس» علاوه بر تمرکز روی سرعت بیشترنسبت به شبکه اتریوم، کمک به برنامه نویسان است تا بتوانند با زبان برنامه نویسی قدیمی سی پلاس پلاس(۸)، قراردادهای هوشمند نیز بنویسند و مجبورنباشند از زبان های مخصوص مثل زبان سولیدیتی(۹) استفاده کنند. ضمنا برای موضوعاتی مثل هزینه(۱۰) نوشتن و ثبت روی شبکه بلاک چین، ایده های جدیدی را پیگیری کرده اند.





1.White Paper 2.Vitalik Buterin 3.Ethereum 4.Ether 5.Market Cup
6.EOS 7.Block One 8.C++ 9.Solidity 10.Gas Price

55.https://www.soliset.com/55



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



سال ها قبل درایران، با ظهور نرم افزارهایی مثل سَپ (۱) و ایتبس(۲)۰ عملا وجود کامپیوترها برای تحقیق و تدریس دردانشکده های عمران، ضروری شد. همچنین نقش این نوع نرم افزارهای تخصصی، برای استفاده درعلوم کاربردی و مهندسی، برکسی پوشیده نیست. مسلما هرگونه تاخیردرتهیه ویا معرفی این نوع نرم افزارهای کلیدی و پیشرو، بدنه مهندسی کشور را ازدستاوردهای بزرگِ علوم کامپیوتری محروم می کند.


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


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


به دلایلی که ذکر شد، دراخبار بلاک چین گاهی با پروژه هایی برخورد می کنیم که شرایط خوبی در تکنیک خود دارند ولی متاسفانه از محتوا و کاربرد عملی تهی هستند. شاید به همین دلیل مثلا شرکت بلاک وان، امسال و درابتدای کار خود، برای ایده های مناسبِ قراردادهای هوشمند که بتوانند روی شبکه «ایاس» اجرا شوند، جایزه ها وهزینه های هنگفتی را متحمل می شود. در لینک (۵۵) می توانید فعالیت های این شرکت را پیگیری کنید.


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


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


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







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



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


رمزارزهایی که شبکه منحصربفرد بلاک چین ندارند، توکن (۱) نامیده می شوند. توکن ها روی یک شبکه بلاک چین درحال کار ثبت می شوند، و تراکنش های این توکن ها، درهمان شبکه بلاک چین ذخیره می شود. مثلا شبکه بلاک چین اتریوم، علاوه براینکه کلیه تراکنش های رمزارز خود را (که اتر نامیده می شود) ذخیره می کند، این امکان را به کاربران می دهد که آنها نیز توکن مخصوص خود را با نوشتن یک قراردادهوشمند، روی شبکه ثبت کنند و پس از آن ، تراکنش های این توکن ها نیز روی شبکه اتریوم ذخیره خواهد شد.


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


این تحول ویژه درابتدا «آی سی او» (۲) ها بودند، که روش و تکنیک مدرنی برای جذب سرمایه پروژه ها و شرکت ها می باشند. این روش متکی و مبتنی بر قراردادهای هوشمند وتوکن ها توسعه پیدا کرد. هنگام نگارش این مقاله بیش از هزار و ششصد رمز ارز درمارکت رسمی کریپتوکارنسی ها، در حال معامله می باشند. البته تعداد بسیار زیادی از آنها توکن هستند و شبکه مستقل بلاک چین ندارند، وعمدتا این توکن ها روی بلاک چین اتریوم ثبت شده اند.


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


معمولا در روش «آی سی او» حضورسرمایه گذاران در قسمت های مدیریتی و فنی پروژه ، عملا حذف می شود. این موضوع شاید برای مسئولین پروژه امتیاز محسوب شود، ولی گاهی همین نکته تهدیدی برای اتمام و یا تکمیل پروژه می باشد. به هرحال ضروری است که «آی سی او» ها، قبل از سرمایه گذاری، از منظرهای مختلف، کاملا بررسی شوند.


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


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


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





1.Token
2.ICO - Initial Coin Offering



آماده سازی وثبت قراردادهای هوشمند دربلاک چینِ اتریوم



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


انواع زبان های برنامه نویسی برای ماشین مجازی اتریوم «ای وی ام»، زبان سولیدیتی (۲) (که شباهت هایی با زبان سی و جاوا اسکریپ دارد) ، زبان سِرپنت (۳) ( که شبیه زبان پایتون است) ، زبان ال ال ال (۴) ، زبان موتان (۵) و زبان آزمایشگاهی و درحال تکمیل وایپر(۶) می باشند. البته بیش ازهمه ، زبان سولیدیتی برای تنظیم انواع قراردادهای هوشمند توصیه شده است. ازبقیه زبان های مذکور، گاها و فقط درموارد خاص استفاده می شود.


درهنگام نگارش مقاله، کاربران از نسخه شماره ۲۴ - ۴ - ۰ زبان سولیدیتی استفاده می کنند. این زبان مخصوص شبکه اتریوم توسعه یافته است و برای آشنایی با این زبان برنامه نویسی، می توانید ازلینک (۵۵) استفاده کنید. گاهی سوال می شود چرا باید ماشین مجازی اتریوم «ای وی ام» زبان مخصوص خود را داشته باشد؟


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


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


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


کامپایلر مخصوص سولیدیتی ریمیکس (۸) است و امکانات بسیار خوبی دراختیار برنامه نویس می گذارد. ریمیکس اولین توصیه دراین زمینه است. ضمنا امکان تست قراردادهای هوشمند تکمیل شده ، در چند محیط شبیه سازی شده ، وجود دارد. مطلب دیگر این که خواندن شبکه اتریوم ( و همه شبکه های بلاک چین ) مجانی و رایگان است ولی تراکنش یا ثبت و اجرای قراردادهای هوشمند روی شبکه اتریوم ، هزینه ای (۹) بصورت اتر دارد.


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


پس از تکمیل قرارداد و انجام همه تست های لازم ، فایل مربوط در محیط میست (۱۰) که متصل به شبکه اصلی اتریوم است ، اجرا می شود و برای همیشه ( تا زمانی که شبکه اتریوم فعال است) جاودانه شده و تمام تراکنش های قرارداد مذکور، مستمرا درشبکه ثبت و ذخیره خواهد شد. البته انجام و ثبت هیچ تراکنشی روی شبکه رایگان نیست ولی خواندن همه تراکنش های انجام شده ، همیشه رایگان خواهد بود.


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


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





1.EVM 2.Solidity 3.Serpent 4.LLL 5.Mutan
6.Vyper 7.Node 8.Remix 9.Gas Price 10.Mist

55.https://www.soliset.com/55



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



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


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


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


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


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


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


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


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







نحوه عملکرد بلاک چین ..... و کلام آخر



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


دریک شبکه بلاک چین وقتی تعدادی تراکنش (درسراسرجهان) انجام شد، مثلا بعد از چند دقیقه

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


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


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


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


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


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


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


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


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


و کلام آخر


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


البته درحوزه تکنولوژی بلاک چین (که عمده بحث این مقاله بود) ایرانی های زیادی فعال شده اند ولی متاسفانه تمرکز این افراد بیشتر روی خرید و فروش رمزارزها و همچنین ماینینگ و درآمدهایی از این نوع است. و کمتر فعالیتی روی قراردادهای هوشمند و حتی «آی سی او» ها و توکن های اختصاصی ، شاهد هستیم.


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


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






1.Miner
2.Block
55.https://www.soliset.com/55