#وایتپیپربیتکوین
Explore tagged Tumblr posts
Text
وایت پیپر ارز دیجیتال بیت کوین نوشته ساتوشی ناکاموتو
امروز در رسانه اینترنتی همه چی ام ال به وایت پیپر ارز دیجیتال بیت کوین خواهیم پرداخت ، بیت کوین که در سال 2008 توسط شخص ، گروه ، سازمان ناشناسی به نام ساتوشی ناکاماتو معرفی شد . ارز دیجیتال بیت کوین که امروزه پرچمدار ارز دیجیتال ها حساب می شوند . اما ارز دیجیتال بیت کوین چگونه و با چه وایت پیپر ونقشه راهی معرفی شد . با ما همراه باشید ......
مقدمه
تجارت بر روی اینترنت تقریبا به طور انحصاری متکی بر موسسات مالی شده است که این موسسات به عنوان شخص ثالث مورد اعتماد برای پردازش پرداخت های الکترونیک عمل می کنند. در حالی که این سیستم برای اکثریت تراکنش ها به خوبی عمل می کند اما این سیستم یک ضعف ذاتی دارد و آن وابستگی به اعتماد است. تراکنش های کاملا غیر قابل برگشت در این مدل امکان پذیر نیست زیرا موسسات مالی این قدرت ��ا دارند تا تراکنشی را به اختیار خود برگشت بزنند. هزینه این میانجی گری به افزایش هزینه تراکنش ها ختم می شود و امکان تراکنش های غیر رسمی کوچک را از میان بر می دارد و همچنین هزینه بیشتری برای فقدان توانایی پرداخت های غیر قابل برگشت موجود خواهد بود. با مطرح کردن امکان برگشت، نیاز به اعتماد بیشتر احساس می شود. در این حالت بازرگانان محتاط می شوند و درصد معینی از کلاه برداری غیر قابل اجتناب خواهد شد. این هزینه ها و شک و تردید ها در مورد پرداخت را می توان حضوری و با استفاده از پول فیزیکی حل کرد اما هیچ مکانیسمی برای انجام پرداختی بر روی یک کانال ارتباطی بدون نیاز به شخص ثالث موجود نیست. آنچه امروزه مورد نیاز است یک سیستم پرداخت الکترونیک بر اساس تکنولوژی رمزنگاری است که جایگزین اعتماد شود و به هر دو طرف مشتاق اجازه دهد که مستقیما با همدیگر تراکنش داشته باشند و در این میان نیاز به شخص ثالث مورد اعتماد نباشد. تراکنش هایی که برگشت آنها از لحاظ محاسباتی غیر عملی است از فروشندگان در برابر تقلب محافظت می کنند. در این رساله، راه حلی برای مشکل دوبار خرج کردن با استفاده از سرور برچسب زمانی همتا به همتا پیشنهاد می شود و با استفاده از این راه حل، مدرک محاسباتی ترتیب زمانی تراکنش ها تولید می شود. این سیستم تا زمانی که نود های صادق مجموعا کنترل بیشتر قدرت CPU را به نسبت نود های مهاجم در دست داشته باشند، ایمن خواهد بود.
تراکنش ها
ما یک کوین دیجیتالی را به عنوان زنجیره ای از امضا های دیجیتال تعریف می کنیم. هر مالکی با استفاده از امضای دیجیتال هش بلاک قبلی، کوین و کلید عمومی فرد بعدی را انتقال می دهد و این موارد را به انتهای تراکنش جدید اضافه می کند. گیرنده وجه می تواند امضا ها را تایید کند و زنجیره مالکیت تایید شود. مشکل البته این است که دریافت کننده وجه نمی تواند تایید کند که یکی از مالکان این کوین را دو بار خرج کرده است یا نه. یک راه حل رایج، معرفی یک مقام متمرکز مورد اعتماد است که هر تراکنش را مورد بررسی قرار می دهد. بعد از تایید هر تراکنش، کوین باید به محل ضرابخانه (جایی که کوین جدید تولید می شود) برگردانده شود تا کوین جدیدی صادر شود و تنها کوین هایی که مستقیما از ضرابخانه صادر شده اند مورد اعتماد هستند. مشکل این راه حل این است که سرنوشت کل سیستم پول بستگی به شرکتی دارد که کوین را ضرب می کند و هر تراکنشی باید از طریق آنها انجام شود، درست مانند یک بانک. اما ما به روشی نیاز داریم که دریافت کننده وجه بداند که مالکین قبلی پیش تر هیچ تراکنشی را امضا نکرده اند. در اینجا منظور از اولین تراکنش، آن تراکنشی است که شمرده می شود و بنابراین به تلاش های بعدی برای خرج کردن دوباره اهمیت داده نمی شود. تنها راه برای تایید غیاب یک تراکنش، اگاهی از همه تراکنش ها می باشد. در مدل ضرابخانه، آن شرکت ضرب کننده از تمامی تراکنش ها آگاه بود و تصمیم می گرفت که کدام یک از آنها اول صورت گرفته است. برای انجام این کار بدون نیاز به یک شخص مورد اعتماد، تراکنش ها باید به شیوه عمومی اعلام شوند و در اینجا نیاز به سیستمی است تا مشارکان بر روی یک تاریخچه مجزا در مورد سفارش دریافتی توافق کنند. گیرنده وجه نیاز به مدرکی دارد که ثابت کند در زمان هر تراکنش، اکثریت نود ها بر آن تراکنش توافق داشته و آن را اولین تراکنش محسوب کرده اند.
نحوه تراکنش در وایت پیپر بیت کوین
سرور برچسب زمانی (Timestamp Server)
راه حل پیشنهاد شده در بالا با یک سرور برچسب زمانی شروع می شود و این سرور با برداشتن هش یک بلاک برای برچسب زمانی زدن و انتشار گسترده هش کار می کند و این شبیه کار یک روزنامه است. برچسب زمانی ثابت می کند که داده ها در آن زمان به منظور کنترل هش وجود داشته اند. هر برچسب زمانی شامل برچسب زمانی قبلی در هش خود می باشد که یک زنجیره را شکل می دهد و هر برچسب زمانی اضافه شده برچسب های پیشین را تقویت می کند.
برچسب گذاری زمان در وایت پیپر بیت کوین
گواه اثبات کار (Proof of Work)
برای پیاده سازی یک سرور برچسب زمانی توزیع شده در یک مبنای همتا به همتا، لازم است که از یک سیستم گواه اثبات کار مشابه Hashcash که توسط Adam Back اختراع شده، استفاده کرد. گواه اثبات کار شامل جستجوی ارزش در زمانی است که هش صورت می گیرد مانند SHA-256 که در آن هش با عدد صفر بیت شروع می شود. متوسط کار مورد نیاز در تعداد صفر بیتی های مورد نیاز نمایان گر است و می تواند با اجرای یک هش مجزا تایید شود. برای شبکه برچسب زمانی، گواه اثبات کار با افزایش یک عدد اختیاری در بلاک پیاده سازی می شود و این ادامه می یابد تا زمانی که ارزشی پیدا شود که به هش بلاک، صفر بیت مورد نیاز را بدهد. زمانی که تلاش سی پی یو برای راضی کردن گواه اثبات کار گسترش یافت، بلاک بدون انجام دوباره کار، قابل تغییر نخواهد بود. از آنجا که بلاک های بعدی در زنجیره دنبال آن قرار می گیرند، کار تغییر بلاک شامل تغییر دوباره همه بلاک های بعد از آن است. گواه اثبات کار همچنین مشکل تعیین نماینده را در اکثریت تصمیم گیری ها حل می کند. اگر اکثریت بر اساس مدل یک رای برای هر آی پی آدرس باشد، این می تواند توسط هر فردی که قادر به تخصیص آی پی های زیاد باشد دستخوش تغییر شود. گواه اثبات کار اساسا دارای مدل یک رای برای هر سی پی یو می باشد. تصمیم اکثریت توسط طولانی ترین زنجیره ارائه داده می شود که عظیم ترین تلاش گواه اثبات کار در آن زنجیره سرمایه گذاری شده است. اگر اکثریت قدرت سی پی یو توسط نود های صادق کنترل شود، این زنجیره صادق سریعتر از همه رشد می کند و زنجیره های رقیب و خرابکار را کنار می زند. یک مهاجم برای تغییر بلاک قبلی مجبور است که گواه اثبات کار آن و همه بلاک های بعد از آن را دوباره انجام دهد و بعد از این کارهاست که می تواند از کار نود های صادق سبقت گیرد و پیش بیافتد. در ادامه خواهید دید که احتمال موفقیت یک مهاجم با افزایش بلاک ها به طور فزاینده ای کاهش می یابد. برای جبران سرعت سخت افزاری در حال افزایش و تغییر علاقه به مدیریت کردن نود ها به مرور زمان، سختی گواه اثبات کار توسط یک میانگین متحرک که عدد متوسطی از بلاک ها را در ساعت هدف می گیرد، تعیین می شود. اگر بلاک ها خیلی سریع تولید شده باشند، سختی نیز افزایش پیدا می کند.
بلاکی در شبکه وایت پیپر بیت کوین ۱. تراکنش های جدید به همه نود ها فرستاده میشود. ۲. هر نود تراکنش جدید را در یک بلاک قرار می دهد. ۳. هر نود برای پیدا کردن صحت تراکنش با الگوریتم گواه اثبات کار شروع به فعالیت میکند. ۴. وقتی که نودی به پاسخ درست رسید؛ بلاک را برای همه نود ها انتشار می دهد. ۵. نود های دیگر تنها زمانی بلاک را می پذیرند که صحت تراکنش های آن را بپذیرند و قبلا خرج نشده باشد. ۶. نود ها پذیرش بلاک را با کار کردن روی ایجاد بلاک بعدی در زنجیره ابراز می کنند؛ در این حالت از هش بلاک پذیرفته شده به عنوان هش قبلی استفاده می شود. نود ها همیشه طولانی ترین زنجیره را به عنوان زنجیره درست تلقی می کنند و به کار کردن برای گسترش آن ادامه می دهند. اگر دو نود نسخه های متفاوتی از بلاک بعدی را به طور همزمان انتشار دهند، بعضی از نود ها یکی از این نسخه ها را زودتر دریافت می کنند. در این حالت این نود ها بر روی اولین نسخه ای که دریافت می کنند، کار خواهند کرد اما در صورتی که نسخه دیگر طویل تر شود، آن را ذخیره خواهند کرد. زمانی که گواه اثبات کار بعدی پیدا شود چنین رابطه ای بر هم زده می شود و یکی از این شاخه ها طویل تر خواهد شد. در این حالت، نود هایی که بر روی شاخه دیگر کار کرده اند به شاخه طولانی تر انتقال خواهند یافت. انتشار تراکنش جدید لازم نیست که به تمامی نود ها برسد. زمانی که این تراکنش ها به نود های کافی برسند، طولی نخواهد کشید که تبدیل به یک بلاک خواهند شد. اگر یک نود بلاکی را دریافت نکند، در زمان دریافت بلاک بعدی آن را تقاضا می کند و غیاب یک بلاک را تشخیص می دهد. انگیزه معمولا اولین تراکنش در یک بلاک تراکنش خاصی است که کوین جدیدی را شروع می کند و خالق بلاک، مالک آن خواهد شد. این انگیزه ای را برای نود ها ایجاد می کند تا از شبکه پشتیبانی کنند و شیوه ای را فراهم می کند که در ابتدا به توزیع کوین ها به داخل حلقه پرداخته شود زیرا مقامی مرکزی برای صادر کردن آنها وجود ندارد. اضافه شدن یکنواخت مقدار ثابتی از کوین های جدید قابل مقایسه با استخراج گران طلا است که منابع را برای افزودن طلا به چرخه مصرف می کنند. در مثال ما زمان، سی پی یو و الکتریسیته مصرف می شود. این انگیزه را همچنین می توان از طریق کارمزد های تراکنش تامین وجه کرد. اگر ارزش خروجی یک تراکنش کمتر از ارزش ورودی آن باشد، این تفاوت به صورت کارمزد یک تراکنش خواهد بود که به ارزش انگیزه بلاک محتوی تراکنش اضافه می شود. وقتی که مقدار از قبل تعیین شده ای از کوین ها به چرخه داخل شدند، انگیزه را می توان تماما از کارمزد های تراکنش تامین کرد و کاملا از تورم آزاد شد. این انگیزه ممکن است به نود ها کمک کند که صادق باقی بمانند. اگر یک مهاجم طماع قادر باشد که قدرت سی پی یو بیشتری از نود های صادق جمع کند، او باید بین استفاده از آن برای فریب مردم با پس گرفتن و دزدیدن پرداختی های خود و یا استفاده از آن برای تولید کوین های جدید یکی را انتخاب کند. برای چنین شخصی پیروی از قوانین سود بیشتری خواهد داشت زیرا تخلف از قوانین و ایجاد کوین های جدید برای آن فرد، سیستم را تضعیف خواهد کرد و اعتبار ثروت آن فرد را نیز از میان می برد. یک هدر بلاک بدون تراکنش حدود ۸۰ بایت است. اگر فرض کنیم که بلاک ها هر ده دقیقه ایجاد شوند، این مقدار در سال ۴.۲ MB خواهد شد. معمولا سیستم های کامپیوتری که در سال ۲۰۰۸ فروخته میشدند ۲ گیگ رم دارند و بنا بر قانون مور (Moore) می توان پیش بینی کرد که رشد حال حاضر ۱.۲ GB در سال می باشد؛ حتی اگر هدر بلاک ها هم در حافظه نگه داری شوند مشکل ذخیره پیش نخواهد آمد.
بلاک و درخت مرکل در وایت پیپر بیت کوین
تایید پرداخت تسهیل شده
تایید پرداختی ها بدون راه اندازی یک نود کامل نیز ممکن است. یک کاربر تنها نیاز است که یک کپی از هدر بلاک های درازترین زنجیره گواه اثبات کار را نگه دارد که این کاربر می تواند با بررسی نود های شبکه به این کپی دست یابد و قانع شود که او طولانی ترین زنجیره را دارد. این کاربر باید شاخه Merkle که تراکنش را به بلاکی که در آن برچسب زمانی شده مرتبط می کند، حفظ کند. او نمی تواند تراکنش را به تنهایی بررسی کند بلکه با مرتبط کردن آن به مکانی در زنجیره می تواند آن را انجام دهد؛ او می تواند ببیند که یک نود شبکه آن تراکنش را پذیرفته است و بلاک های اضافه شده بعد از آن بیشتر مورد پذیرش شبکه می باشد. چنین تاییدی تا زمانی که نود های صادق شبکه را کنترل می کنند، قابل اعتماد است. اما زمانی که مهاجم در شبکه بیشتر قدرت بگیرد، این تایید آسیب پذیر خواهد بود. در حالی که نود های شبکه می توانند تراکنش ها را به تنهایی تایید کنند؛ این روش تسهیل شده می تواند توسط یک مهاجم مورد سوء استفاده قرار بگیرد و تا زمانی که بر شبکه سیطره دارد، قادر به ایجاد تراکنش های جعلی خواهد بود. یک استراتژی برای محافظت در برابر این تهدید، پذیرفتن هشدار از جانب نود های شبکه می باشد که این هشدار ها در زمانی داده می شود که نود ها بلاک نامعتبری را شناسایی می کنند. این بلاک های نامعتبر نرم افزار کاربر را به فعالیت وا می دارند تا کل بلاک و تراکنش های هشدار داده شده را دانلود کند و این ناسازگاری را تایید کند. کسب و کار هایی که پیوسته پرداختی دریافت می کنند احتمالا هنوز بخواهند که نود های خودشان را برای امنیت مستقل تر و تایید سریعتر راه اندازی کنند.
برسی وایت پیپر بیت کوین
ترکیب و تقسیم ارزش
اگرچه مدیریت کوین ها به صورت فردی ممکن است اما انجام تراکنش جداگانه برای هر یک سنت (دلار) انتقالی دشوار می باشد. با اجازه دادن به تقسیم و ترکیب ارزش، تراکنش ها شامل ورودی ها و خروجی های متعددی می شوند. معمولا یا یک ورودی مجزا از تراکنش بزرگتر قبلی موجود خواهد بود یا ورودی های متعددی مقادیر کوچک تر را ترکیب می کنند و حداکثر نیز دو خروجی موجود خواهد بود: یکی برای پرداختی و دیگری برای بازگرداندن تغییر به فرستنده در صورتی که چنین تغییری موجود باشد. البته این گنجایش خروجی باید مورد توجه قرار بگیرد که در آن یک تراکنش به چندین تراکنش وابسته است و آن تراکنش ها نیز بر بسیاری دیگر وابسته می باشند که البته این موضوع در اینجا مشکل نیست. هرگز نیاز به استخراج یک کپی کاملا مستقل از تاریخچه تراکنش نیست. البته این گنجایش خروجی باید مورد توجه قرار بگیرد که در آن یک تراکنش به چندین تراکنش وابسته است و آن تراکنش ها نیز بر بسیاری دیگر وابسته می باشند که البته این موضوع در اینجا مشکل نیست. هرگز نیاز به استخراج یک کپی کاملا مستقل از تاریخچه تراکنش نیست.
برسی وایت پیپر بیت کوین
نحوه محاسبات در شبکه
ما این سناریو را مورد بررسی قرار می دهیم که یک مهاجم سعی کند زنجیره دیگری را سریعتر از زنجیره اصلی (درست) ایجاد کند. حتی اگر چنین کاری انجام شود، سیستم را در معرض تغییراتی مانند ایجاد ارزش به صورت غیر منتظره یا برداشت پولی که هرگز متعلق به مهاجم نبوده، قرار نخواهد داد. نود ها یک تراکنش نامعتبر را ��ه عنوان پرداختی نمی پذیرند و نود های صادق هرگز بلاکی را که محتوی آن است، قبول نخواهند کرد. یک مهاجم تنها می تواند سعی کند که یکی از تراکنش های خود را تغییر دهد تا پولی را که اخیرا خرج کرده، دوباره خرج کند. رقابت بین زنجیره صادق و زنجیره مهاجم را می توان به عنوان : Binomial Random Walk توصیف کرد. اگر زنجیره اصلی یک بلاک پیدا کند و رهبری خود را به اندازه +1 افزایش دهد و اگر زنجیره مهاجم به اندازه یک بلاک گسترش یابد و خلا را به اندازه -1 تغییر دهد، شکست حاصل خواهد شد و هک صورت می گیرد. احتمال اینکه یک مهاجم بتواند کمبود ایجاد شده را جبران کند مشابه مسئله Gambler`s Ruin (نابودی قمارباز) می باشد. فرض کنید یک قمارباز که اعتبار نامحدودی دارد از یک کسری شروع می کند و احتمالا به دفعات نامحدود بازی می کند تا سر به سر شود. ما می توانیم احتمال سر به سر شدن او را محاسبه کنیم یا اگر به بحث خودمان برگردیم می توانیم احتمال اینکه یک مهاجم به زنجیره اصلی برسد را به صورت زیر محاسبه کنیم. خب فرض کنیم P احتمال اینکه نود اصلی بلاک بعدی را پیدا کند، q احتمال اینکه مهاجم بلاک بعدی را پیدا کند و qz احتمال اینکه مهاجم بتواند z بلاک عقب افتاده را جبران کند. اگر p بزرگتر از q باشد، احتمال به صورت نمایی و در حد زیاد کاهش می یابد زیرا تعداد بلاک هایی که مهاجم قصد جبران آن را دارد، افزایش پیدا می کند. در این حالت احتمالات بر ضد مهاجم است و اگر او در اوایل کار یک خیزش خوش شانسانه به سمت جلو نداشته باشد، شانسش بسیار کاهش می یابد و خیلی عقب می افتد. حال به بررسی مدت زمانی می پردازیم که گیرنده یک تراکنش جدید باید منتظر باشد قبل از اینکه به اندازه کافی مطمئن شود که فرستنده نمی تواند تراکنش را تغییر دهد. فرض می کنیم فرستنده مهاجمی است که می خواهد گیرنده را قانع کند که برایش پرداختی ارسال کرده است، سپس این مهاجم بعد از مدتی پرداختی را برای خود بر می گرداند. وقتی که چنین چیزی روی می دهد، گیرنده هشدار دریافت می کند اما فرستنده امیدوار است که برای این کار دیر شده باشد. گیرنده یک جفت کلید جدید را ایجاد می کند و کلید عمومی را به زودی و قبل از امضا به فرستنده می فرستد. این مانع از آماده کردن یک زنجیره بلاک پیش از موعد توسط فرستنده می شود. فرستنده این را با کار کردن پیوسته روی زنجیره انجام می دهد تا زمانی که به اندازه کافی خوش شانس باشد و پیش بیافتد و سپس تراکنش را در آن لحظه انجام خواهد داد. زمانی که تراکنش فرستاده شد، فرستنده ناصادق شروع به کار کردن سری بر روی زنجیره موازی می کند که شامل نسخه دیگری از تراکنش او است. گیرنده تا زمانی که تراکنش به یک بلاک اضافه می شود، صبر می کند و z بلاک بعد از آن متصل می شود. گیرنده مقدار پیشرفت دقیق مهاجم را نمی داند اما فرض می کند که بلاک های صادق زمان مورد انتظار متوسط برای هر بلاک به طول بیانجامند. پیشرفت احتمالی مهاجم توزیع Poisson با ارزش مورد انتظار خواهد بود:
برسی وایت پیپر بیت کوین برای محاسبه احتمال اینکه مهاجم هنوز بتواند به جبران برسد، تراکم Poisson برای هر مقدار پیشرفتی که مهاجم می توانسته انجام دهد در احتمال جبران از آن نقطه ضرب می کنیم:
برسی وایت پیپر بیت کوین برای اجتناب از جمع کردن دنباله نامحدود توزیع به تنظیم دوباره می پردازیم…
برسی وایت پیپر بیت کوین حال به فرمول های بالا را در زبان C تبدیل به کد میکنیم….
کد نویسی وایت پیپر بیت کوین تعدادی از نتایج را اجرا می کنیم و می بینیم که احتمال با z به طور نمایی کاهش می یابد.
حل برای p کمتر از 0.1 درصد …
ما در رسانه همه چی ام ال برسی نحوه انجام تراکنش ها را به همراه دلیل توضیح دادیم و مقاله نوشته شده توسط ساتوشی ناکاموتو را به فارسی ترجمه کردیم و برای شما علاقه مندان منتشر کردیم . Read the full article
#بیتکوین#بیتکوینچیست#بیتکوینووایتپیپرآن#بیتکویین#قیمتبیتکوین#نقاطضعفوایتپیپربیتکوین#نوشتهساتوشیناکاموتو#وایتپیپر#وایتپیپربیتکوین#وایتپیپرنوشتهشدهساتوشیناکاموتو
0 notes