این روزا تب و تاب ارز های دیجیتال دنیارو گرفته، دومین ارز بزرگ دنیای ارز های دیجیتال، اتریوم، ارزی بود که اولین بار ایده قرارداد هوشمند رو ارائه داد، اما این قرارداد هوشمند چیه؟
بزارید برای شروع زیاد پیچیده اش نکنیم و از قرارداد های عادی که تو جامعه وجود دارن شروع کنیم.
قرارداد، یک قول مکتوب بین دو یا چند شخص یا گروه، که دولت (قانون) افراد رو ملزم به رعایت اون قول مکتوب میکنه، مثال هایی زیادی ازش تو دنیای ما وجود داره.
مثال زیاده، تو دنیای ما بدون این قرارداد های سنتی هیچی پیش نمیره،
در صورت اختلاف بین طرفین قرارداد
اگر مطلب بیت کوین من رو خونده باشید، یه جاییش به این اشاره کردم که گریزناپذیر ترین قانون، کد برنامه نویسی غیر قابل تغییره (این به معنی بهترین نیست! در ادامه توضیح میدم)
قرارداد هوشمند یک تکه کد برنامه نویسیه که روی شبکه بلاکچین قرار میگیره و به کمک اون میشه یک سری عملیات مالی (و غیر مالی) از پیش تعیین شده (توسط کد) رو انجام داد.
از اونجایی که این کد روی بلاکچین قرار میگیره، غیر قابل تغییره! و بعد از اینکه میفرستنش روی شبکه (اصطلاحا deploy میشه) فقط از کد پیروی میکنه، دیگه نه از سازنده اش پیروی میکنه و نه ویتالیک بوترین!
البته دقت کنید سازنده میتونه توی کد برای خودش دسترسی تعیین کنه، دسترسی هایی که برای هر شخصی قابل مشاهده است، ولی غیر از اونا هیچ کار دیگه ای نمیتونه انجام بده. (کد قانونه، سازنده میتونه قانون رو به نفع خودش بنویسه اما هیچکس نمیتونه قانون گریزی کنه)
قرارداد هوشمند شروعی بود بر DeFi (decentralized finance)، با اینکه این حوزه سن زیادی نداره اما اونقدر به سرعت در حال رشده که میشه براش یه تاریخچه طولانی نوشت.
ایده قرارداد هوشمند اولین بار توسط نیک سازبو (Nick Szabo) ارائه شد، این شخص کسیه که قبل از بیت کوین، ارز دیجیتال بیت گولد رو معرفی کرد، اما متاسفانه با شکست مواجه شد.
بعد از ایشون، تیم اتریوم به قرارداد های هوشمند جلوه عمل پوشید! (البته قبل اتریوم بیت کوین هم پروتکل هایی برای قرارداد هوشمند در نظر گرفته بود و نتیجه اش هم ارز هایی مثله تتر امنی هست)
به اتریوم خاطر اجرای درست ایده قرارداد های هوشمند، ارز نسل دوم بلاکچین میگن، و بعد از این ارز، تقریبا تمام ارز ها (نسل دو و سه) سعی بر این داشتن که قرارداد های هوشمند رو پیاده سازی کنن، کاردانو، ترون، بی اس سی، سولانا و...
یه سری از ارز ها، برای پیاده سازی قرارداد هوشمند، دقیقا از رو اتریوم کپی کردن و چند تا مزیت اضافه کردن، مثلا بی اس سی دقیقا شبیه به اتریومه ولی کارمزد کمتر و سرعت بیشتری داره، ترون در کنار کارمزد کمتر و سرعت بیشتر، امکانات بیشتری هم در اختیار برنامه نویس قرارداد هوشمند میزاره.
خب این هم خوبه هم بد، خوبه چون
البته در نظر داشته باشید، با زبان های زیادی میشه برای این شبکه ها اسمارت کانتکرت نوشت، معروف ترین هاش Solidity و Vyper هستن، ولی یکی از این دوتا، برای هر سه شبکه کافیه.
در ادامه مفصل راجع به زبان برنامه نویسی صحبت میکنیم.
یه سری دیگه از ارز ها، اومدن زبان ها و روش های خودشون رو پیاده کردن، مثلا کاردانو برای قرارداد هوشمند از Haskell و سولانا از Rust استفاده میکنه.
ولی این ها به اندازه اون ها جا نیوفتادن!
در واقع الان که من دارم این متن رو مینویسم، کادانو هنوز به طور کامل از قرارداد هوشمند پشتیبانی نمیکنه.
سولانا هم رتبه پایینی داره و از اونجایی که یادگیریش چندان به صرفه نیست، طرفدارای زیادی نداره.
میشه گفت شما Rust رو به عنوان یک زبان سخت یاد میگیرید و باهاش فقط میتونید برای سولانا کد بزنید، یا Haskell رو یاد میگیرید فقط برای کاردانو.
البته که یادگیریشون میتونه ارزشمند باشه ولی در حال حاضر solidity پیشتازه.
شما وقتی یه نرم افزار رو کامپیوتر یا موبایلتون نصب میکنید، اون نرم افزار دسترسی های متفاوتی داره، ولی در مجموع، جزوی از دستگاه شماست!
قرارداد های هوشمند هم دقیقا همینن، بعد از دیپلوی شدن روی شبکه، با تمام آدرس ها و بقیه قرارداد های هوشمند میتونن در ارتباط باشن.
ادامه دارد...
اگه دوست دارید به محتوا های بیشتری از من ببینید، خوشحال میشم چنل یوتیوب من (Norotech) رو دنبال کنید. ??