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



هفدهم آبان ماه ۱۳۹۷



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



Smart Contract & Blockchain >> Smart Blockchain





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



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



هرقرارداد هوشمند ، یک حساب کاربری یا کیف پول Wallet دارد که به آن «والت ِقرارداد» گفته می شود . بخشی از کد نویسی های یک قرارداد هوشمند نیز، شرایط و نحوه تبادل والت ِقرارداد با والت ِکاربران ( یا تبادل با والت قراردادهای هوشمند دیگر) می باشد . به این ترتیب یک قرارداد هوشمند ، مانند کاربران خود می تواند رمزارز و یا توکن های مخصوصی را مبادله کند


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


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



Smart Contract





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



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



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


درسال ۲۰۱۳ یک نابغه جوان کانادایی روسی، به نام «ویتالیک بوترین» با انتشارمقاله سفید خود ، شبکه بلاکچین ِاتریوم را پیشنهاد داد . رمزارزشبکه اتریوم ، «اتر» نام دارد و دراین شبکه غیرمتمرکز ، برای اولین بار امکان ثبت قراردادهای هوشمند فراهم گردید . مسلما امکان ثبت قراردادهای هوشمند در یک شبکه بلاک چین ، بزرگترین دستاورد اتریوم بود و با شروع کار شبکه اتریوم ، عملا توسعه دهندگان قراردادهای هوشمند توانستند درسال ۲۰۱۴ کارخود را آغازکنند . البته لازم به ذکراست که قبلا درسال ۱۹۹۴ بعنی دقیقا سال تولد ویتالیک بوترین ! ایده پردازی برای قراردادهای هوشمند ، توسط دانشمند کامپیوتر و رمزنگاری ، نیک سابو ، مطرح شده بود ، ولی همانطور که قبلا تشریح شد ، درآن زمان اساسا تکنولوژی بلاک چین برای تحقق این ایده‌ وجود نداشت


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



Vitalik Buterin





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



قرارداد هوشمند سازنده بلاک BPSC چگونه کارمی کند و آیا دراین روش ، خطر دوبار خرج کردن Double Spending وجود دارد؟



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


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


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


یک - آیا دراین روش ، خطر دوبار خرج کردن Double Spending وجود دارد؟ این روش مانند یک شبکه همتا به همتای مرسوم عمل نمی کند ولی درعین حال به هیچ نهاد مالی و یا واسطه دیگری احتیاج ندارد . ما بدون پرداخت هزینه وظایف نهاد مالی واسطه را به BPSC می سپاریم . به همین دلیل در این روش خطر دوبار خرج کردن Double Spending وجود ندارد . الگوریتم هایی مثل «اثبات کارPOW» ، «اثبات سهام نمایندگی شده DPOS» و .... هیچ کارائی و جایگاهی نخواهند داشت ، زیرا بلاک ساخته شده توسط BPSC کاملا معتبراست و احتیاجی به اجماع و اثبات ندارد


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


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


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



Block Producer Smart Contract >> BPSC





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



نتیجه گیری و کلام آخر



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


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



Smart Blockchain Without Block Producers & Miners





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



هفدهم آبان ماه ۱۳۹۷