
قرارداد هوشمند، کد برنامه نويسي روي يک شبکه غيرمتمرکز مانند بلاکچين است و شرايط يک معامله خاص را تعريف ميکند. همچنين با دريافت وروديهاي مشخص، وظايف محوله و يک سري دستورات را بدون نياز به واسطه بين طرفين اجرا ميکند.
قرارداد هوشمند، کد برنامه نويسي روي يک شبکه غيرمتمرکز مانند بلاکچين است و شرايط يک معامله خاص را تعريف ميکند. همچنين با دريافت وروديهاي مشخص، وظايف محوله و يک سري دستورات را بدون نياز به واسطه بين طرفين اجرا ميکند.
قراردادهای هوشمند قابلتغيير نيست و از آنها به عنوان قرارداد ياد ميشود و دقيقاً مانند توافق بين طرفين عمل ميکند. زماني که يک قرارداد هوشمند بر روي بلاکچين اجرا ميشود ديگر امکان توقف و يا تغيير درآن وجود ندارد. شخصي که کد آن را برنامه نويسي کرده هم نميتواند آن را تغيير دهد.
به زبان ساده ميتوان گفت قرارداد هوشمند يک پروتکل ميان دو يا چند نفر است. در اين قرارداد بر اساس توافقات از پيش تعيين شده ميبايست سر موعد مقرر، عملياتي به صورت خودکار انجام شود. در قرارداد هوشمند در صورت تحقق تعهدات يکي از طرفين، بهصورت خودکار تعهد طرف ديگر را انجام ميدهد. در يک مثال کاربردي و ساده، در قرارداد هوشمند، ميتوان تعيين کرد که اگر به مقدار دلخواه به حسابي (در شبکه زنجيرهبلوک) توکن واريز شود، توکني ديگر که ميتواند سهام يک شرکت، توکني با پشتوانه يک دارايي يا هر چيز ديگر باشد، بهصورت خودکار و بدون دخالت منتشرکننده، ارسال شود.
اساسا، به محض تحقق برخي شرايط خاص، قرارداد هوشمند، دو طرف توافق ميکنند که ارز رمزنگاري شده مبادله کنند. آنها ميتوانند انتقال بيتکوين، پول فيات و مانند آن را به طور خودکار انجام دهند. به عبارتی قرارداد هوشمند در واقع امکان ايجاد تراکنشهاي معتبر بدون واسط را فراهم ميکند.
براي مثال يک شرکت بيمه ميتواند با استفاده از قراردادهاي هوشمند، آزادسازي مطالبات خود را به طور خودکار انجام دهد. همچنین قرارداد هوشمند ميتواند برنامهريزي شود تا هر ساله به مناسبت تولد يک فرد، هديهاي به حساب وي واريز شود. قرارداد هوشمند همچنين مبنايي براي انتقال ارز رمز نگاري شده و توکنهاي ديجيتال است.
در مدلهاي متمرکز طرفين قراردادها شخصاً ضامن انجام تعهدات خود هستند. در این مدل براي هر معامله نياز است که طرفين به يکديگر اعتماد داشته باشند. ممکن است يکي از طرفين، معامله را آغاز کند درحالي که طرف ديگر از عهد خود سر باز زند. تا زماني که ضامن تحقق تعهدات، خود طرفين معامله باشند، قرارداد هوشمند کامپيوتري نيز دردي را دوا نخواهد کرد.
اينجا بود که فناوري زنجيرهبلوک توانست به ايده قرارداد هوشمند، معنا بخشد. در شبکههاي زنجيرهبلوکي براي هر بندِ يک قرارداد هوشمند يک تحريککننده و يک نتيجه تعيين ميشود. تحريککننده ميتواند پرداخت پول (توکن) و انجام خدمت باشد که در قرارداد نوشته ميشود؛ اما مهمتر از آن نتيجه است. بلافاصله پس از تحقق تحريککننده با ضمانت (اعضای) شبکه زنجيرهبلوکي، نتيجه محقق ميشود؛ بدون آنکه نياز باشد طرف سمت متعهد دوم کاري انجام دهد.
درحالحاضر پرکاربردترين پلتفرم براي تعريف قراردادهاي هوشمند اتريوم است. البته بايستي دانست به گفته بنيانگذار اتريوم، ويتاليک بوترين (vitalik buterin) اين پلتفرم براي ايجاد قراردادهاي هوشمند بهوجود آمده است. به عقيده وي زنجيرهبلوکهايي که تا زمان راهاندازي اتريوم فعاليت ميکردند، عليالخصوص بيتکوين، بسيار صلب و انعطافناپذير بودند. بنابراين، بوترين با اضافه کردن قرارداد هوشمند، کاربردهاي اين فناوري را بهطور چشمگيري توسعه داد.
در واقع قرادادهاي هوشمند چيزي بيش از قوانين تجاري ترجمه شده در نرمافزار نيستند. قراردادهاي هوشمند ميتوانند از فرايندهاي خودکار پشتيباني کنند، که شامل چندين سازمان هستند. روشهاي موجود براي خودکار کردن قوانين تجاري نميتواند همچين کاري کند.
به عبارت ديگر، از آنجا که کد قراردادهاي هوشمند بر بستر بلاکچين اجرا ميشوند، قوانين ميتوانند نه تنها در شرکتي که قرارداد هوشمند را رمزگذاري کرده است، بلکه براي ساير شرکاي تجاري مجاز به حضور در بلاک چين نيز اعمال شوند.
به عبارت ديگر، قرارداد هوشمند کدهايي هستند که آنچه براي آن برنامهريزي شده باشند را انجام ميدهند. در واقع کارکرد آن به طريقه برنامهنويسي آن بستگي دارد. بنابراين اگر قوانين تجارت بد تعريف شده باشد، يا برنامهنويس کار را به درستي انجام ندهد نتيجه مطلوب نخواهد بود.
پس ميتوان گفت يک قرارداد هوشمند، در واقع هوشمند نيست، فقط همانطور که برنامهريزي شده عمل ميکند.
قراردادهاي حقوقي هوشمند با قراردادهاي هوشمند متفاوت است. در واقع قراردادی هوشمند لزوماً به عنوان يک قرارداد از نظر قانوني قابل اجرا نيست. قرارداد حقوقي هوشمند داراي تمام عناصر يک قرارداد قابل اجراي قانوني در حوزه قضايي است. عناصر حقوقی در آن قابل اجرا است و ميتواند توسط دادگاه اجرا شود. بنابراين، گرچه قرارداد حقوقي هوشمند شامل عناصر يک قرارداد هوشمند است، اما هر قرارداد هوشمند، قرارداد حقوقي هوشمند نخواهد بود.
برنامه نويسي با کيفيت و صحت دادههاي موجود در يک قرارداد هوشمند، بسيار مهم است. قوانين قراردادهای هوشمند، پس از وضع، غيرقابل تغيير هستند و پس از نوشتن قرارداد، هیچکس نميتواند آن را تغيير دهند. بنابراين اگر دادهها درست نباشند قرارداد هوشمند نميتواند به درستي کار کند.
دادهها براي اجرا به زنجيرههاي بلوک هدايت شده و براي اجراي قرارداد هوشمند از منابع خارجي وAPIها استفاده ميشود.
اوراکل اطلاعات خارجي را فراهم ميکند و در اختيار قراردادهای هوشمند قرار ميدهد تا بتواند کار خود را انجام دهد. اوراکل يک منبع داده است که پل ارتباطي بين قراردادهاي هوشمند و ديگر منابع خارجي است. اوراکلها دادههاي منابع خارجي را از طريق API ها بازيابي و تاييد ميکنند.
دادههاي مورد نياز قراردادهاي هوشمند، ميتواند شامل اطلاعاتي درباره قيمت برخي تجهيزات، اطلاعات آبوهوا و يا غيره باشد. در واقع، قراردادهاي هوشمند ميتوانند بر اساس اطلاعات خاصي که از منبع اطلاعات در جريان است، اجرا شوند.
اوراکل ميتواند مبتني بر سخت افزار يا نرم افزار باشد. به عنوان مثال يک اوراکل سخت افزاري، ممکن است يک سنسور RFID در يک کانتينر باشد که اطلاعات مربوط به مکان را به طرفين قرارداد انتقال ميدهد.