میهن بلاکچین
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین
No Result
مشاهده همه‌ی نتایج
میهن بلاکچین آموزش مقالات عمومی

توسعه راهکارهای بلاک چین ؛ قرارداد هوشمند ، یک پایگاه داده نیست!

نگارش:‌امین آبشاهی
3 خرداد 1401 - 22:49
در مقالات عمومی
زمان مطالعه: 2 دقیقه
0
بلاک چین mempool تراکنش ارز دیجیتال

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

درک برخی از جزئیات آسان است، مانند این که ارز مقداری بیشتر از جدول موجودی‌ها باشد. برخی از جزئیات پیچیده‌تر هستند؛ مانند این واقعیت که شما در حال ساختن راهکاری هستید که به سختی می‌توانید آن را کنترل کنید.

یکی از جزییاتی که این اواخر توجه من را جلب کرد، این بود: این که داده‌ها هم در یک بلاک چین عمومی، عمومی هستند یعنی چه؟

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

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

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

آنچه در این مطلب می‌خوانید

Toggle
  • ثبت وقایعی که در یک بلاک چین تولید شده‌اند
  • کار با رویدادها
  • در حال حاضر نحوه توسعه نرم‌افزار چگونه است
  • نتیجه گیری

ثبت وقایعی که در یک بلاک چین تولید شده‌اند

باید یک تاریخچه کامل از تراکنش‌ها در پلتفرم امور مالی غیرمتمرکز فراهم کنیم.

آیین‌نامه‌هایی مانند MiFID II مستلزم آن است که کلیه تراکنش‌های مالی در صورت درخواست به قانون گذاران گزارش شود؛ این بدان معناست که نه تنها انتقالات توکن، بلکه حتی اقدامات کاربرانی که وضعیت بلاک چین را تغییر می‌دهند، گزارش شود.

تحقیقات اولیه من باعث شد که فکر کنم: “هر تغییر وضعیتی در بلاک چین ثبت می‌شود، بنابراین باید راهی برای عبور از طریق بلاک‌ها و بازیابی تاریخ تراکنش وجود داشته باشد.” 

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

پایگاه داده‌ای که روی تاریخ تراکنش ساخته شده، می‌تواند هر زمان و در هر مکان دیگری که لازم باشد، بازسازی شود؛ زیرا منبع حقیقت همیشه بلاک ‌چین خواهد بود.

قرارداد هوشمند به ذخیره داده‌هایی که در آنجا تنها به صورت بایگانی هستند، نیاز ندارد. من از دوست خوبم برناردو ویرا (Bernardo Vieira) خواستم تا ابزاری برای پایگاه داده تاریخ تراکنش پیدا کند. او می‌داند هر کس چه کار می‌کند و معمولاً با چیزی می‌یابد که ما بتوانیم از آن استفاده کنیم.

من حتی در مورد رویدادها فکر نمی‌کردم تا این که برناردو برگشت و گفت: “ثبت وقایعی که در یک بلاک چین تولید شده‌اند چطور است، آیا این مشکل شما را حل می‌کند؟”

این موضوع ذهن من را باز کرد.

کار با رویدادها

تا آن زمان من زیاد به رویدادهای اتریوم فکر نمی کردم. می‌دانستم هنگامی تغییر وضعیت بلاک چین، به جای بازگرداندن ارزش به انتشار یک رویداد کمک می کنید. همچنین یاد گرفته‌ام که آن رویدادها را از فرانت اند (front end) بگیرم تا نتیجه را بازیابی کنم. در مورد کارکرد رویدادها هیچ ایده‌ای نداشتم.

هنگامی که شما یک رویداد را از یک قرارداد هوشمند خارج می کنید، در بلاک چین نیمه ساختار یافته ثبت می‌شود. چند قسمت از این رویداد همیشه یکسان است و متغیرهایی که برای این رویداد در قرارداد هوشمند تعریف می‌کنید، به عنوان قسمت‌های اضافی پیوست می‌شوند. از نظر گس (gas)، یک رویداد یکی از ارزان‌ترین عملیات‌هایی است که می‌توانید در اتریوم انجام دهید. در واقع ۴۰۰۰ گس واقعا ارزان است.

اولین کاوش‌های ما راه‌اندازی TheGraph بود که دقیقاً همان چیزی را که ما می‌خواستیم انجام می‌دهد. TheGraph رویدادها را از بلاک‌چین ها می‌گیرد و یک رابط GraphQL برای جستجوی آنها فراهم می‌کند.

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

در حال حاضر نحوه توسعه نرم‌افزار چگونه است

درک رویدادها ساده به نظر می‌رسد، اما نحوه کدگذاری راهکارهای آن، از آن زمان به بعد مفاهیم عمیقی دارد. اولین تغییر اتخاذ یک اصل توسعه بود که اکنون فهمیدیم:

همه تغییرات وضعیت باید یک رویداد ایجاد کند.

با اطمینان از این که همه تغییرات وضعیت باعث ایجاد یک رویدادی می‌شود، لازم نیست نگران ردیابی تراکنش‌ها باشیم. تمام تغییرات وضعیت به عنوان رویدادهایی دامپ می‌شوند و ما تنها اطلاعات را که لازم داریم به طور خلاصه از Front End خواهیم داشت.

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

به یاد داشته باشید که تمام داده‌ها در بلاک چین عمومی، عمومی هستند.

اگر مقاله‌های دیگر من را خوانده باشید، متوجه می‌شوید که من همیشه به دنبال ساده‌ترین راه هستم. تاکنون از این کد برای یک رجیستری ساده اسناد راضی بودم:

بلاک چین قرارداد هوشمند حریم خصوصی گس کدنویسی رویداد

می تواند ساده‌تر و کارآمدتر نیز باشد.

بلاک چین قرارداد هوشمند حریم خصوصی گس کدنویسی رویداد

توجه داشته باشید که این قرارداد دوم هیچ چیزی را ذخیره نمی‌کند و عملکردی برای بازیابی داده‌‌ها نیز ندارد. با این حال کار کرده و همان کار را انجام می‌دهد.

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

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

می‌توانید در starter-kit نمونه‌ای از کش رویداد را پیدا کنید؛ لطفاً توجه داشته باشید، زیرا این ابزاری است که در حال حاضر در همه پروژه‌ها از آن استفاده می‌شود و باید به سرعت پیشرفت کند.

نتیجه گیری

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

داده‌ها را تنها در صورتی که یک قرارداد هوشمند به آن نیاز داشته باشد در حالت متغیر ذخیره کنید، زیرا در غیر این صورت در یک رویداد از بین می‌رود.

قبلا گفته‌ام که یک راهکار بلاک چین تنها ۱۰ درصد کد قرارداد هوشمند است. با انجام صحیح، قابلیت ردیابی کمتر نیز می‌شود. نتیجه آن یک کد دقیق‌تر است.

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

تگ: تکنولوژی بلاک چینرویداد ارز دیجیتالقرارداد هوشمند
اشتراک‌گذاریتوئیت

نوشته‌های مشابه

فیچر توکن جنریشن ایونت TGE
کریپتو پدیا

مراحل توکن جنریشن (TGE) پروژه‌ها؛ یک توکن چگونه تولید و عرضه می‌شود؟

14 آذر 1404 - 20:00
58
فیچر لایه دو اتریوم
اخبار اتریوم

اتریوم و بازتعریف مفهوم حریم خصوصی؛ بابانوئل تعاملات بلاکچینی را ناشناس نگه می‌دارد

11 آذر 1404 - 10:00
50
nasdaq-is-preparing-to-launch-an-institutional-crypto-custody-service
تحلیل فاندامنتال

نزدک به‌دنبال پوست‌اندازی و ورود به بلاکچین؛ مسیر توکنیزاسیون در بازارهای سنتی هموار می‌شود

9 آذر 1404 - 10:00
45
رمزارز در ایران فیچر
رمزارز در ایران

مدیرعامل انجمن بلاکچین: توکن‌سازی RWA فرصتی است که ایران نباید از آن عقب بماند

8 آذر 1404 - 20:30
102
فیچر اکانت های اتریوم
اخبار اتریوم

افزایش سه‌برابری سقف گس اتریوم؛ گسترش ظرفیت بلاک‌ها مسیر توسعه را تغییر می‌دهد

8 آذر 1404 - 10:00
52
فیچر پرپوزال های جدید اتریوم
کریپتو پدیا

بروزرسانی فوساکا (Fusaka) چیست؟ نقطه عطفی مهم در تاریخ اتریوم!

7 آذر 1404 - 22:00
243
اشتراک
اطلاع از
0 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

فیچر فدرال رزرو چیست
مقالات عمومی

فدرال رزرو چیست؟ سیستم آن چگونه کار می‌کند؟

15 آذر 1404 - 22:00
28
فیچر نظر لین آلدن درباره جایگاه آینده بیت کوین
مقالات عمومی

لین آلدن پرده برداشت: ۲۳۰ سال سقوط دلار در یک نمودار؛ قطار بی‌فرمان فدرال رزرو به سمت «صفر»

15 آذر 1404 - 11:00
99
فیچر تتر چطوری پول در می آورد
مقالات عمومی

شرکت تتر چگونه درآمد کسب می‌کند؟ نگاهی به ماشین چاپ پول صنعت کریپتو!

14 آذر 1404 - 22:00
602
فیچر توکن جنریشن ایونت TGE
کریپتو پدیا

مراحل توکن جنریشن (TGE) پروژه‌ها؛ یک توکن چگونه تولید و عرضه می‌شود؟

14 آذر 1404 - 20:00
58
فیچر بیت کوین رایگان
مقالات عمومی

دریافت بیت کوین رایگان؛ واقعیت امروز یا خاطره‌ای از دوران ابتدایی شبکه؟

14 آذر 1404 - 16:00
417
فیچر نیوترال
کریپتو کده

پروتکل Neutrl چیست؟ بررسی سازوکار استیبل کوین مولد بازده sNUSD

14 آذر 1404 - 12:00
39

پیشنهاد سردبیر

تاخیر برداشت در اکسکوینو

بررسی مشکلات تاخیر برداشت ریالی و رمزارزی در صرافی اکسکوینو؛ دلایل، پیامدها و راهکارها

5 مرداد 1404 - 17:00
9064

کلاهبرداری با کیف پول چند امضایی چیست و چگونه از آن در امان بمانیم؟

حمله انتقال صفر (Zero-Transfer)؛ راهنمای کامل شناسایی و مقابله با تهدید کیف پول‌های رمزارزی

تاثیر تصویب قانون GENIUS بر ریسک فریز و مسدود شدن دارایی‌های تتر ایرانی‌ها؛ چه باید کرد؟

اشتباه ۶۰ هزار دلاری کاربر بیت کوین در پرداخت کارمزد؛ مراقب باشید این اشتباه را تکرار نکنید!

تسلیم یا کاپیتولاسیون (Capitulation) در کریپتو چیست؟ نشانه ترس یا فرصتی برای ورود به بازار؟

  • خانه
  • قیمت ارز
  • صرافی ها
  • ماشین حساب
No Result
مشاهده همه‌ی نتایج
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • NFT
    • مقالات عمومی
  • ایردراپ
  • هک و کلاهبرداری
  • قیمت ارزهای دیجیتال
  • ماشین حساب ارزهای دیجیتال
  • مقایسه قیمت در صرافی

© 2025 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است

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

© 2025 - تمامی حقوق مادی و معنوی این وبسایت نزد میهن بلاکچین محفوظ است.