سمارٽ معاهدي جو تعارف

هن آرٽيڪل ۾، اسان ڏسنداسين ته سمارٽ معاهدو ڇا آهن، اهي ڇا آهن، اسان مختلف سمارٽ ڪانٽريڪٽ پليٽ فارمن، انهن جي خاصيتن کان واقف ٿينداسين، ۽ اهو پڻ بحث ڪنداسين ته اهي ڪيئن ڪم ڪن ٿا ۽ اهي ڪهڙا فائدا آڻي سگهن ٿا. هي مواد پڙهندڙن لاءِ تمام ڪارائتو هوندو جيڪي سمارٽ معاهدن جي موضوع کان چڱيءَ طرح واقف نه آهن، پر ان کي سمجهڻ جي ويجهو وڃڻ چاهين ٿا.

باقاعده معاهدو بمقابله. سمارٽ معاهدو

ان کان اڳ جو اسان تفصيلن تي غور ڪريون، اچو ته هڪ مثال وٺون فرقن جو هڪ باقاعده معاهدي جي وچ ۾، جيڪو ڪاغذ تي بيان ڪيو ويو آهي، ۽ هڪ سمارٽ معاهدو، جيڪو ڊجيٽل طور تي نمائندگي ڪيو ويو آهي.

سمارٽ معاهدي جو تعارف

سمارٽ معاهدن جي اچڻ کان اڳ هي ڪيئن ڪم ڪيو؟ تصور ڪريو ماڻهن جي هڪ گروهه جو جيڪي قدرن جي ورڇ لاءِ ڪجهه ضابطا ۽ حالتون قائم ڪرڻ چاهين ٿا، انهي سان گڏ ڏنل قاعدن ۽ شرطن جي مطابق هن تقسيم کي لاڳو ڪرڻ جي ضمانت ڏيڻ لاءِ هڪ خاص ميکانيزم. پوءِ اھي گڏ ٿين، ھڪڙو ڪاغذ ٺاھيو، جنھن تي انھن پنھنجي سڃاڻپ جي تفصيل، شرطون، قيمتون شامل ڪيون، انھن کي تاريخ ڏيو ۽ انھن تي دستخط ڪريو. اهو معاهدو پڻ هڪ قابل اعتماد پارٽي طرفان تصديق ٿيل هو، جهڙوڪ هڪ نوٽري. اڳتي هلي اهي ماڻهو پنهنجي ڪاغذن جي اهڙي ڪاپي کڻي مختلف طرفن ۾ ويا ۽ اهڙا ڪم ڪرڻ لڳا، جيڪي شايد پاڻ ئي معاهدي جي مطابق نه هجن، يعني هنن هڪ ڪم ڪيو، پر ڪاغذ تي اها تصديق ٿيل هئي ته هو ڪجهه ڪن. مڪمل طور تي مختلف. ۽ ڪيئن هن صورتحال مان نڪرڻ لاء؟ حقيقت ۾، گروپ جي ميمبرن مان هڪ کي هن ڪاغذ وٺڻ، ڪجهه ثبوت وٺڻ، ان کي عدالت ۾ آڻڻ ۽ معاهدي ۽ حقيقي عملن جي وچ ۾ تعميل حاصل ڪرڻ جي ضرورت آهي. گهڻو ڪري، هن معاهدي جي منصفانه عملدرآمد حاصل ڪرڻ ڏکيو آهي، جيڪو ناپسنديده نتيجن جي ڪري ٿو.

سمارٽ معاهدي بابت ڇا چئي سگهجي ٿو؟ اهي معاهدي جي شرطن کي لکڻ جي امڪان ۽ انهن جي سخت عمل درآمد لاء ميڪانيزم ٻنهي کي گڏ ڪن ٿا. جيڪڏهن شرطون مقرر ڪيون ويون آهن ۽ لاڳاپيل ٽرانزيڪشن يا درخواست تي دستخط ڪيو ويو آهي، پوء هڪ ڀيرو اها درخواست يا ٽرانزيڪشن قبول ڪئي وئي آهي، اهو هاڻي ممڪن ناهي ته شرطن کي تبديل ڪرڻ يا انهن جي عمل تي اثر انداز ٿئي.

هتي هڪ تصديق ڪندڙ يا هڪ سڄو نيٽ ورڪ آهي، انهي سان گڏ هڪ ڊيٽابيس جيڪو سڀني سمارٽ معاهدن کي محفوظ ڪري ٿو جيڪي سخت تاريخ جي ترتيب ۾ عملدرآمد لاء جمع ڪيا ويا آهن. اهو پڻ ضروري آهي ته هن ڊيٽابيس ۾ سمارٽ معاهدي تي عمل ڪرڻ لاءِ سڀني محرڪ شرطن تي مشتمل هجي. ان کان علاوه، ان کي لازمي طور تي حساب ۾ رکڻ گهرجي ته قيمت جنهن جي تقسيم معاهدي ۾ بيان ڪئي وئي آهي. جيڪڏهن اهو ڪجهه ڊجيٽل ڪرنسي تي لاڳو ٿئي ٿو، ته پوء هي ڊيٽابيس ان کي حساب ۾ رکڻ گهرجي.

ٻين لفظن ۾، سمارٽ معاهدي جي تصديق ڪندڙن کي لازمي طور تي سڀني ڊيٽا تائين رسائي هوندي جيڪا سمارٽ معاهدي تي هلندي آهي. مثال طور، هڪ واحد ڊيٽابيس استعمال ڪيو وڃي هڪ ئي وقت ڊجيٽل ڪرنسي، صارف بيلنس، صارف ٽرانزيڪشن، ۽ ٽائم اسٽيمپ لاءِ اڪائونٽ ڪرڻ لاءِ. پوء، هڪ سمارٽ معاهدي ۾، شرط ٿي سگهي ٿي صارف جي بيلنس هڪ خاص ڪرنسي ۾، هڪ خاص وقت جي آمد، يا حقيقت اها آهي ته هڪ خاص ٽرانزيڪشن ڪئي وئي آهي، پر وڌيڪ ڪجهه به ناهي.

سمارٽ معاهدي جي تعريف

عام طور تي، اصطلاحات پاڻ کي محقق Nick Szabo پاران ٺهرايو ويو ۽ پهريون ڀيرو 1994 ۾ استعمال ڪيو ويو، ۽ 1997 ۾ هڪ مضمون ۾ دستاويز ڪيو ويو جيڪو سمارٽ معاهدي جي بلڪل خيال کي بيان ڪري ٿو.

سمارٽ معاهدن جو مطلب آهي ته قدر جي ورڇ جي ڪجهه آٽوميشن ڪئي وئي آهي، جيڪو صرف انهن شرطن تي منحصر ڪري سگهي ٿو جيڪي اڳ ۾ مقرر ڪيل آهن. ان جي آسان ترين شڪل ۾، اهو ڏسڻ ۾ اچي ٿو هڪ معاهدو سختي سان بيان ڪيل شرطن سان، جيڪو ڪجهه پارٽين طرفان دستخط ڪيو ويو آهي.

سمارٽ معاهدا ٺهيل آهن ٽئين پارٽين تي اعتماد کي گهٽائڻ لاءِ. ڪڏهن ڪڏهن فيصلو سازي جو مرڪز جنهن تي هر شيء تي منحصر هوندو آهي، مڪمل طور تي خارج ٿي ويندو آهي. ان کان سواء، اهڙا معاهدا آڊٽ ڪرڻ آسان آهن. اهو نتيجو آهي اهڙي نظام جي ڪجهه ڊزائن جي خاصيتن جو، پر اڪثر ڪري اسان سمجهون ٿا سمارٽ معاهدي ذريعي هڪ غير مرڪزي ماحول ۽ افعال جي موجودگي جيڪا ڪنهن کي اجازت ڏئي ٿي ڊيٽابيس جو تجزيو ڪرڻ ۽ معاهدي جي عمل جي مڪمل آڊٽ ڪرڻ جي. اهو واپسي واري ڊيٽا جي تبديلين جي خلاف تحفظ کي يقيني بڻائي ٿو جيڪو پاڻ کي معاهدي جي ڪارڪردگي ۾ تبديلين کي شامل ڪندو. سمارٽ معاهدو ٺاهڻ ۽ لانچ ڪرڻ وقت اڪثر عملن جي ڊجيٽلائيزيشن اڪثر ڪري ٽيڪنالاجي ۽ انهن جي عمل درآمد جي قيمت کي آسان بڻائي ٿي.

هڪ سادي مثال - Escrow خدمت

اچو ته هڪ تمام سادو مثال ڏسو. اهو توهان کي سمارٽ معاهدن جي ڪارڪردگي کي سمجهڻ جي ويجهو اچڻ ۾ مدد ڏيندو، انهي سان گڏ بهتر سمجھڻ ۾ ته انهن کي ڪهڙي صورت ۾ استعمال ڪيو وڃي.

سمارٽ معاهدي جو تعارف

اهو پڻ Bitcoin استعمال ڪندي لاڳو ٿي سگهي ٿو، جيتوڻيڪ هن وقت Bitcoin کي اڃا به مشڪل سان سڏيو وڃي ٿو هڪ مڪمل پليٽ فارم سمارٽ معاهدي لاءِ. تنهن ڪري، اسان وٽ ڪجهه خريد ڪندڙ آهي ۽ اسان وٽ هڪ آن لائن اسٽور آهي. هڪ گراهڪ هن اسٽور مان مانيٽر خريد ڪرڻ چاهي ٿو. آسان ترين صورت ۾، خريد ڪندڙ مڪمل ڪري ٿو ۽ ادائيگي موڪلي ٿو، ۽ آن لائن اسٽور ان کي قبول ڪري ٿو، ان جي تصديق ڪري ٿو، ۽ پوء سامان موڪلي ٿو. بهرحال، هن صورتحال ۾ وڏي اعتماد جي ضرورت آهي - خريد ڪندڙ کي مانيٽر جي سڄي قيمت لاء آن لائن اسٽور تي اعتماد ڪرڻ گهرجي. جيئن ته هڪ آن لائن اسٽور خريد ڪندڙ جي نظر ۾ گهٽ شهرت حاصل ڪري سگهي ٿي، اتي هڪ خطرو آهي ته ڪجهه سببن لاء، ادائگي کي قبول ڪرڻ کان پوء، اسٽور سروس کان انڪار ڪري ڇڏيندو ۽ خريد ڪندڙ ڏانهن سامان نه موڪليندو. تنهن ڪري، خريد ڪندڙ سوال پڇي ٿو (۽، مطابق، آن لائن اسٽور هن سوال کان پڇي ٿو) هن صورت ۾ ڇا لاڳو ڪري سگهجي ٿو اهڙي خطرن کي گهٽائڻ ۽ اهڙي ٽرانزيڪشن کي وڌيڪ قابل اعتماد بڻائڻ لاء.

Bitcoin جي صورت ۾، اهو ممڪن آهي ته خريد ڪندڙ ۽ وڪرو ڪندڙ کي آزاديء سان ثالث چونڊڻ جي اجازت ڏيو. اهڙا ڪيترائي ماڻهو آهن جيڪي تڪراري مسئلن کي حل ڪرڻ ۾ ملوث آهن. ۽ اسان جا شرڪت ثالثن جي عام فهرست مان چونڊي سگھون ٿا جن تي اھي ڀروسو ڪندا. اهي گڏجي هڪ 2 مان 3 ملٽي دستخط ايڊريس ٺاهيندا آهن جتي ٽي ڪنجيون آهن ۽ ڪنهن به ٻن ڪنجين سان ٻه دستخط گهربل آهن انهي پتي مان سڪا خرچ ڪرڻ لاءِ. ھڪڙي چاٻي خريد ڪندڙ سان تعلق رکي ٿي، ٻي آن لائن اسٽور سان، ۽ ٽيون ثالث ڏانھن. ۽ اهڙي ملٽي دستخط ايڊريس تي خريد ڪندڙ موڪليندو ضروري رقم مانيٽر لاءِ ادا ڪرڻ لاءِ. هاڻي، جڏهن وڪڻندڙ ڏسي ٿو ته پئسا ڪجهه وقت لاء بلاڪ ڪيو ويو آهي هڪ گهڻن دستخط پتي تي جيڪو هن تي منحصر آهي، هو محفوظ طور تي مانيٽر کي ميل ذريعي موڪلي سگهي ٿو.

اڳيون، خريد ڪندڙ پارسل وصول ڪري ٿو، سامان جو معائنو ڪري ٿو ۽ حتمي خريداري تي فيصلو ڪري ٿو. هو مڪمل طور تي مهيا ڪيل خدمت سان متفق ٿي سگهي ٿو ۽ ٽرانزيڪشن کي پنهنجي چاٻي سان دستخط ڪري سگهي ٿو، جتي هو ملٽي دستخط پتي مان سڪا وڪرو ڪندڙ ڏانهن منتقل ڪري ٿو، يا هو ڪنهن شيءِ سان مطمئن نه ٿي سگهي ٿو. ٻئي صورت ۾، هو هڪ ثالث سان رابطو ڪري ٿو هڪ متبادل ٽرانزيڪشن کي گڏ ڪرڻ لاء جيڪو انهن سکن کي مختلف طريقي سان ورهائيندو.

اچو ته مانيٽر کي ٿورو ڇڪيو ويو ۽ کٽ ۾ ڪمپيوٽر سان ڳنڍڻ لاء ڪيبل شامل نه ڪيو ويو، جيتوڻيڪ آن لائن اسٽور ويب سائيٽ چيو ته ڪيبل کٽ ۾ شامل ٿيڻ گهرجي. پوءِ خريد ڪندڙ ثالث کي ثابت ڪرڻ لاءِ ضروري ثبوت گڏ ڪري ٿو ته هن کي هن صورتحال ۾ ٺڳيو ويو آهي: هو سائيٽ جا اسڪرين شاٽ وٺي ٿو، ميل جي رسيد جو فوٽو وٺي ٿو، مانيٽر تي اسڪريچس جو فوٽو ڪڍي ٿو ۽ ڏيکاري ٿو ته مهر هئي. ڀڄي ويو ۽ ڪيبل ڪڍيو ويو. آن لائين اسٽور، موڙ ۾، ان جا ثبوت گڏ ڪري ٿو ۽ ان کي ثالث ڏانھن منتقل ڪري ٿو.

ثالث هڪ ئي وقت خريد ڪندڙ جي ناراضگي ۽ آن لائن اسٽور جي مفادن کي مطمئن ڪرڻ ۾ دلچسپي رکي ٿو (اهو واضح ٿي ويندو ته بعد ۾ ڇو). اهو هڪ ٽرانزيڪشن ٺاهيندو آهي جنهن ۾ هڪ ملٽي دستخط پتي جا سڪا خريد ڪندڙ، آنلائن اسٽور ۽ ثالث جي وچ ۾ ڪجهه تناسب ۾ خرچ ڪيا ويندا، ڇاڪاڻ ته هو پنهنجي ڪم لاءِ انعام طور پنهنجو حصو وٺندو آهي. اچو ته چئو ته مجموعي رقم جو 90٪ وڪڻندڙ ڏانهن، 5٪ ثالث کي ۽ 5٪ معاوضو خريد ڪندڙ کي. ثالث هن ٽرانزيڪشن کي پنهنجي ڪنجي سان دستخط ڪري ٿو، پر اهو اڃا تائين لاڳو نه ٿو ڪري سگهجي، ڇاڪاڻ ته ان کي ٻن دستخطن جي ضرورت آهي، پر صرف هڪ ان جي لائق آهي. اهو خريد ڪندڙ ۽ وڪرو ڪندڙ ٻنهي ڏانهن اهڙي ٽرانزيڪشن موڪلي ٿو. جيڪڏهن انهن مان گهٽ ۾ گهٽ هڪ سکن کي ٻيهر ورهائڻ لاء هن اختيار سان مطمئن آهي، پوء ٽرانزيڪشن اڳ ۾ دستخط ڪيو ويندو ۽ نيٽ ورڪ تي ورهايو ويندو. ان جي تصديق ڪرڻ لاءِ، اهو ڪافي آهي ته ٽرانزيڪشن جي پارٽين مان هڪ ثالث جي اختيار سان متفق هجي.

اهو ضروري آهي ته شروعات ۾ هڪ ثالث چونڊيو وڃي ته جيئن ٻنهي شرڪت ڪندڙن تي اعتماد ڪيو وڃي. هن معاملي ۾، هو هڪ يا ٻئي جي مفادن کان آزاديء سان ڪم ڪندو ۽ معقول طور تي صورتحال جو جائزو وٺندو. جيڪڏهن ثالث سکن کي ورهائڻ لاءِ ڪو آپشن مهيا نه ڪندو آهي جيڪو گهٽ ۾ گهٽ هڪ شرڪت ڪندڙ کي مطمئن ڪندو، پوءِ، گڏجي اتفاق ڪرڻ سان، خريد ڪندڙ ۽ آن لائين اسٽور ٻنهي جا سڪا موڪلي سگهن ٿا هڪ نئين ملٽي دستخط ايڊريس تي پنهنجا ٻه دستخط رکي. نئين multisignature پتي کي مختلف ثالث سان گڏ ڪيو ويندو، جيڪو ٿي سگهي ٿو معاملي ۾ وڌيڪ قابل ۽ بهتر اختيار مهيا ڪري.

مثال طور هڪ ڪمري ۽ ريفريجيريٽر سان

اچو ته هڪ وڌيڪ پيچيده مثال ڏسو جيڪو سمارٽ معاهدي جي صلاحيتن کي وڌيڪ واضح طور تي ڏيکاري ٿو.

سمارٽ معاهدي جو تعارف

اچو ته چوندا آهن ته ٽي ماڻهو آهن جيڪي تازو ئي ساڳئي ڪمري واري ڪمري ۾ منتقل ٿيا آهن. انهن ٽنهي کي پنهنجي ڪمري لاءِ هڪ فرج خريد ڪرڻ ۾ دلچسپي آهي جيڪا هو گڏجي استعمال ڪري سگهن. انهن مان هڪ رضاڪارانه طور تي فرج خريد ڪرڻ ۽ وڪرو ڪندڙ سان ڳالهين لاءِ گهربل رقم گڏ ڪرڻ لاءِ رضاڪارانه طور تي ڪم ڪيو. بهرحال، اهي صرف تازو هڪ ٻئي سان ملاقات ڪئي ۽ انهن جي وچ ۾ ڪافي اعتماد نه آهي. ظاهر آهي، انهن مان ٻه ٽي کي پئسا ڏئي هڪ خطرو کڻندا آهن. اضافي طور تي، انهن کي وڪڻڻ جي چونڊ ۾ هڪ معاهدي تائين پهچڻ جي ضرورت آهي.

اهي ايسڪرو سروس استعمال ڪري سگهن ٿا، اهو آهي، هڪ ثالث چونڊيو جيڪو ٽرانزيڪشن جي عمل جي نگراني ڪندو ۽ تڪراري مسئلن کي حل ڪندو جيڪڏهن ڪو پيدا ٿئي. پوء، اتفاق ڪيو ويو، اهي هڪ سمارٽ معاهدو ٺاهي ۽ ان ۾ ڪجهه شرطن کي بيان ڪن ٿا.

پهرين شرط اها آهي ته هڪ خاص وقت کان اڳ، چئو هڪ هفتي اندر، لاڳاپيل سمارٽ ڪانٽريڪٽ اڪائونٽ کي هڪ خاص رقم لاءِ مخصوص پتي مان ٽي ادائگيون وصول ڪرڻ گهرجن. جيڪڏهن ائين نه ٿئي، سمارٽ معاهدو عمل کي روڪي ٿو ۽ سڀني شرڪت ڪندڙن کي سکن کي واپس ڪري ٿو. جيڪڏهن شرط پورا ٿي وڃي ته پوءِ وڪڻندڙ ۽ ثالث جي سڃاڻپ ڪندڙ جا قدر مقرر ڪيا وڃن، ۽ شرط چيڪ ڪيو وڃي ته سڀئي شرڪت ڪندڙ وڪڻندڙ ۽ ثالث جي چونڊ سان متفق آهن. جڏهن سڀئي شرطون ملن ٿيون، پوء فنڊ مخصوص پتي تي منتقل ڪيا ويندا. اهو طريقو شرڪت ڪندڙن کي ڪنهن به طرف کان فريب کان بچائي سگهي ٿو ۽ عام طور تي ڀروسو ڪرڻ جي ضرورت کي ختم ڪري ٿو.

اسان هن مثال ۾ اهو ئي اصول ڏسون ٿا ته هر شرط کي پورو ڪرڻ لاءِ قدم قدم قدم مقرر ڪرڻ جي اها صلاحيت توهان کي اجازت ڏئي ٿي ته ڪنهن به پيچيدگيءَ جو نظام ٺاهي سگهي ٿو ۽ اندرين سطحن جي کوٽائي. اضافي طور تي، توهان سمارٽ معاهدي ۾ پهرين شرط جي وضاحت ڪري سگهو ٿا، ۽ صرف ان جي مڪمل ٿيڻ کان پوء توهان ايندڙ شرط لاء پيرا ميٽر مقرر ڪري سگهو ٿا. ٻين لفظن ۾، حالت رسمي طور تي لکيل آهي، ۽ ان لاء پيٽرولر اڳ ۾ ئي ان جي آپريشن دوران مقرر ڪري سگهجي ٿو.

سمارٽ معاهدي جي درجه بندي

درجه بندي لاء، توهان معيار جا مختلف گروپ مقرر ڪري سگهو ٿا. بهرحال، ٽيڪنالاجي جي ترقي جي وقت، انهن مان چار لاڳاپيل آهن.

سمارٽ معاهدن کي انهن جي عمل جي ماحول سان فرق ڪري سگهجي ٿو، جيڪو يا ته مرڪزي يا غير مرڪزي ٿي سگهي ٿو. غير مرڪزيت جي صورت ۾، اسان وٽ تمام گهڻي آزادي ۽ غلطي رواداري آهي جڏهن سمارٽ معاهدن تي عمل ڪيو وڃي.

انهن کي ترتيب ڏيڻ ۽ شرطن کي پورو ڪرڻ جي عمل سان پڻ فرق ڪري سگهجي ٿو: اهي آزاديءَ سان پروگرام ڪري سگهجن ٿا، محدود يا اڳواٽ بيان ڪيل، يعني سختي سان ٽائپ ڪيل. جڏهن سمارٽ ڪانٽريڪٽ پليٽ فارم تي صرف 4 مخصوص سمارٽ معاهدا آهن، انهن لاءِ پيٽرول ڪنهن به طريقي سان مقرر ڪري سگهجن ٿا. ان جي مطابق، انهن کي ترتيب ڏيڻ بلڪل آسان آهي: اسان فهرست مان هڪ معاهدو چونڊيو ۽ پيرا ميٽرز کي پاس ڪريو.

شروعاتي طريقي جي مطابق، اتي خودڪار سمارٽ معاهدو آھن، اھو آھي، جڏھن ڪجھھ حالتون واقع ٿينديون آھن، اھي پاڻ تي عمل ڪندا آھن، ۽ ڪجھ معاھدا آھن جن ۾ شرطون بيان ڪيون ويون آھن، پر پليٽ فارم خود بخود انھن جي مڪمل ٿيڻ جي جانچ نه ڪندو آھي؛ ان لاء الڳ الڳ شروع ڪرڻ جي ضرورت آهي.

ان کان علاوه، سمارٽ معاهدو مختلف آهن انهن جي رازداري جي سطح ۾. اهي يا ته مڪمل طور تي کليل، جزوي طور تي يا مڪمل طور تي رازداري ٿي سگهن ٿيون. جنهنڪري جو مطلب آهي ته ٽئين پارٽي مبصرن سمارٽ معاهدي جي شرطن کي نه ڏسي. بهرحال، رازداري جو موضوع تمام وسيع آهي ۽ اهو بهتر آهي ته ان کي موجوده مضمون کان الڳ الڳ سمجهيو وڃي.

هيٺ اسين موجوده موضوع جي سمجھ ۾ وڌيڪ وضاحت آڻڻ لاءِ پهرئين ٽن معيارن تي ويجھي نظر وجهنداسين.

رن ٽائم ذريعي سمارٽ معاهدو

سمارٽ معاهدي جو تعارف

عمل جي ماحول جي بنياد تي، مرڪزي ۽ غير مرڪزي سمارٽ معاهدي پليٽ فارمن جي وچ ۾ فرق ڪيو ويو آهي. مرڪزي ڊجيٽل معاهدن جي صورت ۾، هڪ واحد خدمت استعمال ڪيو ويندو آهي، جتي صرف هڪ تصديق ڪندڙ آهي ۽ اتي ٿي سگهي ٿو بيڪ اپ ۽ بحالي جي خدمت، جيڪا پڻ مرڪزي طور تي منظم آهي. ھڪڙو ڊيٽابيس آھي جيڪو سمارٽ معاهدي جي شرطن کي مقرر ڪرڻ لاءِ سڀني ضروري معلومات کي ذخيرو ڪري ٿو ۽ قيمت کي ورهائي ٿو جيڪو حساب ۾ ورتو ويو آھي ھن تمام سروس ڊيٽابيس ۾. اهڙي هڪ مرڪزي خدمت هڪ ڪلائنٽ آهي جيڪو ڪجهه خاص درخواستن سان شرطن کي مقرر ڪري ٿو ۽ اهڙن معاهدن کي استعمال ڪري ٿو. پليٽ فارم جي مرڪزي نوعيت جي ڪري، تصديق واري ميڪانيزم شايد گهٽ محفوظ ٿي سگھي ٿي cryptocurrencies جي ڀيٽ ۾.

مثال طور، اسان موبائل ڪميونيڪيشن فراهم ڪندڙ (مختلف موبائل آپريٽر) وٺي سگهون ٿا. اچو ته چئو ته هڪ خاص آپريٽر پنهنجي سرور تي ٽريفڪ جو مرڪزي رڪارڊ رکي ٿو، جيڪو مختلف فارميٽ ۾ منتقل ٿي سگهي ٿو، مثال طور: وائس ڪالز، ايس ايم ايس ٽرانسميشن، موبائل انٽرنيٽ ٽريفڪ ۽ مختلف معيارن جي مطابق، ۽ رڪارڊ پڻ رکي ٿو. صارفين جي بيلنس تي فنڊز. ان جي مطابق، موبائيل ڪميونيڪيشن فراهم ڪندڙ مهيا ڪيل خدمتن جي اڪائونٽنگ ۽ مختلف شرطن سان انهن جي ادائيگي جا معاهدا ٺاهي سگهن ٿا. انهي صورت ۾، شرطن کي ترتيب ڏيڻ آسان آهي جيئن ته "فلاڻي ۽ اهڙي نمبر تي هڪ ايس ايم ايس موڪليو ۽ اهڙي ڪوڊ سان ۽ توهان کي ٽرئفڪ جي تقسيم لاء اهڙيون ۽ اهڙيون حالتون ملنديون."

هڪ وڌيڪ مثال ڏئي سگهجي ٿو: روايتي بئنڪون جن ۾ انٽرنيٽ بئنڪنگ جي وڌايل ڪارڪردگي ۽ تمام سادو معاهدو جهڙوڪ باقاعده ادائگيون، ايندڙ ادائيگين جي خودڪار تبديلي، مخصوص اڪائونٽ ۾ دلچسپي جي خودڪار ڪٽائي وغيره.

جيڪڏھن اسان ڳالھائي رھيا آھيون سمارٽ معاھدن سان غير مرڪزيت واري عمل واري ماحول سان، پوءِ اسان وٽ آھي تصديق ڪندڙن جو ھڪڙو گروپ. مثالي طور، ڪو به هڪ تصديق ڪندڙ بڻجي سگهي ٿو. ڊيٽابيس جي هم وقت سازي جي پروٽوڪول ۽ اتفاق راءِ تائين پهچڻ جي ڪري، اسان وٽ ڪجهه عام ڊيٽابيس آهي، جيڪو هاڻي سڀني ٽرانزيڪشن کي سختي سان بيان ڪيل معاهدن سان گڏ ڪندو، ۽ نه ڪي مشروط سوال، جن جا فارميٽ اڪثر تبديل ٿيندا آهن، ۽ نه ئي کليل وضاحتون. هتي، ٽرانزيڪشن ۾ سخت وضاحتن جي مطابق معاهدي تي عمل ڪرڻ لاء هدايتون شامل هونديون. هي وضاحت کليل آهي ۽ تنهن ڪري، پليٽ فارم استعمال ڪندڙ پاڻ آڊٽ ڪري سگهن ٿا ۽ سمارٽ معاهدن جي تصديق ڪن ٿا. هتي اسان ڏسون ٿا ته غير مرڪزي پليٽ فارم آزاديء ۽ غلطي رواداري جي لحاظ کان مرڪزي پليٽ فارمن کان اعلي آهن، پر انهن جي جوڙجڪ ۽ سار سنڀال تمام گهڻو پيچيده آهي.

سمارٽ معاهدو ترتيب ڏيڻ ۽ شرطن کي پورو ڪرڻ جي طريقي سان

هاڻي اچو ته هڪ ويجھو نظر وجهون ته ڪيئن سمارٽ معاهدا مختلف ٿي سگهن ٿا انهن طريقن ۾ جيڪي اهي مقرر ڪن ۽ شرطن کي پورا ڪن. هتي اسان پنهنجو ڌيان سمارٽ معاهدن ڏانهن ڦيرايو جيڪي بي ترتيب پروگرام ۽ ٽريننگ مڪمل آهن. هڪ Turing-مڪمل سمارٽ معاهدو توهان کي اجازت ڏئي ٿو تقريبن ڪنهن به الگورتھم کي مقرر ڪرڻ جي شرطن جي طور تي معاهدي تي عمل ڪرڻ لاءِ: لکو چڪر، ڪجهه ڪمن کي ڳڻڻ جي امڪانن لاءِ، ۽ ان جهڙو - سڌو سنئون توهان جي پنهنجي اليڪٽرانڪ دستخط الگورتھم ڏانهن. هن معاملي ۾، اسان جو مطلب آهي منطق جي صحيح لکڻ.

اتي به صوابديدي سمارٽ معاهدا آهن، پر ٽريننگ مڪمل نه آهن. ھن ۾ شامل آھن Bitcoin ۽ Litecoin پنھنجي اسڪرپٽ سان. هن جو مطلب اهو آهي ته توهان ڪنهن به ترتيب ۾ صرف ڪجهه خاص عملن کي استعمال ڪري سگهو ٿا، پر توهان هاڻي لوپس ۽ پنهنجا الگورتھم نه لکي سگهو ٿا.

ان کان علاوه، سمارٽ ڪانٽريڪٽ پليٽ فارمز آھن جيڪي اڳ ۾ بيان ڪيل سمارٽ معاھدن تي عمل ڪندا آھن. انهن ۾ شامل آهن Bitshares ۽ Steemit. Bitshares وٽ واپار، اڪائونٽ مينيجمينٽ، پليٽ فارم جي خود انتظام ۽ ان جي پيٽرولن لاءِ سمارٽ معاهدن جو هڪ سلسلو آهي. Steemit هڪ اهڙو ئي پليٽ فارم آهي، پر اهو هاڻي ٽوڪن جاري ڪرڻ ۽ واپار تي ڌيان نه ڏئي رهيو آهي، جهڙوڪ Bitshares، پر بلاگنگ تي، يعني اهو مواد کي ذخيرو ۽ پروسيس ڪري ٿو غير مرڪزي انداز ۾.

ثالث ٽريننگ-مڪمل معاهدن ۾ شامل آهن Ethereum پليٽ فارم ۽ RootStock، جيڪو اڃا تائين ترقي هيٺ آهي. تنهن ڪري، هيٺ اسين ايٿيروم سمارٽ معاهدي پليٽ فارم تي ٿورو وڌيڪ تفصيل سان رهنداسين.

شروعاتي طريقي سان سمارٽ معاهدو

شروعات جي طريقي جي بنياد تي، سمارٽ معاهدي کي گهٽ ۾ گهٽ ٻن گروپن ۾ ورهائي سگهجي ٿو: خودڪار ۽ دستياب (خودڪار نه). خودڪار ٿيل حقيقتن جي خاصيت آهي ته، سڀني سڃاتل پيٽرولر ۽ شرطن کي ڏنو ويو آهي، سمارٽ معاهدو مڪمل طور تي خودڪار طور تي عمل ڪيو ويندو آهي، اهو آهي ته، ان کي ڪنهن به اضافي ٽرانزيڪشن موڪلڻ ۽ هر ايندڙ عمل تي اضافي ڪميشن خرچ ڪرڻ جي ضرورت ناهي. پليٽ فارم پاڻ وٽ سمورو ڊيٽا آهي حساب ڪرڻ لاءِ ته سمارٽ معاهدو ڪيئن پورو ٿيندو. اتي منطق بي ترتيب نه آهي، پر اڳ کان مقرر آهي ۽ اهو سڀ ڪجهه اڳڪٿي ڪري سگهجي ٿو. اهو آهي، توهان اڳ ۾ اندازو لڳائي سگهو ٿا هڪ سمارٽ معاهدي تي عمل ڪرڻ جي پيچيدگي، ان لاء ڪجهه قسم جي مسلسل ڪميشن استعمال ڪريو، ۽ ان جي عمل درآمد لاء سڀ عمل وڌيڪ موثر آهن.

سمارٽ معاهدن لاءِ جيڪي آزاديءَ سان پروگرام ٿيل آهن، عملدرآمد خودڪار نه آهي. اهڙي سمارٽ ڪانٽريڪٽ کي شروع ڪرڻ لاءِ، عملي طور تي هر قدم تي توهان کي هڪ نئين ٽرانزيڪشن ٺاهڻ جي ضرورت آهي، جنهن کي ايندڙ ايگزيڪيوشن اسٽيج يا ايندڙ سمارٽ ڪانٽريڪٽ جو طريقو سڏيو ويندو، مناسب ڪميشن ادا ڪريو ۽ ٽرانزيڪشن جي تصديق ٿيڻ جو انتظار ڪريو. عملدرآمد ڪاميابيءَ سان مڪمل ٿي سگھي ٿو يا نه، ڇاڪاڻ ته سمارٽ ڪانٽريڪٽ ڪوڊ صوابديدي آھي ۽ ڪجھ غير متوقع لمحات نمودار ٿي سگھن ٿا، جھڙوڪ ھڪ ابدي لوپ، ڪجھ پيرا ميٽرز ۽ دليلن جي کوٽ، اڻ سڌريل استثنا وغيره.

Ethereum اڪائونٽس

Ethereum اڪائونٽ جا قسم

اچو ته ڏسو ته ايٿيروم پليٽ فارم تي ڪهڙي قسم جا اڪائونٽ ٿي سگهن ٿا. هتي صرف ٻه قسم جا اڪائونٽ آهن ۽ ٻيو ڪو به اختيار ناهي. پهرين قسم کي صارف اڪائونٽ سڏيو ويندو آهي، ٻيو هڪ معاهدو اڪائونٽ آهي. اچو ته ڄاڻون ته اهي ڪيئن مختلف آهن.

صارف اڪائونٽ صرف اليڪٽرانڪ دستخط جي ذاتي ڪنجي ذريعي ڪنٽرول ڪيو ويندو آهي. اڪائونٽ جو مالڪ ECDSA (Elliptic Curve Digital Signature Algorithm) الگورٿم استعمال ڪندي اليڪٽرانڪ دستخط لاءِ پنهنجو اهم جوڙو ٺاهي ٿو. صرف هن چيڪ سان دستخط ٿيل ٽرانزيڪشن هن اڪائونٽ جي حالت کي تبديل ڪري سگهن ٿا.

سمارٽ ڪانٽريڪٽ اڪائونٽ لاءِ هڪ الڳ منطق مهيا ڪئي وئي آهي. اهو صرف اڳواٽ بيان ڪيل سافٽ ويئر ڪوڊ ذريعي ڪنٽرول ڪري سگهجي ٿو جيڪو مڪمل طور تي سمارٽ معاهدي جي رويي کي طئي ڪري ٿو: اهو ڪجهه خاص حالتن ۾ پنهنجي سکن کي ڪيئن منظم ڪندو، ڪهڙي صارف جي شروعات تي ۽ ڪهڙي اضافي حالتن ۾ اهي سڪا ورهايا ويندا. جيڪڏهن پروگرام ڪوڊ ۾ ڊولپرز طرفان ڪجهه نقطا مهيا نه ڪيا ويا آهن، مسئلا پيدا ٿي سگهن ٿيون. مثال طور، هڪ سمارٽ معاهدو هڪ خاص رياست حاصل ڪري سگهي ٿو جنهن ۾ اهو ڪنهن به استعمال ڪندڙن کان وڌيڪ عمل جي شروعات کي قبول نٿو ڪري. انهي صورت ۾، سڪا اصل ۾ منجمد ٿي ويندا، ڇاڪاڻ ته سمارٽ معاهدو هن رياست کان ٻاهر نڪرڻ لاء مهيا نه ڪندو آهي.

Ethereum تي اڪائونٽ ڪيئن ٺاهيا ويا آهن

صارف اڪائونٽ جي صورت ۾، مالڪ آزاد طور تي ECDSA استعمال ڪندي هڪ اهم جوڙو ٺاهي ٿو. اهو نوٽ ڪرڻ ضروري آهي ته Ethereum بلڪل ساڳيو الورورٿم استعمال ڪري ٿو ۽ بلڪل ساڳيو ايليپيٽڪ وکر برقي دستخطن لاءِ Bitcoin، پر پتو ٿورڙي مختلف انداز ۾ ڳڻيو ويندو آهي. هتي، ڊبل هيشنگ جو نتيجو هاڻي استعمال نه ڪيو ويو آهي، جيئن Bitcoin ۾، پر 256 بٽس جي ڊيگهه تي ڪيڪڪ فنڪشن سان سنگل هيشنگ مهيا ڪئي وئي آهي. گھٽ ۾ گھٽ اھم بٽ نتيجن جي قيمت مان ڪٽي ويا آھن، يعني گھٽ ۾ گھٽ اھم اھم 160 بٽ آئوٽ ھش ويل جي. نتيجي طور، اسان کي Ethereum ۾ هڪ پتو ملي. حقيقت ۾، اهو 20 بائيٽ وٺندو آهي.

مهرباني ڪري نوٽ ڪريو ته Ethereum ۾ اڪائونٽ جي سڃاڻپ ڪندڙ هيڪس ۾ انڪوڊ ٿيل آهي بغير چيڪسم لاڳو ڪرڻ، Bitcoin ۽ ٻين ڪيترن ئي سسٽم جي برعڪس، جتي ايڊريس انڪوڊ ٿيل آهي بنيادي 58 نمبر سسٽم ۾ چيڪسم جي اضافي سان. ان جو مطلب اهو آهي ته توهان کي محتاط رهڻ جي ضرورت آهي جڏهن Ethereum ۾ اڪائونٽ جي سڃاڻپ ڪندڙ سان ڪم ڪندي: جيتوڻيڪ سڃاڻپ ڪندڙ ۾ هڪ غلطي جي ضمانت آهي ته سکن جي نقصان جي ڪري.

هتي هڪ اهم خصوصيت آهي ۽ اها آهي ته عام ڊيٽابيس جي سطح تي هڪ صارف کاتو ان وقت ٺاهيو ويندو آهي جڏهن هو پهرين ايندڙ ادائيگي کي قبول ڪري ٿو.

هڪ سمارٽ معاهدو اڪائونٽ ٺاهڻ هڪ مڪمل طور تي مختلف طريقو آهي. شروعات ۾، استعمال ڪندڙن مان هڪ سمارٽ معاهدي جو سورس ڪوڊ لکي ٿو، جنهن کان پوءِ ڪوڊ ايٿيريم پليٽ فارم لاءِ خاص مرتب ڪندڙ جي ذريعي گذري ٿو، پنهنجي ايٿيريم ورچوئل مشين لاءِ بائيٽ ڪوڊ حاصل ڪري ٿو. نتيجو بائيٽ ڪوڊ ٽرانزيڪشن جي هڪ خاص فيلڊ ۾ رکيل آهي. اهو تصديق ڪندڙ جي اڪائونٽ جي طرفان تصديق ٿيل آهي. اڳيون، هي ٽرانزيڪشن سڄي نيٽ ورڪ ۾ پروپيگنڊا ڪئي وئي آهي ۽ سمارٽ ڪانٽريڪٽ ڪوڊ رکي ٿو. ٽرانزيڪشن لاء ڪميشن ۽، مطابق، معاهدي جي عمل لاء، شروعات ڪندڙ جي اڪائونٽ جي بيلنس مان ڪڍيو ويو آهي.

هر سمارٽ معاهدو لازمي طور تي پنهنجي تعمير ڪندڙ تي مشتمل آهي (هن معاهدي جو). ٿي سگهي ٿو خالي هجي يا ان ۾ مواد هجي. تعمير ڪندڙ تي عمل ڪرڻ کان پوء، هڪ سمارٽ ڪانٽريڪٽ اڪائونٽ جي سڃاڻپ ڪندڙ ٺاهي وئي آهي، جنهن کي استعمال ڪندي توهان سڪا موڪلي سگهو ٿا، ڪجهه سمارٽ معاهدي جي طريقن کي ڪال ڪريو، وغيره.

Ethereum ٽرانزيڪشن جي جوڙجڪ

ان کي صاف ڪرڻ لاء، اسان هڪ Ethereum ٽرانزيڪشن جي جوڙجڪ کي ڏسڻ شروع ڪنداسين ۽ هڪ مثال سمارٽ معاهدو ڪوڊ.

سمارٽ معاهدي جو تعارف

هڪ Ethereum ٽرانزيڪشن ڪيترن ئي شعبن تي مشتمل آهي. انهن مان پهريون، غير،، ٽرانزيڪشن جو هڪ مخصوص سيريل نمبر آهي جيڪو اڪائونٽ سان واسطو رکي ٿو جيڪو ان کي ورهائي ٿو ۽ ان جو ليکڪ آهي. اهو ضروري آهي ته ڊبل ٽرانزيڪشن کي فرق ڪرڻ لاء، اهو آهي، ڪيس کي خارج ڪرڻ لاء جڏهن ساڳئي ٽرانزيڪشن کي ٻه ڀيرا قبول ڪيو وڃي. هڪ سڃاڻپ ڪندڙ استعمال ڪندي، هر ٽرانزيڪشن کي هڪ منفرد هيش قدر آهي.

اڳيان اچي ٿو هڪ فيلڊ جهڙو گئس جي قيمت. اهو اشارو ڏئي ٿو قيمت جنهن تي ايٿيروم بنيادي ڪرنسي کي گئس ۾ تبديل ڪيو ويندو آهي، جيڪو سمارٽ معاهدي جي عمل ۽ مجازي مشين وسيلن جي مختص ڪرڻ لاء ادا ڪرڻ لاء استعمال ڪيو ويندو آهي. هن جو ڇا مطلب آهي؟

Bitcoin ۾، فيس سڌو سنئون بنيادي ڪرنسي طرفان ادا ڪئي ويندي آهي - Bitcoin پاڻ. اهو ممڪن آهي انهن جي حساب ڪرڻ لاء هڪ سادي ميڪانيزم جي مهرباني: اسان ٽرانزيڪشن ۾ موجود ڊيٽا جي رقم لاء سختي سان ادا ڪندا آهيون. Ethereum ۾ صورتحال وڌيڪ پيچيده آهي، ڇاڪاڻ ته اهو ٽرانزيڪشن ڊيٽا جي مقدار تي ڀروسو ڪرڻ تمام ڏکيو آهي. هتي، ٽرانزيڪشن شايد پروگرام ڪوڊ تي مشتمل هجي جيڪو مجازي مشين تي عمل ڪيو ويندو، ۽ مجازي مشين جي هر آپريشن ۾ مختلف پيچيدگي ٿي سگهي ٿي. اهڙا آپريشن پڻ آهن جيڪي ميموري کي متغير لاء مختص ڪن ٿا. انهن جي پنهنجي پيچيدگي هوندي، جنهن تي هر آپريشن جي ادائيگي تي منحصر هوندو.

گئس جي برابر ۾ هر آپريشن جي قيمت مسلسل ٿي ويندي. اهو خاص طور تي متعارف ڪرايو ويو آهي هر آپريشن جي مسلسل قيمت کي طئي ڪرڻ لاء. نيٽ ورڪ تي لوڊ جي بنياد تي، گئس جي قيمت تبديل ٿي ويندي، اهو آهي، کوٽائي جنهن جي مطابق بنيادي ڪرنسي کي ڪميشن ادا ڪرڻ لاء هن معاون يونٽ ۾ تبديل ڪيو ويندو.

Ethereum ۾ ٽرانزيڪشن جي هڪ وڌيڪ خصوصيت آهي: بائيٽ ڪوڊ جيڪو ان ۾ شامل آهي هڪ ورچوئل مشين ۾ عمل ڪرڻ لاءِ تيستائين ان تي عمل ڪيو ويندو جيستائين اهو ڪجهه نتيجو (ڪاميابي يا ناڪامي) سان پورو نه ٿئي يا جيستائين مختص ڪيل سڪن جي هڪ خاص رقم ڪميشن کي ادا ڪرڻ لاءِ ختم ٿي وڃي. . اهو هڪ اهڙي صورتحال کان بچڻ لاء آهي جتي، ڪجهه غلطي جي صورت ۾، موڪليندڙ جي اڪائونٽ مان سڀئي سڪا ڪميشن تي خرچ ڪيا ويا آهن (مثال طور، ڪنهن قسم جي دائمي چڪر هڪ ورچوئل مشين ۾ شروع ٿي)، هيٺ ڏنل فيلڊ موجود آهي - گئس شروع ڪريو (اڪثر ڪري گئس جي حد سڏيو ويندو آهي) - اهو سکن جي وڌ ۾ وڌ مقدار جو تعين ڪري ٿو جيڪو موڪليندڙ هڪ خاص ٽرانزيڪشن مڪمل ڪرڻ لاءِ خرچ ڪرڻ لاءِ تيار آهي.

ايندڙ ميدان سڏيو ويندو آهي منزل جو پتو. ھن ۾ سکن جي وصول ڪندڙ جو پتو يا ھڪڙي مخصوص سمارٽ معاهدي جو پتو شامل آھي جنھن جا طريقا سڏيا ويندا. ان کان پوء ميدان اچي ٿو قدر، جتي سڪن جو مقدار داخل ڪيو ويو آهي جيڪي منزل جي پتي تي موڪليا ويا آهن.

اڳيان هڪ دلچسپ ميدان سڏيو ويندو آهي ڊيٽا، جتي سڄو ڍانچو ٺھي ٿو. هي هڪ الڳ فيلڊ ناهي، پر هڪ مڪمل ڍانچي جنهن ۾ ورچوئل مشين لاءِ ڪوڊ بيان ڪيو ويو آهي. توھان ھتي صوابديدي ڊيٽا رکي سگھو ٿا - ھن لاءِ الڳ ضابطا آھن.

۽ آخري ميدان سڏيو ويندو آهي دستخط. اهو هڪ ئي وقت ۾ هن ٽرانزيڪشن جي ليکڪ جي اليڪٽرانڪ دستخط ۽ عوامي چيڪ ٻنهي تي مشتمل آهي جنهن سان هن دستخط جي تصديق ڪئي ويندي. عوامي ڪي مان توهان حاصل ڪري سگهو ٿا اڪائونٽ سڃاڻپ ڪندڙ هن ٽرانزيڪشن جي موڪليندڙ جو، اهو آهي، منفرد طور تي سسٽم ۾ ئي موڪليندڙ جي اڪائونٽ کي سڃاڻي ٿو. اسان ٽرانزيڪشن جي ڍانچي بابت بنيادي شيء معلوم ڪئي.

سوليڊٽي لاءِ سمارٽ ڪانٽريڪٽ ڪوڊ جو مثال

اچو ته ھاڻي ھڪڙو مثال استعمال ڪندي آسان ترين سمارٽ معاهدي تي ويجھو نظر رکون.

contract Bank {
    address owner;
    mapping(address => uint) balances;
    
    function Bank() {
        owner = msg.sender;
    }

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint amount) public {
        if (balances[msg.sender] >= amount) {
            balances[msg.sender] -= amount;
            msg.sender.transfer(amount);
        }
    }

    function getMyBalance() public view returns(uint) {
        return balances[msg.sender];
    }

    function kill() public {
        if (msg.sender == owner)
            selfdestruct(owner);
    }
}

مٿيان ھڪڙو آسان ماخذ ڪوڊ آھي جيڪو استعمال ڪندڙن جا سڪا رکي سگھن ٿا ۽ انھن کي طلب ڪرڻ تي واپس ڪري سگھن ٿا.

تنهن ڪري، اتي هڪ بينڪ سمارٽ معاهدو آهي جيڪو هيٺين ڪمن کي انجام ڏئي ٿو: اهو ان جي بيلنس تي سڪن کي گڏ ڪري ٿو، اهو آهي، جڏهن هڪ ٽرانزيڪشن جي تصديق ڪئي وئي آهي ۽ هڪ سمارٽ معاهدو رکيل آهي، هڪ نئون اڪائونٽ ٺاهيو ويندو آهي جيڪو ان جي بيلنس تي سڪن تي مشتمل هوندو؛ اهو صارفين کي ياد ڪري ٿو ۽ انهن جي وچ ۾ سکن جي ورڇ؛ بيلنس کي منظم ڪرڻ لاء ڪيترائي طريقا آهن، اهو آهي، اهو ممڪن آهي ٻيهر ڀرڻ، واپس وٺڻ ۽ صارف جي بيلنس کي چيڪ ڪرڻ.

اچو ته سورس ڪوڊ جي هر لائن ذريعي وڃو. هن معاهدي ۾ مسلسل شعبا آهن. انهن مان هڪ، قسم جي پتي سان، مالڪ سڏيو ويندو آهي. هتي معاهدو صارف جو پتو ياد ڪري ٿو جيڪو هن سمارٽ معاهدو ٺاهيو. وڌيڪ، هڪ متحرڪ ڍانچي آهي جيڪو صارف پتي ۽ بيلنس جي وچ ۾ خطوط برقرار رکي ٿو.

اهو بينڪ جي طريقي سان عمل ڪيو ويو آهي - اهو ساڳيو نالو آهي جيڪو معاهدو آهي. ان جي مطابق، هي ان جي تعمير ڪندڙ آهي. هتي مالڪ متغير کي ان شخص جو پتو لڳايو ويو آهي جنهن نيٽ ورڪ تي هي سمارٽ معاهدو رکيو. اهو ئي آهي جيڪو هن تعمير ڪندڙ ۾ ٿئي ٿو. اھو آھي، ھن معاملي ۾ ميسيج بلڪل اھو ڊيٽا آھي جيڪو ورچوئل مشين ڏانھن منتقل ڪيو ويو آھي ۽ ٽرانزيڪشن سان گڏ ھن معاهدي جي پوري ڪوڊ تي مشتمل آھي. مطابق، msg.sender هن ٽرانزيڪشن جو ليکڪ آهي جيڪو هن ڪوڊ کي ميزباني ڪري ٿو. هو سمارٽ معاهدي جو مالڪ هوندو.

جمع ڪرڻ جو طريقو توهان کي اجازت ڏئي ٿو ته سڪن جو هڪ خاص تعداد ٽرانزيڪشن ذريعي ڪانٽريڪٽ اڪائونٽ ۾. انهي صورت ۾، سمارٽ معاهدو، انهن سڪن کي حاصل ڪري، انهن کي پنهنجي بيلنس شيٽ تي ڇڏي ٿو، پر بيلنس جي جوڙجڪ ۾ رڪارڊ ڪيو ويو آهي ته انهن سکن کي ڪير موڪليندڙ هو اهو ڄاڻڻ لاء انهن جو تعلق ڪنهن سان آهي.

ايندڙ طريقي کي واپس سڏيو ويندو آهي ۽ اهو هڪ پيٽرولر وٺندو آهي - سکن جو مقدار جيڪو ڪو ماڻهو هن بئنڪ مان ڪڍڻ چاهي ٿو. اهو چيڪ ڪري ٿو ته ڇا صارف جي بيلنس ۾ ڪافي سڪا آهن جيڪي هن طريقي کي سڏين ٿا انهن کي موڪلڻ لاءِ. جيڪڏهن انهن مان ڪافي آهن، ته سمارٽ معاهدو پاڻ کي سڏيندڙ کي سکن جو تعداد واپس ڏئي ٿو.

اڳيون طريقو اچي ٿو صارف جي موجوده بيلنس کي جانچڻ لاءِ. جيڪو به هن طريقي کي سڏيندو اهو سمارٽ معاهدي ۾ هن بيلنس کي ٻيهر حاصل ڪرڻ لاءِ استعمال ڪيو ويندو. اها ڳالهه نوٽ ڪرڻ جي قابل آهي ته هن طريقي جي modifier ڏسڻ آهي. هن جو مطلب اهو آهي ته طريقو پاڻ کي ڪنهن به طريقي سان پنهنجي طبقي جي متغيرن کي تبديل نٿو ڪري ۽ اهو اصل ۾ صرف پڙهڻ وارو طريقو آهي. هن طريقي کي سڏڻ لاءِ ڪو به الڳ ٽرانزيڪشن نه ٺاهيو ويو آهي، ڪابه فيس ادا نه ڪئي وئي آهي، ۽ سڀئي حساب ڪتاب مقامي طور تي ڪيا ويندا آهن، جنهن کان پوءِ صارف نتيجو وصول ڪري ٿو.

سمارٽ معاهدي جي حالت کي تباهه ڪرڻ لاء مارڻ جو طريقو گهربل آهي. ۽ هتي هڪ اضافي چيڪ آهي ته ڇا هن طريقي جي ڪالر هن معاهدي جو مالڪ آهي. جيڪڏهن ائين آهي، ته پوءِ معاهدو پاڻ کي تباهه ڪري ٿو، ۽ تباهي جو ڪم هڪ پيٽرولر وٺندو آهي - اڪائونٽ جي سڃاڻپ ڪندڙ جنهن کي معاهدو موڪليندو سڀني سکن کي پنهنجي بيلنس تي باقي رهي ٿو. انهي حالت ۾، باقي سڪا خودڪار طور تي معاهدي جي مالڪ جي پتي تي ويندا.

Ethereum نيٽ ورڪ تي مڪمل نوڊ ڪيئن ڪم ڪندو آهي؟

اچو ته اسڪيمياتي طور تي ڏسون ته ڪئين سمارٽ معاهدو ايٿيروم پليٽ فارم تي عمل ڪيو وڃي ٿو ۽ ڪيئن مڪمل نيٽ ورڪ نوڊ ڪم ڪري ٿو.

سمارٽ معاهدي جو تعارف

Ethereum نيٽ ورڪ تي هڪ مڪمل نوڊ گهٽ ۾ گهٽ چار ماڊل هجڻ گهرجن.
پهريون، جيئن ڪنهن به غير مرڪزي پروٽوڪول لاءِ، P2P نيٽ ورڪنگ ماڊل آهي - نيٽ ورڪ ڪنيڪشن لاءِ هڪ ماڊل ۽ ٻين نوڊس سان ڪم ڪرڻ، جتي بلاڪ، ٽرانزيڪشن ۽ ٻين نوڊس بابت معلومات مٽجي وينديون آهن. هي هڪ روايتي جزو آهي سڀني غير مرڪزي cryptocurrencies لاءِ.

اڳيون، اسان وٽ بلاڪچين ڊيٽا کي محفوظ ڪرڻ، پروسيسنگ ڪرڻ، ترجيحي برانچ چونڊڻ، بلاڪن کي شامل ڪرڻ، بلاڪ کي ختم ڪرڻ، انهن بلاڪن کي درست ڪرڻ وغيره لاءِ هڪ ماڊل آهي.

ٽيون ماڊل EVM (Ethereum ورچوئل مشين) سڏيو ويندو آهي - هي هڪ مجازي مشين آهي جيڪا Ethereum ٽرانزيڪشن مان بائيٽ ڪوڊ وصول ڪري ٿي. هي ماڊل هڪ خاص اڪائونٽ جي موجوده حالت وٺي ٿو ۽ حاصل ڪيل بائيٽ ڪوڊ جي بنياد تي ان جي حالت ۾ تبديليون ڪري ٿو. هر نيٽ ورڪ نوڊ تي مجازي مشين جو نسخو ساڳيو هجڻ گهرجي. حساب ڪتاب جيڪي هر Ethereum نوڊ تي لڳن ٿا، بلڪل ساڳيا آهن، پر اهي هڪ غير مطابقت واري انداز ۾ ٿين ٿا: ڪو ماڻهو هن ٽرانزيڪشن کي اڳ ۾ چيڪ ڪري ٿو ۽ قبول ڪري ٿو، اهو آهي، ان ۾ موجود سڀني ڪوڊ تي عمل ڪري ٿو، ۽ ڪو بعد ۾. ان جي مطابق، جڏهن هڪ ٽرانزيڪشن ٺاهي وئي آهي، اهو نيٽ ورڪ تي ورهايو ويندو آهي، نوڊس ان کي قبول ڪندا آهن، ۽ تصديق جي وقت، ساڳئي طريقي سان Bitcoin اسڪرپٽ تي عمل ڪيو ويندو آهي Bitcoin ۾، مجازي مشين جو بائيٽ ڪوڊ هتي جاري ڪيو ويندو آهي.

هڪ ٽرانزيڪشن کي تصديق ٿيل سمجهيو ويندو آهي جيڪڏهن ان ۾ موجود سڀئي ڪوڊ تي عمل ڪيو ويو آهي، هڪ خاص اڪائونٽ جي نئين حالت ٺاهي وئي آهي ۽ محفوظ ڪئي وئي آهي جيستائين اهو واضح ناهي ته اهو ٽرانزيڪشن لاڳو ڪيو ويو آهي يا نه. جيڪڏهن ٽرانزيڪشن لاڳو ٿئي ٿي، پوء هن رياست کي نه رڳو مڪمل سمجهيو ويندو، پر موجوده پڻ. هتي هڪ ڊيٽابيس آهي جيڪو هر نيٽ ورڪ نوڊ لاء هر اڪائونٽ جي حالت کي محفوظ ڪري ٿو. انهي حقيقت جي ڪري ته سڀئي حساب ڪتاب ساڳئي طريقي سان ٿين ٿا ۽ بلاڪچين جي حالت ساڳي آهي، ڊيٽابيس ۾ سڀني اڪائونٽن جي رياستن تي مشتمل هوندي به هر نوڊ لاء ساڳيو.

سمارٽ معاهدن جون ڳالهيون ۽ حدون

جيئن ته پابنديون جيڪي موجود آهن سمارٽ ڪانٽريڪٽ پليٽ فارمن لاءِ Ethereum سان ملندڙ جلندڙ، هيٺ ڏنل بيان ڪري سگهجي ٿو:

  • ڪوڊ لڳائڻ؛
  • ياداشت مختص ڪرڻ؛
  • blockchain ڊيٽا؛
  • ادائگي موڪلڻ؛
  • نئون معاهدو ٺاهيو؛
  • ٻين معاهدي کي سڏ.

اچو ته انهن پابندين تي نظر رکون جيڪي هڪ مجازي مشين تي لاڳو ڪيون ويون آهن، ۽، مطابق، سمارٽ معاهدن بابت ڪجهه خرافات کي ختم ڪريو. هڪ مجازي مشين تي، جيڪو نه رڳو ايٿيروم ۾، پر ساڳئي پليٽ فارمن ۾ پڻ ٿي سگهي ٿو، توهان واقعي پنهنجي منطقي عملن کي انجام ڏئي سگهو ٿا، اهو آهي، ڪوڊ لکو ۽ اهو اتي ڪيو ويندو، توهان اضافي طور تي ميموري مختص ڪري سگهو ٿا. بهرحال، فيس هر آپريشن لاءِ الڳ الڳ ادا ڪئي ويندي آهي ۽ مختص ڪيل ميموري جي هر اضافي يونٽ لاءِ.

اڳيون، ورچوئل مشين بلاڪچين ڊيٽابيس مان ڊيٽا پڙهي سگهي ٿي انهي ڊيٽا کي استعمال ڪرڻ لاءِ ٽرگر طور هڪ يا ٻئي سمارٽ معاهدي جي منطق تي عمل ڪرڻ لاءِ. مجازي مشين ٺاهي سگهي ٿي ۽ ٽرانزيڪشن موڪلي سگهي ٿي، اهو ٺاهي سگهي ٿو نوان معاهدو ۽ ٻين سمارٽ معاهدن جا طريقا ڪال ڪريو جيڪي اڳ ۾ ئي نيٽ ورڪ تي شايع ٿيل آهن: موجود، دستياب، وغيره.

سڀ کان وڌيڪ عام افسانو اهو آهي ته Ethereum سمارٽ معاهدو انهن جي شرطن ۾ ڪنهن به انٽرنيٽ وسيلن کان معلومات استعمال ڪري سگهن ٿا. سچ اهو آهي ته هڪ ورچوئل مشين انٽرنيٽ تي ڪجهه خارجي معلومات جي وسيلن ڏانهن نيٽ ورڪ جي درخواست نه موڪلي سگهي ٿي، اهو آهي، اهو هڪ سمارٽ معاهدو لکڻ ناممڪن آهي جيڪو صارفين جي وچ ۾ قيمت ورهائيندو، ان جي بنياد تي، چئو، ٻاهر موسم ڪيئن آهي، يا ڪنهن چيمپيئن شپ کٽي، يا ٻاهرئين دنيا ۾ ڪهڙو ٻيو واقعو ٿيو، ان جي بنياد تي، ڇاڪاڻ ته انهن واقعن بابت معلومات صرف پليٽ فارم جي ڊيٽابيس ۾ ناهي. اهو آهي، هن بابت بلاڪچين تي ڪجهه به ناهي. جيڪڏهن اهو اتي ظاهر نٿو ٿئي، ته پوءِ مجازي مشين هن ڊيٽا کي استعمال نه ڪري سگهندي جيئن ٽريگر.

Ethereum جا نقصان

اچو ته مکيه فهرست ڏيو. پهريون نقصان اهو آهي ته Ethereum ۾ سمارٽ معاهدن کي ڊزائين ڪرڻ، ترقي ڪرڻ ۽ جانچ ڪرڻ ۾ ڪجهه مشڪلاتون آهن (Ethereum سمارٽ معاهدو لکڻ لاء سوليٽي ٻولي استعمال ڪري ٿو). درحقيقت، مشق ڏيکاري ٿو ته سڀني غلطين جو هڪ تمام وڏو سيڪڙو انساني عنصر سان تعلق رکي ٿو. اهو اصل ۾ اڳ ۾ ئي لکيل Ethereum سمارٽ معاهدن لاءِ صحيح آهي جنهن ۾ اوسط يا وڌيڪ پيچيدگي آهي. جيڪڏهن سادي سمارٽ ڪانٽريڪٽن لاءِ غلطي جو امڪان گهٽ هوندو آهي ته پوءِ پيچيده سمارٽ ڪانٽريڪٽ ۾ اڪثر غلطيون ٿينديون آهن جن جي ڪري پئسن جي چوري، انهن جو منجمد ٿيڻ، سمارٽ ڪانٽريڪٽن جو اڻڄاتل طريقي سان تباهه ٿيڻ وغيره، اهڙا ڪيترائي ڪيس اڳ ۾ ئي موجود آهن. ڄاتل.

ٻيو نقصان اهو آهي ته مجازي مشين پاڻ مڪمل ناهي، ڇاڪاڻ ته اهو پڻ ماڻهن طرفان لکيل آهي. اهو صوابديدي حڪمن تي عمل ڪري سگهي ٿو، ۽ ان ۾ نقصان آهي: ڪيترن ئي حڪمن کي هڪ خاص طريقي سان ترتيب ڏئي سگهجي ٿو جيڪي نتيجن کي ڏسندا جيڪي اڳ ۾ غير متوقع هئا. اهو هڪ تمام پيچيده علائقو آهي، پر اڳ ۾ ئي ڪيترائي اڀياس آهن جيڪي ڏيکاري ٿو ته اهي خطرات موجود آهن Ethereum نيٽ ورڪ جي موجوده ورزن ۾ ۽ اهي ڪيترن ئي سمارمن معاهدي جي ناڪامي جي سبب ٿي سگهن ٿيون.

ٻي وڏي مشڪل، ان کي هڪ نقصان سمجهي سگهجي ٿو. اهو حقيقت ۾ آهي ته توهان عملي طور تي يا ٽيڪنيڪل طور تي ان نتيجي تي پهچي سگهو ٿا ته جيڪڏهن توهان هڪ معاهدي جو بائيٽ ڪوڊ مرتب ڪيو جيڪو هڪ مجازي مشين تي عمل ڪيو ويندو، توهان آپريشن جي ڪجهه مخصوص ترتيب کي طئي ڪري سگهو ٿا. جڏهن گڏجي ڪم ڪيو ويندو، اهي آپريشنز ورچوئل مشين کي تمام گهڻو لوڊ ڪندي ۽ ان کي غير متناسب طور تي سست ڪري ڇڏيندو فيس جي لاءِ جيڪا ادا ڪئي وئي هئي انهن آپريشنن کي انجام ڏيڻ لاءِ.

ماضي ۾، اتي اڳ ۾ ئي Ethereum جي ترقي ۾ هڪ دور هو، جڏهن ڪيترن ئي ماڻهن جو تفصيل سان هڪ مجازي مشين جي آپريشن کي سمجهي اهڙي نقصانده مليا. حقيقت ۾، ٽرانزيڪشن هڪ تمام ننڍڙو فيس ادا ڪيو، پر عملي طور تي سڄي نيٽ ورڪ کي سست ڪيو. انهن مسئلن کي حل ڪرڻ تمام ڏکيو آهي، ڇاڪاڻ ته اهو ضروري آهي ته، پهريون، انهن کي طئي ڪرڻ، ٻيو، انهن عملن کي انجام ڏيڻ جي قيمت کي ترتيب ڏيڻ ۽، ٽيون، سخت ڪانٽو کڻڻ، جنهن جو مطلب آهي سڀني نيٽ ورڪ نوڊس کي نئين نسخي ۾ اپڊيٽ ڪرڻ. سافٽ ويئر جي، ۽ پوء انهن تبديلين جي هڪ ئي وقت ۾ چالو ڪرڻ.

جيئن ته Ethereum لاء، تمام گهڻو تحقيق ڪيو ويو آهي، تمام گهڻو عملي تجربو حاصل ڪيو ويو آهي: ٻئي مثبت ۽ منفي، پر ان جي باوجود اڃا تائين مشڪلاتن ۽ ڪمزورين کي اڃا تائين ڪنهن به طريقي سان معاملو ڪرڻو پوندو.

تنهن ڪري، مضمون جو موضوعي حصو مڪمل ٿي چڪو آهي، اچو ته انهن سوالن ڏانهن وڃو جيڪي اڪثر پيدا ٿين ٿا.

اڪثر پڇيا ويا سوال

- جيڪڏهن موجوده سمارٽ ڪانٽريڪٽ جون سڀئي پارٽيون شرطن کي تبديل ڪرڻ چاهين ٿيون، ڇا اهي ملٽي سيگ استعمال ڪندي هن سمارٽ ڪانٽريڪٽ کي منسوخ ڪري سگهن ٿا، ۽ پوءِ ان جي عملدرآمد جي تازه ٿيل شرطن سان هڪ نئون سمارٽ معاهدو ٺاهي سگهن ٿا؟

هتي جواب ٻه ڀيرا ٿيندو. ڇو؟ ڇاڪاڻ ته هڪ طرف، هڪ سمارٽ معاهدو هڪ ڀيرو بيان ڪيو ويو آهي ۽ اهو هاڻي ڪنهن به تبديلي جو مطلب ناهي، ۽ ٻئي طرف، اهو اڳ ۾ لکيل منطق رکي سگهي ٿو جيڪو ڪجهه حالتن جي مڪمل يا جزوي تبديلي لاء مهيا ڪري ٿو. اهو آهي، جيڪڏهن توهان پنهنجي سمارٽ معاهدي ۾ ڪجهه تبديل ڪرڻ چاهيو ٿا، ته توهان کي لازمي شرطن جو بيان ڪرڻ گهرجي جنهن تحت توهان انهن شرطن کي اپڊيٽ ڪري سگهو ٿا. ان جي مطابق، صرف اهڙي محتاط انداز ۾ معاهدي جي تجديد کي منظم ڪري سگهجي ٿو. پر هتي، پڻ، توهان مصيبت ۾ هلائي سگهو ٿا: ڪجهه غلطي ڪريو ۽ هڪ لاڳاپيل نقصان حاصل ڪريو. تنهن ڪري، اهڙين شين کي تمام تفصيلي ۽ احتياط سان ٺهيل ۽ جانچڻ جي ضرورت آهي.

- ڇا جيڪڏهن ثالث حصو وٺندڙ پارٽين مان هڪ سان هڪ معاهدو ۾ داخل ٿئي ٿو: ايسڪرو يا سمارٽ معاهدو؟ ڇا ھڪڙو ثالث گھربل آھي سمارٽ معاهدي ۾؟

سمارٽ معاهدي ۾ ثالث جي ضرورت ناهي. اهو شايد موجود نه هجي. جيڪڏهن، ايسڪرو جي صورت ۾، ثالث پارٽين مان هڪ سان سازش ۾ داخل ٿئي ٿو، پوء ها، اهو منصوبو پوء تيزيء سان ان جي سڀني قدر وڃائي ٿو. تنهن ڪري، ثالثن کي اهڙي طرح چونڊيو ويو آهي ته اهي هڪ ئي وقت ۾ هن عمل ۾ شامل سڀني ڌرين طرفان اعتماد ڪن ٿا. ان جي مطابق، توهان صرف هڪ ثالث سان هڪ گهڻن دستخط پتي تي سکن کي منتقل نه ڪندا، جنهن تي توهان اعتماد نه ڪندا آهيو.

- ڇا اهو ممڪن آهي هڪ ايٿيروم ٽرانزيڪشن سان توهان جي ايڊريس کان مختلف ٽارگيٽ ايڊريس ڏانهن ڪيترن ئي مختلف ٽوڪن کي منتقل ڪرڻ لاءِ، مثال طور، مٽا سٽا پتي جتي اهي ٽوڪن واپار ڪيا ويندا آهن؟

اھو ھڪڙو سٺو سوال آھي ۽ اھو انديشو آھي Ethereum ٽرانزيڪشن ماڊل ۽ اھو ڪيئن مختلف آھي Bitcoin ماڊل کان. ۽ فرق بنيادي آهي. جيڪڏهن Ethereum ٽرانزيڪشن ماڊل ۾ توهان صرف سکن کي منتقل ڪيو ٿا، پوء اهي صرف هڪ پتي کان ٻئي ڏانهن منتقل ڪيا ويا آهن، ڪابه تبديلي ناهي، صرف مخصوص رقم جيڪا توهان بيان ڪئي آهي. ٻين لفظن ۾، هي غير خرچ ٿيل پيداوار (UTXO) جو نمونو ناهي، پر اڪائونٽن ۽ لاڳاپيل بيلنس جو هڪ نمونو. اهو نظرياتي طور تي ممڪن آهي ته هڪ ئي وقت ۾ ڪيترن ئي مختلف ٽوڪن موڪلڻ هڪ ٽرانزيڪشن ۾ جيڪڏهن توهان هڪ چالاڪ سمارٽ معاهدو لکندا آهيو، پر توهان کي اڃا تائين ڪيترائي ٽرانزيڪشن ڪرڻا پوندا، هڪ معاهدو ٺاهيو، پوءِ ٽوڪن ۽ سڪن کي ان ڏانهن منتقل ڪريو، ۽ پوءِ مناسب طريقي سان ڪال ڪريو. . اهو ڪوشش ۽ وقت جي ضرورت آهي، تنهنڪري عملي طور تي اهو ڪم نٿو ڪري ۽ Ethereum ۾ سڀ ادائگي الڳ ٽرانزيڪشن ۾ ڪيون وينديون آهن.

- Ethereum پليٽ فارم جي باري ۾ افسانن مان هڪ اهو آهي ته اهو ناممڪن آهي بيان ڪرڻ لاء شرطون جيڪي ٻاهرين انٽرنيٽ وسيلن جي ڊيٽا تي منحصر هوندا، پوء پوء ڇا ڪجي؟

ان جو حل اهو آهي ته سمارٽ ڪانٽريڪٽ پاڻ هڪ يا وڌيڪ نام نهاد قابل اعتماد اوريڪلز مهيا ڪري سگهي ٿو، جيڪي ٻاهرين دنيا ۾ شين جي حالت بابت ڊيٽا گڏ ڪن ٿا ۽ ان کي خاص طريقن ذريعي سمارٽ ڪانٽريڪٽ ڏانهن منتقل ڪن ٿا. معاهدو پاڻ کي ڊيٽا سمجهي ٿو جيڪا اها قابل اعتماد پارٽين کان حاصل ڪئي وئي آهي صحيح آهي. وڌيڪ معتبريت لاءِ، صرف oracles جو هڪ وڏو گروپ چونڊيو ۽ انهن جي ميلاپ جي خطري کي گھٽ ڪريو. اهو معاهدو پاڻ شايد يارڪلز کان ڊيٽا کي حساب ۾ نه وٺي سگھي ٿو جيڪي اڪثريت جي تضاد ڪن ٿا.

Blockchain تي آن لائن ڪورس جو هڪ ليڪچر هن موضوع ڏانهن وقف آهي - “سمارٽ معاهدي جو تعارف".

جو ذريعو: www.habr.com

تبصرو شامل ڪريو