SlideShare a Scribd company logo
1 of 60
Download to read offline
‌‫‌کوین‬‫ت‬‫‌چین‌و‌بی‬‫ک‬‫بال‬‫به‌زبانی‌ساد‬‫ه‬
Presented by: Mehrdad Khoddami
Date: 2017/08/16
Blockchain:‫داریم‬ ‫نیاز‬ ‫ای‬‫پیچیده‬ ‫مفهوم‬ ‫همچین‬ ‫به‬ ‫چرا‬‫؟‬
”‫برای‌هر‌مشکل‌پیچیده،‌یک‌پاسخ‌واضح،‌ساده‌و‌اشتباه‌وجود‌د‬‫ارد‬!“
H. L. Mencken
‫از‌مشکل‌شروع‌کنیم‬....
‫رفیق‬ ‫هی‬!‫بدی؟‬ ‫قرض‬ ‫داری‬ ‫پول‬
‫بانک‬ ‫مسئول‬...
‫نکته‬:‫کنید‬ ‫نگاه‬ ‫ساده‬ ‫شکل‬ ‫به‬ ‫رو‬ ‫چیز‬ ‫همه‬ ‫کنیم؛‬‫نمی‬ ‫صحبت‬ ‫کامپیوتر‬ ‫و‬ ‫دیجیتال‬ ‫دنیای‬ ‫مورد‬ ‫در‬ ‫ما‬
‫چطور‬ ‫اما‬ ‫شد؛‬ ‫منتقل‬ ‫پول‬....
‫چیه؟‬ ‫مشکلش‬ ،‫خب‬!
‫برای‌اینکه‌اعتماد‌بین‌خودمون‌ایجاد‌کنیم،‌به‌شخص‌سوم‌نیاز‌داریم‬!
‫مشکلش‬ ‫نمیفهمم‬ ،‫سوم‬ ‫نفر‬ ‫خوبه‬ ‫اینکه‬‫رو‬!‫؟‬
‫تعدادشون‌محدوده‬!
•‫اگر‌به‌هر‌دلیلی‌هرج‌و‌مرج‌بشه،‌چه‌از‌رو‌عمد‌چه‌غیر‌عمد،‌چی‌میشه‌؟‬
•‫ورشکست‌بشه‬
•‫پولمونو‌باال‌بکشه؟‬
•‫‌سوزی‌از‌بین‌بره،‌چی‌میشه؟‬‫ش‬‫‌ام‌روی‌سروری‌باشه‌که‌تو‌آت‬‫ش‬‫الگ‌تراکن‬
•‌‫اگه‌به‌جای‬۱,۰۰۰‌‫دالر‌بزنه‬۱۰,۰۰۰‫دالر‌چی؟‬
•‫و‬...
‫و‬...
‫‌ذاریم‬‫ی‬‫‌هامون‌رو‌توی‌یک‌سبد‌م‬‫غ‬‫‌مر‬‫م‬‫خیلی‌ساله‌که‌ما‌داریم‌تمام‌تخ‬..........
‫دیگه‬ ‫نفر‬ ‫یک‬ ‫سبد‬!
‫برای‌حل‌این‌مشکل‌باید‌از‌خودمون‌این‌سوال‌رو‌بپرسیم‬:
...‫سوال‬
‫از‬ ‫وقتی‬‫پول‬ ‫انتفال‬‫زنیم؟‬‫می‬ ‫حرف‬ ‫چیزی‬ ‫چه‬ ‫از‬ ‫دقیقا‬ ،‫کنیم‬‫می‬ ‫صحبت‬
*‫شده‬ ‫ثبت‬ ‫رکورد‬ ‫یک‬*
...‫بهتر‬ ‫سوال‬
‫‌مون‌رو‌اصالح‌و‌یک‌سوال‌بهتر‌مطرح‌کنیم‬‫ل‬‫حاال‌بهتره‌که‌سوا‬
‫توسط‬ ‫اینکه‬ ‫جای‬ ‫به‬ ‫شده‬ ‫ثبت‬ ‫رکورد‬ ‫این‬ ‫هست‬ ‫راهی‬ ‫آیا‬
‫شود‬ ‫مدیریت‬ ‫ما‬ ‫خود‬ ‫توسط‬ ،‫شود‬ ‫داری‬‫نگه‬ ‫و‬ ‫ثبت‬ ‫دیگری‬ ‫شخص‬‫؟‬
‫حاال‌این‌سوال‌ارزش‌وقت‌گذاشتن‌و‌اکتشاف‌بیشتر‌را‌دارد‬
‫پاسخ‬ ‫اما‬ ‫و‬
Blockchain
‫مواد‌الزم‬:
•۱-‫چند‌نفر‌که‌برای‌انتقال‌وجه‌به‌شخص‌سومی‌وابسته‌نبوده‌و‌رکورد‌انتقال‌ر‬‌‫ا‌خودش‬
‫ثبت‌کنند‬
‫کنه؟‬‫می‬ ‫کار‬ ‫چطور‬
‫چند‌نفر؟‬‌‫حداقل‬۳‫نفر‬
‫کنیم‬ ‫اصلاح‬ ‫رو‬ ‫سیستم‬ ‫که‬ ‫بریم‬
•‌‫خب‌ما‌برای‌شروع‌اصالح،‌با‬۱۰‫نفر‬‫‌کنیم؛‌افرادی‌که‌حاضر‌شدن‌بیخال‌بانک‌ی‬‫ی‬‫آغاز‌م‬‌‫ا‬
‫‌هاشون‌رو‌براشون‌منیج‌کنن‬‫ل‬‫‌هایی‌بشن‌که‌پو‬‫م‬‫شخص‌سو‬.
•‫این‌افراد‌حاضر‌شدن‌که‌باهم‌توافق‌کنن؛‌توافقی‌که‌همه‌این‌افراد‌از‌میزان‌حساب‬‌‫همه‬
‫افراد‌با‌خبر‌هستن‌بدون‌آنکه‌از‌هویت‌افراد‌باخبر‌باشن‬
۱-‫خالی‬ ‫پوشه‬ ‫یک‬
•‌‫تمام‌افراد‌این‌گروه‬۱۰‫نفره‌یک‌پوشه‌خالی‌دارن‬
•‫‌هایی‌رو‌به‌پوشه‌خودشون‌اض‬‫ه‬‫با‌گذشت‌زمان‌این‌کاربران‌به‌صورت‌مشترک‌برگ‬‌‫افه‬
‫‌کنن‬‫ی‬‫م‬
•‌‫‌ها‌بین‌این‬‫ش‬‫‌ای‌از‌لیست‌تراکن‬‫ه‬‫‌ها‌مجموع‬‫ه‬‫هر‌کدام‌از‌این‌برگ‬۱۰‫نفر‌است‬.
۲-‫میفت‬ ‫اتفاق‬ ‫تراکنش‬ ‫یک‬ ‫وقتیکه‬‫ه‬
•‫همه‌این‌افراد‌با‌یک‌برگه‌خالی‌و‌یک‌خودکار‌دور‌یک‌میز‌میشینند‬.
•‌‫‌شون‬‫ه‬‫همه‌آماده‌هستن‌که‌به‌محض‌اتفاق‌افتادن‌یک‌تراکنش،‌اون‌رو‌توی‌برگ‬
‫یادداشت‌کنن‬
۲-‫میفت‬ ‫اتفاق‬ ‫تراکنش‬ ‫یک‬ ‫وقتیکه‬‫ه‬
۲-‫میفت‬ ‫اتفاق‬ ‫تراکنش‬ ‫یک‬ ‫وقتیکه‬‫ه‬
‌‫خانم‌شماره‬۲‌‫میخواد‬۱۰‫دالر‌بفرسته‬
‌‫به‌آقای‌شماره‬۹
۲-‫میفت‬ ‫اتفاق‬ ‫تراکنش‬ ‫یک‬ ‫وقتیکه‬‫ه‬
‌‫خانم‌شماره‬۲‫اینو‌فریاد‌میزنه‬:
“‌‫میخوام‬۱۰‫دالر‌رو‌انتقال‌بدم‌به‬
‌‫آقای‬‫شماره‬۱۰‫؛‌پس‌لطفا‬
‫‌تون‌یادداشت‌کنید‬‫ه‬‫هم‬”
۲-‫میفت‬ ‫اتفاق‬ ‫تراکنش‬ ‫یک‬ ‫وقتیکه‬‫ه‬
‌‫‌کنن‌که‌خانم‌شماره‬‫ی‬‫همه‌افراد‌بررسی‌م‬۲‌‫به‌اندازه‬۱۰‌‫‌خواد‌انتقال‌بده؟‌اگر‬‫ی‬‫دالر‌داره‌که‌م‬
‫‌کنند‬‫ی‬‫اوکی‌بود،‌تراکنش‌رو‌ثبت‌م‬.
۳-‫ها‬‫تراکنش‬ ‫ادامه‬
•‫‌خوان‌که‌انتقال‌پول‌بدن‬‫ی‬‫با‌گذشت‌زمان‌افراد‌بیشتری‌م‬
•‫هر‌کسی‌خواست‌انتقال‌بده‌مبلغ‌و‌شخصی‌مورد‌نظر‌رو‌فریاد‌میزنه‬
•‌‫بقیه‌افراد‌هم‌به‌محض‌شنیدن‬:
•‫‌کنن‌که‌شخص‌مبدا‌مبلغ‌موردنظر‌رو‌دارن‬‫ی‬‫اول‌بررسی‌م‬
•‫‌کنن‬‫ی‬‫اگر‌مبلغ‌رو‌داشت،‌یادداشت‌م‬
۳-‫ها‬‫تراکنش‬ ‫ادامه‬
•‌‫فرض‌کنیم‌که‌هر‌برگه‌جای‬۱۰‫تا‌تراکنش‌رو‌داره‬
•‫به‌محض‌اینکه‌صفحه‌دیگه‌جای‌نوشتن‌تراکنش‌نداشت،‌به‌پوشه‌منتقل‌ش‬‌‫ده‌و‌یک‬
‫برگه‌جدید‌برداشته‌شده‌و‌ادامه‌فرآیند‬
۴-‫داخل‬ ‫برگه‬ ‫گذاشتن‬ ‫کنار‬
‫اما‬....
‌‫قبل‌از‌اینکه‌برگه‌به‌داخل‌پوشه‌منتل‌بشه،‌باید‌توسط‌یک‬‫ف‬‫به‬‫منحصر‬ ‫کلید‬‫رد‬‌‫که‌توسط‬
‌‫تمام‌افراد‌مورد‬‫تایید‬‌،‫است‬‫مهر‬‫بشه‬! ۲
۱
1. unique key 2. seal
۴-‫داخل‬ ‫برگه‬ ‫گذاشتن‬ ‫کنار‬
•‫چرا‌مهر‌کردن؟‬!
•‫با‌مهر‌کردن‌امکان‌تغییر‌اطالعات‌آن‌در‌آینده‌از‌بین‌میره،‌نه‌امروز،‌نه‌فردا‌و‌نه‌حت‬‌‫ی‬
‫یک‌سال‌دیگه‬
•‫‌فرد‌توافق‌دارن،‌پس‌از‌اون‌لحظه‌به‌ب‬‫ه‬‫‌ب‬‫ر‬‫به‌عالوه‌وقتی‌همه‌افراد‌روی‌کلید‌منحص‬‌‫عد‌به‬
‫تمام‌محتوای‌داخل‌برگه‌ممهور‌هم‌اعتماد‌دارن‬.‌‫دستکاری‬->‫مهر‌رو‌از‌بین‌میبره‬
‫مهم‬ ‫نکته‬!
‌‫اسم‌اصلی‌این‌اکشن‬‌‫مهر‌کردن‬‌،Mining‫است‬.‌‫‌سازی‌مفاهیم‌بهش‬‫ه‬‫ولی‌ما‌برای‌ساد‬
‫میگیم‌مهر‌کردن‬...
‫‌داد‬‫ی‬‫در‌سازوکار‌سنتی،‌این‌شخص‌سوم‌با‌قولی‌که‌به‌ما‌م‬‫این‌اعتماد‬
،‫‌ها‌به‌درستی‌ثبت‌بشوند‬‫ش‬‫‌کرد‌که‌تراکن‬‫ی‬‫را‌ایجاد‌م‬
‫این‌فرآیند‌ایجاد‌اعتماد،‌تو‌سیستمی‬‫که‬
‫‌کنیم‬‫ی‬‫داریم‌معرفی‌م‬‌‫با‌فرآیند‬
‫کردن‬ ‫مهر‬‫اتفاق‌میفته‬
‫کنیم؟؟‬ ‫مهر‬ ‫چطوری‬
‫قبل‌از‌اینکه‌یاد‌بگیریم‌چطوری‌صفحه‌رو‌مهر‌کنیم،‌بریم‌ببینیم‌که‬
‌‫اصال‬‌‫سازوکار‌مهر‌کردن‬‫چطوریه‬!
‫جادویی‬ ‫ماشین‬
‌‫تصور‌کنید‌که‌یک‌ماشین‬‫طرفه‬ ‫یک‬‫با‌دو‌دیوار‌نازک‌احاطه‌شده‬
‌‫‌ای‌با‬‫ه‬‫هر‌جعب‬‫مشخص‬ ‫محتوای‬‌‫که‌سمت‌چپ‬‫وارد‬،‫این‌دستگاه‌میشه‬
‌‫با‬‫مشخص‬ ‫محتوای‬‌‫دیگه‌از‌سمت‌راست‬‫خارج‬‫میشه‬!
‫جادویی‬ ‫ماشین‬
‌‫ماشین‌جادویی‌رو‌یک‬‫ریاضی‬ ‫تابع‬Hash‫در‌نظر‌بگیرید‬
‌‫فرض‌کنید‌که‌از‌سمت‌چپ‌عدد‬۴‫‌کنیم‬‫ی‬‫رو‌وارد‌ماشین‌جادویی‌م‬
‌‫و‌از‌سمت‌چپ‌رشته‬dcbea‫‌کنیم‬‫ی‬‫را‌دریافت‌م‬
‫جادویی‬ ‫ماشین‬
‌‫حاال‌بجای‬۴‌‫عدد‬۲۶‫‌فرستم‬‫ی‬‫رو‌م‬.‫ببینیم‌چی‌میشه‬...
‫نتیجه‌میشه‬:hash(26) == 94c8e
‫جادویی‬ ‫ماشین‬
‫حاال‌بیایم‌برعکس‌فکر‌کنیم‬.....
‫‌ای‌به‌این‌ماشین‌جادویی‌بگیم‌که‌خروجی‌اون‌حتما‌با‌سه‌تا‌عدد‌ص‬‫ی‬‫خب‌ما‌چه‌ورود‬‌‫فر‬
‫شروع‌بشه‬.‫مثال‬:000ab‌‫یا‬00098‌‫یا‬000fa‫و‬...
‫کن‬ ‫صبر‬ ‫لحظه‬ ‫یک‬...
‫یک‌لحظه‌صبر‌کن‬.............‫‌ست،‌پس‌چطور‌جواب‌ای‬‫ه‬‫مگه‌نمیگی‌که‌ماشین‌یه‌طرف‬‌‫ن‬
‫سوالت‌رو‌بدم؟‬!‌‫عجبااااااا‬......
‫جادویی‬ ‫ماشین‬
‫‌های‌مختلف‌به‌جواب‌ک‬‫ی‬‫بیایم‌خوشبین‌باشیم‌و‌بعد‌از‌هزاران‌بار‌تالش‌و‌دادن‌ورود‬‌‫ه‌نیاز‬
‫ما‌رو‌پاسخ‌بده‌رسیدیم‬
‫جادویی‬ ‫ماشین‬
‫دوباره‌برگردیم‌همین‌سمت‌ورودی‬.
‫فک‌کنید‌بدونیم‌خروجی‌چی‌هست،‌و‌یه‌ورودی‌هم‌به‌ما‌داده‌بشه‬
‫حاال‌کار‌بسیار‌راحتیه‌که‌ورودی‌رو‌بدیم‌به‌ماشین‌جادویی‌و‌خروجی‌رو‌با‌خروجی‌مو‬‌‫رد‬
‫انتظار‌مقایسه‌کنیم‬.
‫جادویی‬ ‫ماشین‬
‌‫با‌ماشین‌جادویی‬(‌‫تابع‬Hash)‫حساب‌کردن‌ورودی‌از‌روی‌خروجی‌خیلی‌سخته‬!‫خیلی‬...
‌،‫ولی‌با‌داشتن‌خروجی‌موردانتظار‌و‌ورودی‬Validate‌‫کردن‌خروجی‌از‌ورودی‌و‌مقایسه‬
‫‌ایه‬‫ه‬‫آن‌با‌خروجی‌موردنظر‌کار‌بسیار‌ساد‬.‫کافیه‌ورودی‌رو‌بدیم‌به‌ماشین‌جادویی‬.‫ب‬‫ووم‬!
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫با‌یک‌مثال‌این‌موضوع‌رو‌تشریح‌کنیم‬
‌‫فرض‌کنیم‌با‌همون‌ماشین‌مجازی،‌حاال‌ما‌دو‌تا‌جعبه‌داریم،‌یکی‌از‌اونها‌عدد‬۲۰۸۹۳
‌‫‌شون‌یک‌خروجی‌مشخص‌خواهیم‌داشت‌که‌سه‌کاراکتر‌اولش‬‫ب‬‫است‌و‌با‌ترکی‬000‫است‬
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫‌رسیم‬‫ی‬‫مثل‌قبل،‌بعد‌از‌هزاران‌بار‌تالش‌و‌جمع‌کردن‌دو‌ورودی‌به‌خروجی‌دلخواه‌م‬.
‌‫درواقع‌به‌دست‌میاریم‌که‌وقتی‬۲۰۸۹۳‌‫رو‌با‬۲۱۱۹۱‫جمع‌کنیم‌و‌به‌ماشین‌جادویی‌بدیم‬
‌‫خروجی‌ما‌با‬000‫شروع‌میشه‬
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‌‫حاال‌عدد‬۲۱۱۹۱‌‫که‌پیدا‌کردیم،‌به‌عنوان‬‫مهر‬‌‫عدد‬۲۰۸۹۳‫‌کنه‬‫ی‬‫عمل‌م‬.
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‌‌‫فرض‌کنید‌که‌یک‌صفحه‌داریم‌که‌توش‌عدد‬۲۰۸۹۳‫نوشته‌شده‌و‬
‌‫مهر‌آن‌عدد‬۲۱۱۹۱‫است‬
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫‌ست‬‫ه‬‫کار‌ساد‬.‌‫ما‌عدد‬۲۰۸۹۳‌‫رو‌با‬۲۱۱۹۱‌‫‌ای‬‫ه‬‫میدیم‌به‌ماشین‌جادویی،‌اگر‌خروجی‌رشت‬
‌‫باشه‌که‌سه‌تا‌کاراکتر‌اولش‬000‌‫بود،‌اونوقت‌صفحه‬Valid‫‌هست‬.
‫اگر‌غیر‌این‌بود،‌پس‌صفحه‌رو‌میریزیم‌دور،‌چون‌محتواش‌دستکاری‌شده‬!
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫‌خوایم‌براش‌یک‌مهر‌پیدا‌کنیم‌ک‬‫ی‬‫‌ها‌رو‌داریم‌م‬‫ش‬‫حاال‌ما‌یک‌صفحه‌از‌لیست‌تراکن‬‌‫ه‌وقتی‬
‌‫میدیم‌به‌ماشین‌جادویی،‌خروجی‌ماشین‌با‬000‫شروع‌بشه‬
‫نکته‬
‌‫اینجا‌برای‌اینکه‌فهم‌کارکرد‌ماشین‌جادویی‌یا‌همان‌تابع‬Hash‌‫آسون‌بشه‌گفتیم‌که‬
‌‫خروجی‌باید‌با‬000‫‌تر‌از‌اینهاس‬‫ه‬‫شروع‌بشه؛‌وگرنه‌خروجی‌و‌کال‌فرآیند‌خیلی‌پیچید‬‫ت‬
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫بعد‌از‌اینکه‌امضای‌صفحه‌با‌کلی‌صرف‌کردن‌زمان‌و‌برق‌پیدا‌شد،‌اگر‌هر‌کسی‌ب‬‌‫خواد‬
‌‫محتوای‌صفحه‌رو‌تغییر‌بده،‌به‌راحتی‌با‌امضا‌میشه‌فهمید‌که‌دیگه‌محتوا‬Valid‫نیست‬
‫صفهات‬ ‫مهر‬ ‫در‬ ‫جادویی‬ ‫ماشین‬ ‫از‬ ‫استفاده‬
‫‌ها‬‫ش‬‫برگردیم‌به‌همون‌مثال‌تراکن‬...
‫به‬‫محض‬‫اینکه‬‫تراکنش‬‫جدیدی‬‫به‬‫لیست‬‫اضافه‬‫شد‬‫که‬‌‫ه‬‫صفح‬‫کنونی‬‫کامل‬‫ش‬،‫د‬‫همه‬
‫شروع‬‫‌کنن‬‫ی‬‫م‬‫به‬‫پیدا‬‫کردن‬‫شماره‬‫امضای‬‫این‬‫صفحه‬.‫اولین‬‫نفری‬‫هم‬‫که‬‫امضا‬‫رو‬‫پ‬‫یدا‬‫کرد‬
‫به‬‫کل‬‫افراد‬‫و‬‫درواقع‬‫کل‬‫شبکه‬‫اعالم‬‫‌کنه‬‫ی‬‫م‬.
‫بود‬ ‫اشتباه‬ ‫امضا‬ ‫شماره‬ ‫اگر‬
‌‫فرض‌کنیم‌آقای‌شماره‬۷‫شماره‌امضا‌رو‌پیدا‌کرده‌و‌اعالم‌کرده‌اما‌با‌بررسی‌توسط‌بقی‬‌،‫ه‬
‫متوجه‌بشن‌که‌اشتباهه‬.‫پس‌یکی‌از‌احتماالت‌زیر‌وجود‌داره‬:
۱-‌‫آقای‌شماره‬۷‫‌ها‌رو‌اشتباه‌شنیده‬‫ش‬‫یکی‌یا‌چندتا‌از‌تراکن‬
۲-‌‫آقای‌شماره‬۷‫‌ها‌رو‌اشتباه‌یادداشت‌کرده‬‫ش‬‫یکی‌یا‌چندتا‌از‌تراکن‬
۳-‌‫آقای‌شماره‬۷‫سعی‌کرده‌که‌تقلب‌کنه‬
‫بود‬ ‫اشتباه‬ ‫امضا‬ ‫شماره‬ ‫اگر‬
‌‫هیچ‌فرقی‌نداره‌که‌دلیل‌این‌اشتباه‌چیه،‌ولی‌آقای‌شماره‬۷‌‫باید‌کاغذ‌خودش‌رو‌بندازه‬
‫دور‌و‌یک‌کپی‌از‌کاغذ‌از‌بقیه‌کاربرها‌دریافت‌کنه‬.
‫‌ای‌رو‌ثبت‌کنه‌یا‌توی‬‫ه‬‫تا‌زمانی‌هم‌که‌این‌کار‌رو‌انجام‌نده،‌اجازه‌نده‌تراکنش‌دیگ‬‌‫فرآیند‬
‫شرکت‌کنه‬
‫دلاری‬ ‫میلیون‬ ‫یک‬ ‫سوال‬!
‫‌ام‌رو‌استفاد‬‫ع‬‫خب،‌با‌وجود‌اینکه‌بقیه‌میتونن‌امضای‌رو‌حساب‌کنن،‌من‌چرا‌مناب‬‌‫ه‌کنم‌و‬
‫من‌هم‌شروع‌کنم‌به‌حساب‌این‌کد‌امضا؟‬
‫‌مونم‬‫ی‬‫میشینم‌و‌منتظر‌اعالم‌کد‌امضا‌از‌طرف‌بقیه‌م‬.‫واال‬!
‫دلاری‬ ‫میلیون‬ ‫یک‬ ‫سوال‬ ‫ساده‬ ‫جواب‬!
‌‫اینجاست‌که‌پای‬«‫پاداش‬»‫میاد‌وسط‬!
‌‫هر‌کسی‌که‌توی‬Blockchain‫باشه‌الیق‌گرفتن‌پاداش‌است‬.‫هر‌کسی‌که‌بتونه‌امض‬‌‫ا‌رو‬
‫اول‌از‌همه‌و‌درست‌حساب‌کنه،‌الیق‌گرفتن‌یک‌پول‌رایگان‌به‌عنوان‌پاداش‬.
‫پاداشی‌در‌ازای‌زمان‌و‌انرژی‌که‌صرف‌کرده‬
‫پاداش‌باعث‌میشه‌که‌هر‌کسی‌در‌این‌شبکه‌ترغیب‌بشه‌که‌کار‌کنه‬!
‫مثال‬
‌‫بیاین‌فرض‌کنیم‌که‌آقای‌شماره‬۵‫تونسته‌شماره‌امضا‌رو‌پیدا‌کنه‬.
‌‫ب،‌چون‌درست‌بوده‌یک‌دالر‬ ُ‫خ‬(‫‌کوین‌یا‬‫ت‬‫یا‌یک‌بی‬)...‫‌دیم‬‫ی‬‫بهش‌جایزه‌م‬.
‫‌شه‌و‬‫ی‬‫‌شه؛‌بلکه‌ساخته‌م‬‫ی‬‫ولی‌این‌جایزه‌از‌حساب‌کسی‌برداشته‌نم‬
‫‌کنه‬‫ی‬‫آقای‌شماره‌اختصاص‌پیدا‌م‬.‌‫‌گن‬‫ی‬‫واسه‌همینه‌که‌بهش‌م‬Mine‫کردن‬
‫چین‬‫بلاک‬
•Blockchain‫درواقع‌یک‌دیتابیس‌هست‬.
•‫‌تر‌میشه‬‫گ‬‫این‌دیتابیسی‌هست‌که‌برای‌همیشه‌بزرگ‌و‌بزر‬
•‌‫این‌دیتابیس‌هیچ‌وقت‬‌‫نه‌تغییر‌میکنه‬،‫نه‌پاک‌میشه‬!
•‫‌چین‌را‌نداره‬‫ک‬‫‌داری‌و‌پشتیبانی‌از‌بال‬‫ه‬‫شخص‌یا‌سازمان‌خاصی‌مسئول‌نگ‬
•‫‌ها‌هستن‬‫ن‬‫‌چی‬‫ک‬‫‌برد‌بال‬‫ش‬‫هزاران‌نفر‌درگیر‌پشتیبانی‌و‌پی‬
•‫هر‌کسی‌هم‌میتونه‌به‌این‌افراد‌ملحق‌بشه،‌حتی‌تو‬!
•‫‌تونه‌یک‌کپی‌از‌دیتابیس‌داشته‌باشه‬‫ی‬‫‌چین‌بشه‌م‬‫ک‬‫هر‌کسی‌هم‌وارد‌بال‬
‫کوین‬‫بیت‬
...‫‌کوین‌آفریده‌شد‬‫ت‬‫و‌اینگونه‌بود‌که‌بی‬
‌‫واحد‌پولی‌که‌براساس‬Blockchain‫‌شود‬‫ی‬‫ساخته‌و‌معامله‌م‬
‫کوین‬‫بیت‬
•‫وقتی‬‫‌های‬‫م‬‫آد‬‫بیشتری‬‫به‬‫دنبال‬‫‌کوین‬‫ت‬‫بی‬،‫‌رن‬‫ی‬‫م‬‫ارزش‬‫‌کوین‬‫ت‬‫بی‬‫میره‬،‫باال‬‫در‬‫نتیجه‬
‫‌های‬‫م‬‫آد‬‫بیشتری‬‫ترغیب‬‫‌شن‬‫ی‬‫م‬‫که‬‫‌کوین‬‫ت‬‫بی‬‫داشته‬‫باشن‬.
•‫افراد‬‫بیشتری‬‫‌کوین‬‫ت‬‫بی‬،‫بخوان‬‫بازهم‬‫ارزش‬‫‌کوین‬‫ت‬‫بی‬‫میره‬‫باال‬.
•‫و‬........‫همینطوری‬‫این‬‫چرخه‬‫ادامه‬‫خواهد‬‫داشت‬
‫کوین‬‫بیت‬
‫یه‌لحظه‌اینطوری‌تصور‌کن‬:
•‌‫هر‌صفحه‬(‫سیاهه‌حساب‬)‌‫یک‬‌‫‌ها‬‫ش‬‫بلوک‌از‌تراکن‬‌‫در‌نظر‌بگیر‬(Block of transactions)
•‌‫پوشه‌رو‌هم‌به‌عنوان‬‌‫‌ای‌از‌صفحات‬‫ه‬‫زنجیر‬(Chains)
•‌‫در‌نهایت‌هم‌کل‌اینها‌رو‌در‌قالب‌یک‌سیستم‬Blockchain‫در‌نظر‌بگیر‬.‌‫نوع‬
‌‫‌سازی‌دیتابیسی‌این‌سیستم‌به‌شکل‬‫ه‬‫ذخیر‬Blockchain‫هست‬.
‫کوین‬‫بیت‬
‫چقدر‌خفن‬!‫نه؟‬!
‫کوین‬‫بیت‬
‫‌‌هم‌بررسی‌کنیم‬‫ه‬‫بیایم‌یه‌چیز‌دیگ‬......
‌‫اگه‌من‌برم‌صفحه‬۲‫رو‌تغییر‌بدم‌چطور‌میخوای‌جلومو‌بگیری؟‬
‫یادته؟‬ ‫اینو‬
‫شکلیه‬ ‫این‬ ‫درواقع‬
‫تر‬‫واضح‬ ‫یکم‬
Block 1
Block 2
Block 3
‫زنجیره‬
•‫‌کنیم‬‫ی‬‫اینجاست‌که‌از‌معنای‌واقعی‌زنجیره‌استفاده‌م‬
•‫هر‌مهر‌صفحه‌فعلی‌به‌خروجی‌صفحه‌قبلی‌بستگی‌داره‬
•‫‌ست‬‫ه‬‫خروجی‌صفحه‌قبلی‌هم‌درواقع‌وابسته‌به‌محتوای‌صفحه‌و‌مهر‌پیدا‌شده‌اون‌صفح‬
•‫پس‌ما‌یک‌زنجیره‌داریم‌که‌به‌هم‌وابستگی‌دارن‬
•‫تغییر‌در‌هر‌صفحه‌باعث‌تغییر‌مهر‌تمام‌صفحات‌بعدی‌میشه‬!
‫میشه؟‬ ‫چی‬ ،‫کنم‬ ‫تقلب‬ ‫بخوام‬
•‌‫من‌برمیگردم‌صفحه‬۲‫‌کنم‌به‌ساختن‌مهر‌جدید‌تمام‌ص‬‫ی‬‫رو‌تغییر‌میدم‌و‌طبیعتا‌شروع‌م‬‌‫فحات‬
‫بعدی‬
•‌‫‌کنم‬‫ی‬‫یک‌زنجیره‌جدید‌برای‌خودم‌درست‌م‬
•‌‫اما‌سازوکار‬Blockchain‌‫براساس‌اینکه‬‫هستند‬ ‫صادق‬ ‫اکثریت‬‫بنا‌شده‬
•‫دروغ‌من‌توسط‌اکثریت‌صادق‌رد‌میشه‬
51% Attack
•‌‫گفتیم‬Blockchain‌‫براساس‬‫هستند‬ ‫صادق‬ ‫اکثریت‬‌‫بنا‬‫شده‬
•‫حاال‌اگه‌بیشتر‌شبکه،‌همزمان‌یک‌دروغ‌مشترک‌را‌اعالم‌کنن،‌چی؟‬!
•‌‫‌تونه‬‫ی‬‫‌ای‌هست‌که‌م‬‫ه‬‫خب،‌این‌درواقع‌نقط‬Blockchain‫رو‌دور‌زد‌و‌اون‌رو‌از‌بین‌برد‬!
•‫اما‌تقریبا‌غیرممکنه‌این‌اتفاق‌بیفته‬.‌‫‌روز‌به‬‫ه‬‫مخصوصا‌اینکه‌روزب‬Miner‌‫‌های‌این‌نتورک‌اضافه‬
‫میشه‬
•‫ولی‌باید‌همه‌ما‌به‌این‌نقطه‌ضعف‌آگاه‌باشیم‬
Source
• https://thenextweb.com/evergreen/2017/07/04/ultimate-3500-word-plain-english-guide-blockchain

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn
 

Featured (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Blockchain and Bitcoin for Dummies - بلاک چین و بیت کوین به زبانی ساده