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

یک تراکنش و چند امضا؛ بررسی طرح جدید BIP برای تراکنش های بیت کوین

نگارش:‌ایوب کریمی
11 فروردین 1398 - 11:12
در مقالات عمومی
زمان مطالعه: 2 دقیقه
2
طرح جدید تراکنش های بیت کوین

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

پروپوزال BIP ۱۷۴ که سال گذشته توسط Andrew Chow پیشنهاد شد، اخیرا مورد علاقه توسعه دهندگان بیت کوین واقع شده است. هدف آن ایجاد یک قالب انعطاف پذیر استاندارد می باشد که کلاینت های مختلف بتوانند اعمال PSBT را آسان تر کنند تا برای امضا در میان کاربران منتقل شود و امضا های آنها را ترکیب کند.

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

Toggle
  • امضای تراکنش ها با مثال
  • PSBT متشکل از جفت های ارزش کلیدی
  • درخواست یک مدل ساده تر
  • کار نقش های مذکور
  • کلام آخر

امضای تراکنش ها با مثال

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

فرض کنید من باب هستم و می خواهم پنج بیت کوین را به آلیس در عوض یک سرویس بپردازم. اما من به آلیس اعتماد ندارم و هر دوی ما به مارک اعتماد داریم. بنابراین ما یک آدرس چند امضایی 2 از 3 را با پنج بیت کوین بین آلیس، باب و مارک ایجاد می کنیم. حال اگر آلیس سرویس را فراهم نیاورد و من بخواهم پولم را پس بگیرم، من یک PBST ایجاد می کنم و آن را به مارک می فرستم. مارک به عنوان یک شخص ثالث در اختیار دارنده ضمانت، در مورد امنیت کوین هایش دقت می کند و بنابراین او تراکنش PSBT من را امضا می کند و از یک دستگاه آفلاین استفاده می کند و آن را دوباره برای من باز می فرستد. سپس من تراکنش امضا شده خودم و مارک را برداشته و آنها را ترکیب و طبقه بندی می کنم و سپس آنها را در شبکه به عنوان یک تراکنش شبکه ای چیدمان یافته معتبر که با استفاده از دو امضای مختلف ورودی ها را به آدرس من بر می گرداند، منتشر می کنم.

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

PSBT متشکل از جفت های ارزش کلیدی

قالب PSBT متشکل از جفت های ارزش کلیدی هستند یعنی <key>|<value>,، کلید ها اکثر اوقات فقط یک عدد صحیح هگزای یک بایتی هستند یا یک عدد صحیح هگزا می باشند که به یک کلید عمومی مرتبط است. آنها متشکل از “انواع جهانی” هستند که هم به ورودی ها و هم به خروجی ها اعمال می شوند و از انواع هر ورودی و هر خروجی می باشند. در حال حاضر هر ورودی و هر خروجی تعریف شده شامل Witness Script، Redeem Script و BIP 32 derivation path می باشد. انواع اضافی در فیلد per-input وجود دارد مانند Witness UTXO و non-witness UTXO، Sighash Type، Partial Signature، Finalized scriptSig و Finalized scriptWitness. قالب تراکنش مانند زیر خواهد بود:

{0x70736274}|{0xff}|{global key-value map}|{input key-value map}|…|{input key-value map}

نام نوع ارزش توصیف
Magic Bytes Int32_t 0x70736274 این یک عدد صحیح چهار بایت است که ASCII برای PSBT می باشد
Seperator Char 0xff این همیشه 0xff است تا هر گونه تلاش طبقه بندی از جانب یک طبقه کننده غیر PSBT را با شکست مواجه کند
Global Data Key-value map متنوع نقشه ارزش کلیدی برای همه داده های جهانی
Inputs Array of key value maps متنوع این ها جفت های ارزش کلیدی هستند که قبلا ذکر شد
Outputs Array of key-value maps متنوع این ها جفت های ارزش کلیدی هستند که قبلا مورد بحث قرار گرفتند

درخواست یک مدل ساده تر

اخیرا بحث هایی در Bitcoin-dev بر ضد مدل ارزش کلیدی (key-value) صورت گرفته است و یک مدل ساده تر درخواست شده است. ادعا شده که این می تواند سبب خواندن بهتر شود و کارایی فضایی بیشتری را ایجاد کند زیرا بعضی کلید ها می توانند افول داشته باشند اما این به احتمال زیاد اعمال نمی شود زیرا سبب تغییر برجسته ای از پیشنهاد BIP اولیه می شود.

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

کار نقش های مذکور

تراکنش روزانه بیت کوین

خالق (creator)؛ یک تراکنش امضا نشده را ایجاد می کند و آن را در یک PSBT جدید قرار می دهد و همراه با آن یک فیلد ورودی خالی را ایجاد می کند.

به روز رسانی کننده؛ PSBT را می پذیرد و اطلاعات را به آن اضافه می کند. آنها UTXO، redeemScript، WitnessScripts و BIP 32 derivation paths را اگر موجود باشد، اضافه می کنند.

امضا کننده (signer) هیچ منبع داده ای را اضافه نمی کند. به جای آن، امضا هایی را برای تراکنش هایی ایجاد می کند که آنها می توانند امضا کنند و آنها را به عنوان جفت ارزش کلیدی امضای ناقص برای ورودی مرتبط اضافه نمایند. امضا کننده می تواند همچنین آدرس ها را محاسبه کند، بهای در حال فرستاده شدن و کارمزد های تراکنش ها را محاسبه کند و آنها را به کاربر به عنوان تایید و یا هشدار نشان دهد.

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

نهایی گر (finalizer) تنهای یک PBST را می پذیرد و تعیین می کند که آیا ورودی داده های کافی برای انتقال اعتبار دارد و اگر داشته باشد، ScriptSig و ScriptWitness را می سازد و از همه داده ها به جز UTXO و فیلد های ناشناخته در نقشه ارزش کلیدی ورودی خلاص می شود.

استخراج گر تراکنش (Transaction Extractor) یک PSBT مجزا را می پذیرد و بررسی می کند که آیا همه ورودی ها ScriptSig و ScriptWitnesses کامل دارند. اگر چنین باشد، استخراج گر تراکنش ها را طبقه بندی می کند و یک تراکنش شبکه ای کاملا معتبر را تولید می کند.

کلام آخر

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

با توجه به رمزگذاری یک PSBT، می توان آن را توسط یک رشته Base64 و یا یک فایل باینری ساده با پسوند فایلی .psbt ارائه داد. نام نوع MIME زمانی که BIP ویرایش شود، اضافه می گردد.

این قالب جدید می تواند سطح پذیرش کاملا جدیدی را برای کیف پول های چند امضایی ایجاد کند. BIP هنوز هم به عنوان یک Draft لیست شده است و ما باید به زودی ببینیم که آن به Proposed ارتقا یافته و ممکن است هرازگاهی تعداد زیادی پیاده سازی قابل مشاهده باشد.

تگ: بیت کوین
اشتراک‌گذاریتوئیت

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

آلکانز بیت کوین
کریپتو پدیا

متا پروتکل آلکانز (Alkanes) چیست؟ راهی تازه برای ساخت توکن و قراردادهای هوشمند روی بیت کوین

13 تیر 1404 - 16:00
48
دیفای بیت کوین
اخبار بیت کوین

مارکوس تیلن: قیمت بیت کوین در ماه جولای به ۱۱۶,۰۰۰ دلار خواهد رسید!

12 تیر 1404 - 17:30
102
فیچر استیبل کوین ها stablecoin
اخبار آلتکوین

استیبل کوین dEURO و سود ۱۰٪ سالانه؛ حرکت تازه کیک‌ والت برای جذب کاربران

12 تیر 1404 - 15:00
43
قانون‌گذاری رمزارزها در ایالات متحده آمریکا
اخبار بیت کوین

پیامدهای لایحه «بزرگ و زیبای آمریکا»؛ آیا بیت کوین آماده رکوردشکنی دوباره است؟

12 تیر 1404 - 13:00
206
فیچر اخبار و تحلیل بیت کوین
تحلیل بازار

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

12 تیر 1404 - 09:00
209
فیچر تحلیل بیت کوین
اخبار بیت کوین

بانک استاندارد چارترد: چرخه‌های هاوینگی بیت کوین دیگر وجود ندارند!

11 تیر 1404 - 23:00
169
اشتراک
اطلاع از
2 دیدگاه
جدید ترین
قدیمی ترین محبوب ترین
Inline Feedbacks
View all comments

آموزش

اوپن لجر
کریپتو پدیا

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

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

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

14 تیر 1404 - 20:00
83
بلاکچین اینک-INK
کریپتو پدیا

بلاکچین اینک (Ink) چیست؟ پروژه صرافی کراکن برای تسهیل تعامل با دیفای

14 تیر 1404 - 16:00
39
طولانی‌ترین مصاحبه پاول دوروف؛ از قدرت و دموکراسی تا وصیت‌نامه‌ای برای ۱۰۶ فرزند
مقالات عمومی

طولانی‌ترین مصاحبه پاول دوروف؛ از قدرت و دموکراسی تا وصیت‌نامه‌ای برای ۱۰۶ فرزند

14 تیر 1404 - 12:00
133
متامسک
کیف پول

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

13 تیر 1404 - 22:00
83
استیکینگ کریپتو
مقالات عمومی

استیکینگ قانونی ارزهای دیجیتال در سال ۲۰۲۵؛ دستورالعمل جدید SEC چه فعالیت‌هایی را مجاز و غیرمجاز می‌داند؟

13 تیر 1404 - 20:00
64

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

متامسک

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

13 تیر 1404 - 22:00
83

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

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

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

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

کریپتو درینر (Crypto Drainer) چیست؟ تخلیه کیف پول ارز دیجیتال با اسکریپت مخرب

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

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

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

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