میهن بلاکچین
  • اخبار
    • همه
    • رمزارز در ایران
    • اخبار بیت کوین
    • اخبار اتریوم
    • اخبار آلتکوین
    • اخبار بلاکچین
    • اخبار عمومی
    • اطلاعیه صرافی‌های داخلی
  • تحلیل
    • همه
    • تحلیل آنچین
    • تحلیل اقتصادی
    • تحلیل تکنیکال
    • تحلیل فاندامنتال
  • آموزش
    • همه
    • کریپتو پدیا
    • کریپتو کده
    • دیفای
    • سرمایه گذاری
    • آموزش همه صرافی های ارز دیجیتال
    • ترید
    • کیف پول
    • بازی
    • استخراج
    • 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 بسیار آسان است و اشتباهات را به حداقل می‌رساند. در نتیجه، یادگیری و بازرسی این زبان نیز آسان است و در نهایت بسیار سازنده‌تر از گزینه‌های دیگر است.

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

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

ارتقای تاریخی پکترا (Pectra) در مین نت اتریوم فعال شد؛ گامی بزرگ از ادغام تا مقیاس‌پذیری لایه ۲
اخبار اتریوم

ارتقای تاریخی پکترا (Pectra) در مین نت اتریوم فعال شد؛ گامی بزرگ از ادغام تا مقیاس‌پذیری لایه ۲

17 اردیبهشت 1404 - 16:30
118
استوری پروتکل
مقالات عمومی

معرفی ۸ پروژه جذاب در استوری پروتکل

16 اسفند 1403 - 22:00
232
هایپرلیکویید
اخبار بلاکچین

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

30 بهمن 1403 - 14:30
107
استوری پروتکل
کریپتو پدیا

استوری پروتکل (Story Protocol) چیست؛ رهایی مالکیت معنوی از قید و بندهای حقوقی با استفاده از بلاکچین

26 بهمن 1403 - 22:00
455
API کریپتویی در وب ۳
کریپتو پدیا

ای پی آی (API) کریپتویی چیست و چطور به موفقیت برنامه‌های وب ۳ کمک می‌کند؟

26 بهمن 1403 - 16:00
340
ماشین مجازی سولانا
کریپتو پدیا

ماشین مجازی سولانا چیست؟ آشنایی با SVM و نحوه عملکرد آن

10 بهمن 1403 - 08:05
14
اشتراک
اطلاع از
0 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

ترید کریپتو در رکود
ترید

ترید کریپتو در دوران رکود اقتصادی؛ هنر بقا در روزهای سخت

19 اردیبهشت 1404 - 16:00
54
نرخ بهره فدرال رزرو
کریپتو پدیا

نرخ بهره فدرال رزرو چیست؟

19 اردیبهشت 1404 - 12:00
87
صرافی یونی سواپ Uniswap
صرافی غیرمتمرکز

یونی‌ سواپ درگیر بحران حکمرانی؛ نماینده باسابقه DAO استعفا داد

18 اردیبهشت 1404 - 17:00
54
راه‌اندازی شبکه لایه دو توسط صرافی OKX با همکاری پالیگان؛ رشد OKB ادامه دارد؟
صرافی غیرمتمرکز

فعالیت مجدد تجمیع‌کننده DEX صرافی OKX؛ سیستم‌های امنیتی تقویت شدند

15 اردیبهشت 1404 - 17:00
68
گروک
آموزش

آموزش خودکارسازی معاملات ارز دیجیتال با هوش مصنوعی Grok 3

13 اردیبهشت 1404 - 08:09
3.4k
میکروپرداخت‌ها
مقالات عمومی

آینده میکروپرداخت‌ها (Micro Payments)؛ بررسی چالش‌های قدیمی و راه‌حل‌ها

13 اردیبهشت 1404 - 08:10
138

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

میکروپرداخت‌ها

آینده میکروپرداخت‌ها (Micro Payments)؛ بررسی چالش‌های قدیمی و راه‌حل‌ها

13 اردیبهشت 1404 - 08:10
138

آموزش خودکارسازی معاملات ارز دیجیتال با هوش مصنوعی Grok 3

بهترین پروژه‌های اکوسیستم سویی (SUI) که ارزش توجه دارند

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

تحلیل تکنیکال یا پیش‌گویی؟ نگاهی صادقانه به دنیای تریدر

آموزش تولید سیگنال معاملاتی از اخبار کریپتو با هوش مصنوعی ChatGPT

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

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