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

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

نگارش:‌ایوب کریمی
24 فروردین 1401 - 14:37
در مقالات عمومی
زمان مطالعه: 3 دقیقه
0
زبان برنامه نویسی وایپر

قرارداد‌های هوشمند طبقه‌ای از نرم افزار‌ها هستند که برای مدیریت مالکیت دارایی‌های باارزش طراحی شده‌اند. در حالی که محیط‌های برنامه نویسی (programming) موجود تا حدودی می‌توانند مالکیت دارایی‌ها را پیگیری کنند، اما آنها این مالکیت را انعکاس می‌دهند و مستقیما به تعریف آن نمی‌پردازند.

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

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

تیم لیبرا یک مدل برنامه نویسی جدید را تعریف کردند و این مدل در حول و حوش یک مدل مالکیت جدید بود که توسط Linear Types=Resources الهام شده بود.

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

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

Resources این ایده را توسعه می‌دهد و ما می‌توانیم از بعضی از مکانیزم‌ها در زبان‌های برنامه نویسی قبلی برای مدیریت مالکیت مجازی استفاده کنیم.

ویژگی اساسی Move توانایی تعریف انواع منبع سفارشی است. این منابع برای کدگذاری ایمن دارایی‌های دیجیتال با برنامه نویسی غنی مورد استفاده قرار می‌گیرند.

سیستم نوع Move ضمانت‌های امنیتی خاصی برای منابع فراهم می‌آورد. این ضمانت‌ها به صورت استاتیک توسط ماشین مجازی Move اعلام می‌شوند.

ارز لیبرا به صورت نوعی منبع پیاده شده و وضعیت خاصی در آن زبان ندارد. همه منابع Move دارای محافظت‌های مشابهی هستند.

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

Toggle
  • Resources در فضای برنامه نویسی بلاک چین چیست؟
  • چرا Resource اهمیت دارد؟
  • حذف خطا‌های بازگشت مجدد

Resources در فضای برنامه نویسی بلاک چین چیست؟

برنامه نویسی قرارداد هوشمند لیبرا رمزنگاری

آسان‌ترین روش برای تجسم Resources، استفاده از مثال یک توکن غیر‌قابل‌تعویض مانند کریپتوکیتی (CryptoKitty) است که غیر قابل تقسیم و بدون کپی است و می‌تواند یک مالک مستقیم خاص داشته باشد. این به طور مستقیم با ساختار برنامه نویسی Resource تطابق دارد.

در یک مدل دفتر کل مانند اتریوم، همه توکن‌های CryptoKitties در داخل یک قرارداد هوشمند خاص به عنوان یک لیست عظیم ذخیره می‌شوند.

مالکیت هر kitty با ذخیره اکانت آی دی هر مالک در یک دفتر کل مرکزی پیگیری می‌شود و تنها راه تغییر این مالکیت تماس با دفتر کل مرکزی است و باید از آن دفتر کل تقاضا کنیم که آی دی اکانت مربوطه را به‌روز رسانی کند.

Kitty در این مدل به عنوان شی Resource ارائه می‌شود و مستقیما در اکانتی که مالک آن است، ذخیره می‌شود. برای این که متوجه شوید که آیا مالک چیزی هستید یا نه، لازم نیست به دفتر کل مرکزی نگاه کنید، زیرا اگر مالک چیزی باشید در اکانت شما ذخیره می‌شود.

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

  • هر Resource در هر زمانی دقیقا در یک مکان قرار دارد.
  • مالکیت یک resource توسط جایی که در آن ذخیره شده است، تعریف می‌شود.
  • دسترسی به روش‌های یک Resource محدود به مالک است.

چرا Resource اهمیت دارد؟

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

استفاده از Resource منافع دیگری هم دارد که بسیار مهم هستند. از جمله این منافع می‌توان موارد زیر را نام برد:

کرایه وضعیت (State rent)

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

در مدل دفتر کل، شناخت فردی که باید این کرایه را پرداخت کند بسیار مشکل است.

با استفاده از مدل مالکیت مستقیم از طریق Resource types، مسئولیت افراد پرداخت‌کننده برای انبار مشخص می‌شود و به راحتی معلوم می‌شود که چه کسی باید پرداخت کند. علاوه بر این، کاربران فردی می‌توانند دارایی‌های غیر‌عادی را آرشیو کنند تا هزینه و بار آنها را بر روی شبکه کاهش دهند.

مالکیت انعطاف‌پذیر

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

امنیت مبتنی بر ظرفیت

Resource Types همه ضمانت‌های مورد نیاز برای پیاده‌سازی مفهوم Capabilities از مدل امنیت مبتنی بر ظرفیت را فراهم می‌آورد. Capabilities مکانیزم قدرتمندی برای تعریف سیستم‌های ایمن است و پایبندی به اصل Principle of Least Privilege را بسیار آسان‌تر می‌کند. این اصل یکی از بهترین اقدامات رایج در سیستم‌های امنیتی است.

مدل‌های امنیت مبتنی بر ظرفیت، امنیت را به شیوه خاصی تقویت می‌کنند و در عین حال، انعطاف‌پذیری بیشتری را نیز ممکن می‌کنند.

حذف خطا‌های بازگشت مجدد

برنامه نویسی قرارداد هوشمند لیبرا رمزنگاری

مشهورترین خطا در کل تاریخ قرارداد‌های هوشمند اتریوم، مشکل بازگشت مجدد بوده است و توسعه‌دهندگان Solidity باید همیشه مراقب حملات بازگشت مجدد باشند.

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

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

البته کار کردن مستقیم با وضعیت اشتراک جهانی می‌تواند کدی را ایجاد کند که نسبت به خطا‌های بازگشت مجدد آسیب‌پذیر باشد. به همین خاطر است که Cadence Style برای همه وضعیت اشتراک از Resource استفاده می‌کند. نویسندگان قرارداد هوشمندی که از Resources استفاده می‌کنند، هرگز لازم نیست که در مورد خطا‌های بازگشت مجدد فکر کنند.

زبان برنامه نویسی تیم Flow

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

زبان برنامه نویسی Flow که Cadence نام دارد از Resource Types استفاده می‌کند. Resource گزینه‌های ساختاری غنی و مناسبی را فراهم می‌آورد که تناسبی کامل برای دارایی‌های دیجیتال هستند.

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

تگ: زبان برنامه نویسیقرارداد هوشمند
اشتراک‌گذاریتوئیت

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

ماجرای سرقت ۲.۸ میلیون دلار توکن APX از آپولو اکس چه بود؟
پروژه‌های کلاهبرداری

حمله ۹.۵ میلیون دلاری به پروتکل استیبل‌کوین Resupply

5 تیر 1404 - 15:00
15
ethereum
اخبار اتریوم

پروپوزال جدید در شبکه اتریوم برای کاهش زمان اسلات و افزایش سرعت تولید بلاک‌ها

3 تیر 1404 - 19:00
52
فیچر پرپوزال های جدید اتریوم
اخبار اتریوم

ارتقای پکترای اتریوم به‌نفع باندهای سرقت ارزهای دیجیتال؛ هشدار و راهکار Wintermute چیست؟

12 خرداد 1404 - 13:00
101
رشد قیمت لایت کوین
اخبار بلاکچین

راه‌اندازی شبکه لایه دو LitVM؛ آغاز عصری جدید برای لایت کوین!

10 خرداد 1404 - 21:00
77
فیچر پرپوزال های جدید اتریوم
اخبار اتریوم

چراغ سبز ولیدیتورهای اتریوم به افزایش گس لیمیت بلاک

6 خرداد 1404 - 14:30
64
اخبار اتریوم

ارتقای پکترا و آغاز عصری جدید؛ استقبال بی‌سابقه کاربران اتریوم از پروپوزال EIP-7702

25 اردیبهشت 1404 - 21:00
290
اشتراک
اطلاع از
0 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

هوش مصنوعی گروک و چت جی پی تی
مقالات عمومی

ترکیب هوش مصنوعی (ChatGPT + Grok) در خدمت تریدرها؛ بهترین آلت کوین‌ها را این‌گونه پیدا کنید!

15 تیر 1404 - 22:00
85
تسلیم-کاپیتولاسیون
کریپتو پدیا

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

15 تیر 1404 - 20:00
40
پروتکل های وام دهی
دیفای

معرفی ۱۰ مورد از بهترین‌ پروتکل‌های وام‌دهی ارز دیجیتال در سال ۲۰۲۵

15 تیر 1404 - 16:00
111
usd1
کریپتو پدیا

استیبل کوین USD1 چیست؟ نگاهی به رقیب جدید تتر و پشتوانه سیاسی آن!

15 تیر 1404 - 12:00
78
اوپن لجر
کریپتو پدیا

اوپن لجر (OpenLedger) چیست؟ چگونه در آن مشارکت کنیم؟

14 تیر 1404 - 22:00
73
لجر استکس
کیف پول

بررسی کیف پول لجر استکس (Ledger Stax): ترکیبی از امنیت، زیبایی و راحتی در یک دستگاه

14 تیر 1404 - 20:00
128

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

تسلیم-کاپیتولاسیون

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

15 تیر 1404 - 20:00
40

چگونه نانس تراکنش را در متامسک تغییر دهیم؟

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

کلاهبرداری بیت کوین را چگونه و در کجا گزارش دهیم؟ راهنمای کامل Chainabuse و Scamwatch

چرا مدل امنیتی بیت کوین شکست خورده است؟ احتمال فروپاشی در عرض یک دهه؟!

توکنومیکس بد، قاتل پروژه‌های خوب: ۵ اشتباه مرگبار در اقتصاد توکنی

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

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

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

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