متا دیتا در تراکنش های بلاک چین، اطلاعاتی هستند که به طور معمول به همراه اطلاعات اصلی تراکنش ارسال میشوند. این اطلاعات میتوانند اطلاعاتی مانند تاریخچه تراکنش یا اطلاعات تراکنشهای قبلی مربوط به همان کیف پول یا آدرس باشند. متا دادهها به تنهایی برای انجام تراکنش لازم نیستند اما ممکن است برای اهداف خاصی مانند اثبات اصالت یا اجازه دادن به تراکنش های پیچیدهتر مورد استفاده قرار گیرند.
معرفی انواع متا دیتا در تراکنش های بلاک چین
در بلاک چین، انواع مختلفی از متا دیتا وجود دارد که برای اهداف مختلف استفاده میشوند. برخی از انواع رایج متا دیتا عبارتند از:
1. متا دیتای تراکنش: شامل اطلاعاتی مانند مبلغ تراکنش، آدرس مبدأ و مقصد، زمان ارسال و دیگر جزئیات مربوط به خود تراکنش است.
2. متا دیتای بلاک: شامل اطلاعاتی است که به صورت کلی در مورد بلاک های بلاک چین ذخیره میشوند؛ از جمله شناسه بلاک، زمان ایجاد بلاک، تعداد تراکنش ها و غیره.
3. متا دیتای قرارداد هوشمند: در بلاک چین هایی که از قراردادهای هوشمند مانند Ethereum استفاده میکنند، متا دیتا ممکن است شامل کد منبع قرارداد، نتایج اجرای قرارداد و دیگر اطلاعات مربوط به اجرای قرارداد باشد.
4. متا دیتای مالکیت: این نوع متا دیتا مربوط به اطلاعات مالکیت دارایی ها مانند اطلاعات مالکان، تاریخچه انتقال و تغییرات مالکیت است.
5. متا دیتای ارتباطی: شامل اطلاعاتی است که برای برقراری ارتباط بین بلاکها یا شبکههای مختلف بلاک چین مورد استفاده قرار میگیرد، مانند اطلاعات نودها و امضاها.
این موارد تنها چند نمونه از انواع متا دیتای مورد استفاده در بلاک چین هستند و ممکن است در هر بلاک چین خاصی، انواع دیگری از متا دیتا وجود داشته باشد که برای نیازهای خاص طراحی شدهاند.
نحوه ذخیره متا دیتا تراکنش آن چین و آف چین
متا دیتا در تراکنش های بلاک چین به دو شکل متفاوت ذخیره میشود: در زنجیره (On-chain) و در خارج از زنجیره (Off-chain).
1. در زنجیره (On-chain):
وقتی متا دیتا در زنجیره ذخیره میشود: در بلاک چین هایی مانند Bitcoin، متا دیتای تراکنش همراه با خود تراکنش در داخل بلاک ذخیره میشود. این اطلاعات به صورت ساختارمندی در بخشهای مختلف بلاک قرار میگیرند و به رمزنگاری متصل میشوند.
مزایا: این روش اطمینان میدهد که اطلاعات تراکنش همواره در دسترس، قابل اثبات و قابل اعتماد هستند.
معایب: افزایش اندازه زنجیره بلاک چین، افزایش هزینه های ذخیره سازی و انتقال.
2. خارج از زنجیره (Off-chain):
وقتی متا دیتا آف چین ذخیره میشود: در بعضی موارد، به جای ذخیره متا دیتای تراکنش در زنجیره بلاک چین، اطلاعات اضافی در محلهای دیگری ذخیره میشوند. مثلاً، در برخی بلاک چین های اجازه دهندهی مستقیم قراردادهای هوشمند مانند Ethereum، متا دیتا مربوط به اجرای قراردادها در داخل بلاک ذخیره نمیشود بلکه در دفترچههای خصوصی (off-chain databases) ذخیره میشوند.
مزایا: کاهش حجم زنجیره بلاک چین، کاهش هزینه ها و زمان اجرا.
معایب: کاهش امنیت و اثرگذاری اطلاعات به دلیل اعتماد به محلهای دیگر برای ذخیرهسازی.
هر روش دارای مزایا و معایب خود است و بسته به نیازهای خاص هر بلاک چین و کاربران، انتخاب میشود.
نمونه هایی از متا دیتا در تراکنش های بلاک چین
اینجا چند نمونه از انواع متا دیتا در تراکنش های بلاک چین ذکر میشود:
1. مبلغ تراکنش: متا دیتای اصلی تراکنش که مبلغ ارسال شده را مشخص میکند.
2. آدرس مبدأ و مقصد: آدرس کیف پول های فرستنده و گیرنده.
3. تاریخچه تراکنش: شامل اطلاعاتی مانند زمان و تاریخ تولید تراکنش و یا زمانی که در بلاک چین ثبت شده است.
4. هش تراکنش: یک مجموعه از اعداد و حروف که به طور یکتا تراکنش را مشخص میکند و به عنوان شناسه یا امضای تراکنش مورد استفاده قرار می گیرد.
5. اطلاعات تراکنش های قبلی: در برخی موارد، متا دیتای تراکنش ممکن است شامل اطلاعاتی از تراکنشهای قبلی باشد که به تراکنش جاری مرتبط هستند، مانند اطلاعات خروجیهای تراکنشهای قبلی که به عنوان ورودیها به تراکنش جاری استفاده شدهاند.
6. نشانی گیرنده برای پرداختهای چند مرحلهای: در برخی حالات، متا دیتای تراکنش میتواند شامل آدرس های گیرنده مختلف باشد که مبلغ ارسال شده به آنها تقسیم میشود.
7. پیام تراکنش: اطلاعات اضافی یا پیامی که توسط فرستنده تراکنش برای گیرنده یا هر فرآیند دیگر مرتبط با تراکنش ارسال می شود.
8. اطلاعات هویتی: ممکن است برخی از بلاک چین ها اطلاعات هویتی مربوط به ارسال کننده و گیرنده تراکنش را نیز در متا دیتا ذخیره کنند، به عنوان مثال برای اعمال مقررات KYC (شناخت مشتری) و AML (پولشویی).
9. برچسب زمانی: هر یک از بلوک های یک بلاک چین دارای مهر زمانی است که لحظه اضافه شدن بلوک به زنجیره را نشان می دهد. زمان بندی تراکنش ها از طریق این ابرداده ثبت می شود.
10. جزئیات تراکنش: آدرسهای فرستنده و گیرنده، مبلغ تراکنش و شناسه های تراکنش تنها چند نمونه از ابردادههایی هستند که میتوان به هر تراکنش در یک بلاک چین پیوست.
11. دادههای قرارداد هوشمند: پارامترها و دادههای ورودی مورد نیاز برای اجرای قراردادهای هوشمند را میتوان در فراداده در هنگام اجرای قراردادهای هوشمند در زنجیره بلوکی گنجاند.
12. امضاهای دیجیتال: فراداده تراکنش حاوی امضاهای دیجیتالی برای تأیید مشروعیت تراکنش ها و نشان دادن مالکیت است.
13. هزینههای گس: در بلاک چین هایی مانند اتریوم، متا دیتا میتواند شامل جزئیاتی درباره هزینههای گس مرتبط با پردازش تراکنشها باشد. ماینرها و اعتبارسنجی ها برای اولویت بندی تراکنش ها به این اطلاعات نیاز دارند.
14. پیوندهای سیستم فایل بین سیاره ای: پیوندهای IPFS را می توان در ابرداده تراکنش های بلاک چین پیدا کرد. کاربران می توانند با به دست آوردن یک مرجع در قالب هش، به فایل IPFS و داده های موجود در بلاک چین دسترسی داشته باشند. فایلهای بزرگ مانند تصاویر، ویدیوها یا اسناد مربوط به دارایی های زنجیرهای مانند NFT را میتوان با استفاده از این روش ذخیره کرد.
15. اوراکل: اوراکل یک سرویس خارجی است که به قراردادهای هوشمند اجازه دسترسی به داده های دنیای واقعی را می دهد. اطلاعات این اوراکل ها را می توان در فراداده تراکنش های بلاک چین برای فعالیت های قرارداد هوشمند گنجاند.
16. توکنهای NFT: توکن های غیرقابل تعویض اغلب حاوی ابردادههایی مانند مشخصات سازنده، توضیحات و جزئیات دیگر درباره دارایی های دیجیتال یا فیزیکی هستند.
نحوه اضافه کردن متا دیتا به تراکنش بلاک چین
برای اضافه کردن متا دیتا به یک تراکنش بلاک چین، معمولاً یکی از دو روش زیر استفاده میشود:
1. استفاده از فیلدهای خاص در تراکنش: برخی بلاک چینها امکان اضافه کردن متا دیتا به تراکنش را از طریق فیلدهای خاصی که در ساختار تراکنش وجود دارند، فراهم می کنند. به عنوان مثال، برخی از بلاک چین ها مانند Bitcoin از فیلد OP_RETURN استفاده میکنند که به کاربران اجازه میدهد اطلاعات اضافی را در داخل یک تراکنش ذخیره کنند.
2. استفاده از پروتکل های فرعی: برخی از بلاک چین ها اجازه میدهند تا اطلاعات اضافی به صورت جداگانه و خارج از تراکنش درج شوند؛ مانند استفاده از پروتکلهای فرعی یا لایههای دیگری که به عنوان یک لایه بر روی بلاک چین قرار میگیرند. این اطلاعات میتوانند به عنوان متا دیتای تراکنش مورد استفاده قرار بگیرند و با تراکنش مرتبط شوند.
با استفاده یکی از این روشها، متا دیتای مورد نظر را به تراکنش اضافه کرده و سپس تراکنش را به شبکه ارسال میکنید. متا دیتا به صورت رمزنگاری شده در تراکنش ذخیره میشود و بعداً میتوانید از آن استفاده کنید تا اطلاعات مورد نیاز خود را بازیابی نمایید.