فریلنسر تولید محتوا https://t.me/BitcoinBreads
بازآوری پیام مخفی ساتوشی از جنسیس بلاک
اگر یک فول نود (node) بیتکوین راه اندازی کرده باشید، به تمامی تراکنشها و بلاکهایی که از ابتدا تا کنون ایجاد شدهاند دسترسی دارید. این امر به شما این امکان را میدهد که مثلا به محتوای بلاک جنسیس (اولین بلاک در بلاکچین بیتکوین) که تقریبا دوازده سال قبل شکل گرفته نگاه بیاندازید.
بازآوری بلاک جنسیس ساتوشی
ابتدا میتوانید با دادن شماره بلاک در زنجیره (block height)، هش (hash) آن را بدست آورید. به مانند همه موارد دیگر در علوم رایانه، آرایهها و شماره بلاکها هم با صفر شروع میشوند.
از دستور getblockhash
برای بدست آوردن هش صحیح استفاده کنید:
$ bitcoin-cli getblockhash 0
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
حالا هش (hash) بلاکی را بدست آورده اید که با هش اولین بلاکی که ایجاد شده است یعنی جنسیس بلاک (genesis block) مطابقت دارد.
حالا میتوانید با استفاده از دستور getblock
محتوای کامل این بلاک را درخواست کنید:
$ bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
{
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"confirmations": 572755,
"strippedsize": 285,
"size": 285,
"weight": 1140,
"height": 0,
"version": 1,
"versionHex": "00000001",
"merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
"tx": [
"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
],
"time": 1231006505,
"mediantime": 1231006505,
"nonce": 2083236893,
"bits": "1d00ffff",
"difficulty": 1,
"chainwork": "0000000000000000000000000000000000000000000000000000000100010001",
"nTx": 1,
"nextblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"
}
این تنها بلاکی است که previousblockhash
ندارد، تمام بلاکهای دیگر این متغیر را دارند چرا که زنجیره را تشکیل میدهند. اما اولین بلاک نمیتواند بلاک قبلی داشته باشد.
بازآوری اولین و تنها تراکنش بلاک جنسیس ساتوشی
در این بلاک تنها یک تراکنش وجود دارد که هش آن برابر است با
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
این تراکنش هم تراکنش ضرابخانه (coinbase) در این بلاک است که پاداش حل مسأله ریاضی و ماین این بلاک است به ماینرش.
[...]
"tx": [
"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
],
[...]
ببینیم که داخل آن چیست؟
$ bitcoin-cli getrawtransaction 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
The genesis block coinbase is not considered an ordinary transaction and cannot be retrieved
ای بابا، کلاینت بیتکوین پیام میدهد که تراکنش ضرابخانه (coinbase) بلاک جنسیس یک نوع تراکنش خاص است و نمیتوان آن را بازآوری کرد. اما ما راهی برای دیدن جزئیات آن داریم.
بدست آوردن جزئیات بیشتر از بلاک جنسیس ساتوشی
با استفاده از دستور getblock
جزئیاتی از بلاک جنسیس را دریافت کردیم اما در این بلاک جزئیات بیشتری از آنچه در ابتدای کار به ما نشان داده وجود دارد. میتوانیم با اضافه کردن 2
به انتهای دستور بالا خروجی با جزئیات بیشتر دریافت کنید که این دستور نشان میدهد که در خروجی خواهان دریافت object با فرمت JSON به همراه دادههای تراکنش هستید.
$ bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 2
{
"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
"confirmations": 572758,
"strippedsize": 285,
"size": 285,
"weight": 1140,
"height": 0,
"version": 1,
"versionHex": "00000001",
"merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
"tx": [
{
"txid": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
"hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
"version": 1,
"size": 204,
"vsize": 204,
"weight": 816,
"locktime": 0,
"vin": [
{
"coinbase": "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
"sequence": 4294967295
}
],
"vout": [
{
"value": 50.00000000,
"n": 0,
"scriptPubKey": {
"asm": "04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f OP_CHECKSIG",
"hex": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
]
}
}
],
"hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"
}
],
"time": 1231006505,
"mediantime": 1231006505,
"nonce": 2083236893,
"bits": "1d00ffff",
"difficulty": 1,
"chainwork": "0000000000000000000000000000000000000000000000000000000100010001",
"nTx": 1,
"nextblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"
}
حالا شد، این دفعه جزئیات بیشتری دریافت کردیم.
اگر توجه کنید میبینید که در این خروجی بخشی وجود دارد که جزئیات مربوط به تراکنش ضرابخانه (coinbase) را نشان داده است. در این بخش میبینیم که ۵۰ بیتکوین پاداش بلاک جنسیس نشان داده است و در عین حال که نمیتوانیم این تراکنش را با دستور getrawtransaction
بازآوری کنیم اما این دادهها هنوز هم در بلاک جنسیس وجود دارند.
"vout": [
{
"value": 50.00000000,
"n": 0,
"scriptPubKey": {
"asm": "04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f OP_CHECKSIG",
"hex": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
]
}
}
],
پیامی که ساتوشی به صورت مخفی در این تراکنش جنسیس بلاک گنجانده
شاید شنیده باشید که ساتوشی پیامی را در جنسیس بلاک رمزگذاری کرده است. بیایید پیدایش کنیم.
در خروجیای که گرفتیم یک خط hex در این بلاک وجود دارد:
"hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"
اگر این فرمت hexadecimal را به فرمت خواناتر ASCII تبدیل کنیم در خروجی این را میگیریم:
$ echo "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff
4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e20
6272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a010000
00434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f3
5504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000" | xxd -r -p
����M��EThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks�����*CAg���UH'g�q0�\֨(�9 �yb��aI�?L�8��U���\8M�
�W�Lp+k�_�
این موید این است که حقیقتا پیامی با این مضمون وجود دارد:
« The Times 03/Jan/2009 Chancellor on brink of second bailout for banks»
که اشاره به عنوان روزنامه تایمز در روز ۳ ژانویه ۲۰۰۹ دارد که در این تاریخ اولین بلاک بلاکچین بیتکوین یا همان جنسیس بلاک ماین شده است. به نظر میرسد که ساتوشی از این پیام بعنوان برچسب زمانی (time stamp) جنسیس بلاک خودش و اشاره به اوضاع نابسامان اقتصادی و بانکها بهره برده است.
رد پیامهایی که ساتوشی تا قبل از ناپدید شدنش بر جای گذاشته باعث شده تا خیلیها اعتقاد داشته باشند بیتکوین پاسخی به وقایع سالهای ۲۰۰۷ و ۲۰۰۸ بود. در قسمت پیامهای بنیاد P2P (P2P Foundation) که سازمانی است که در زمینه فناوری نظیر به نظیر (P2P) فعالیت میکند، ساتوشی یک پست به یادماندنی نوشته و در فوریه سال ۲۰۰۹ بیتکوین را معرفی کرده است.
در این پست او نارضایتیاش از اعتماد به بانکها را اینگونه بیان کرده است:
باید برای نگهداری و انتقال الکترونیکی پولمان، به بانکها اعتماد کنیم اما آنها آن را در قالب وام به صورت اعتباراتی حبابی که ذخیره و پشتوانه خیلی ناچیزی به نسبت آن در اختیارشان است قرض میدهند مجبوریم در خصوص حریم خصوصیمان به آنها اعتماد کنیم، مجبوریم به آنها اعتماد کنیم که اجازه ندهند افرادی هویتمان را به سرقت ببرند و حسابهایمان را خالی کنند. هزینههای سرسام آور بالاسری آنها امکان انجام ریزپرداختها را نمیدهد و آن را غیر ممکن میسازد.
دوستان لطفا اگه از این مطلب خوشتون اومد حتما برای حمایت پست رو لایک کنید و برای دوستانتون هم فوروارد کنید و صفحه من در توییتر و کانال تلگرام رو هم حتما فالو کنید و عضو بشید. ممنون
صفحه توییتر:
http://twitter.com/BitcoinBreads
کانال تلگرام:
مطلبی دیگر از این انتشارات
5 زبان برتر برنامهنویسی برای یادگیری در سال 2022
مطلبی دیگر از این انتشارات
پروژه CreatorDAO ، سرمایه گذاری جدید a16z چیست ؟
مطلبی دیگر از این انتشارات
آموزش صفر تا صد خورشید ترون (ترون سان) | کسب درامد با گوشی