جلسه دوم: پرسش و پاسخ

لطفا این ویدیورو چک کنید.

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

2 پسندیده

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

ماینر ها خودشون هم یه نود هستن پس خود ماینر در واقع وریفای میکنه تراکنش ها

سلام وقتتون بخیر توی فیلم گفته شد که
با توجه به سختی شبکه تعیین میشه که تعداد صفر هش اولش چندتا صفر باشه (هرچی تعداد صفر ها بیشتر بشه سخت‌تر)

خب الان دیفیکالتی شبکه بیت کوین 24.37T هست
یعنی چندتا صفر؟
بلاک 717,696
هشش
0000000000000000000335dd327bde445d83f1ce40af2736a7c279045b9a55bf
این شده
خب این تعداد صفر چجوری با دیفیکالتی 24.37T تعیین شده ؟

برای دیفیکالتی عبارت Bits 0x170b8c8b گزاشته شده این چیه؟

ممنون

سلام
1- چطور در فرایند امضا دیجیتال سندی که با کلید خصوصی امضا شده توسط کلید عمومی باز و صحت سنجی می شود؟ یعنی اینطوری کلیدی خصوصی و عمومی یکسان عمل می کنند؟
2- در یک بخش هارد فورد، پس از چند زنجیره، چرا بلاک با شرط جدید همچنان در دو انشعاب ادامه پیدا نمی کند؟
3- وظیفه اصلی nonce چیست؟

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

سلام

1- چطور در فرایند امضا دیجیتال سندی که با کلید خصوصی امضا شده توسط کلید عمومی باز و صحت سنجی می شود؟ یعنی اینطوری کلیدی خصوصی و عمومی یکسان عمل می کنند؟

کلید باز نمیشه! کلید خصوص استخراج نمیشه. کلید عمومی به تنهایی نمیتونه صحت امضا رو تشخیص بده. امضا دو سه تا پارامتر دیگه هم داره که با استفاده از اونها میشه تایید کرد “امضایی که شده + این پارامترها” از کلید خصوصی که این کلید عمومی قبلا ازش تولید شده ارسال شده.
برای اطلاعات دقیق تر میتونین Yellow paper اتریوم رو چک کنید.

2- در یک بخش هارد فورد، پس از چند زنجیره، چرا بلاک با شرط جدید همچنان در دو انشعاب ادامه پیدا نمی کند؟

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

3- وظیفه اصلی nonce چیست؟

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

1 پسندیده

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

در مورد این فکر میکنم که وقتی شما با استفاده از private key خودتون یه transaction رو sign میکنین و میفرستین توی شبکه حداقل چیزهایی که لازمه همراهشون ارسال کنین تا قابلیت validation داشته باشه، transaction، signed transaction و public key شما باشه.
فرایندش هم توی node ها فکر میکنم اینجوریه که به کمک public key شما signed transaction رو unsigned میکنن و مقایسه میکنن با transaction شما و در صورتی که یکسان بودن میفهمن که با private key شما sign شده.

توضیح تکمیلی: فکر کنم واضحه ولی شاید خالی از لطف نباشه که بگم اگر میخواستن فرایند رو برعکس انجام بدن یعنی transaction رو با public key تبدیل کنن به signed transaction، اونجوری منطقیه که مشکل پیش میاد چون public key رو همه دارن و میتونن با استفاده از اون transaction دیگه ای رو sign کنن بدون داشتن private key شما.

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

همونطور که گفته شد ماینرها برای اینکه بلاک رو به شبکه اضافه کنن باید hash اون بلاک رو کمتر از یه مقدار مشخصی (سختی شبکه) بکنن و خب چجوری میتونن hash رو تغییر بدن؟ به کمک تغییر دادن مقدار داخل بلاک. و از اونجایی که نمیتونن خود transaction ها رو تغییر بدن پس باید دیتای جدیدی باشه که تغییر دادن اون باعث بشه hash تغییر کنه ولی transaction ها و دیتای اصلی بلاک تغییر نکنن. nonce اون عددی هست که تغییر میدن ماینرها تا hash بلاک درست در بیاد.

خيلي ممنون بابت دوره خوبتون كه منتشر كرديد و واقعا خوشحالم كه با گروه خوب و با سوادي در زمينه بلاكچين آشنا شدم كه به جرات تو ايران نديدم ،‌سوالم اين هست كه در تايم 1:03:15 فرموديد اگر براي تراكنش گس اعلام شده از مقدار گس لحظه اي شبكه پايين تر باشه ،‌برگشت ميخوره و همه چي به حالت عادي برميگرده ،‌ من چندبار تجربه كردم كه اگر بخوام گس رو بالا ببرم تراكنس انجام مي شه و اگرنه گس اعلام شده رو برنميگردونه ،‌ امكانش هست يكم توضيح بيشتر بديد و اينكه در اين مورد مقدار مثلا اتريوم مورد معامله بلاك ميشه ؟ يعني اگر يك تراكنش بزنم با نانس 10 و مقدار 1 اتريوم كه كل موجودي من هست به علاوه گس ،‌ به علت پايين بودن گس انجام نشه ،‌ بلافاصله تراكنش بعدي با نانس 11 رو ارسال كنم از من مي پذيره؟ در اين صورت من دوبار گس پرداخت كردم اما بدون ثبت تراكنش؟ ممنون