<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های شکیبا آذرخشی</title>
        <link>https://virgool.io/feed/@shakibazar</link>
        <description>توسعه دهنده نرم افزار</description>
        <language>fa</language>
        <pubDate>2026-06-07 03:13:11</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/79181/avatar/P5rU4u.png?height=120&amp;width=120</url>
            <title>شکیبا آذرخشی</title>
            <link>https://virgool.io/@shakibazar</link>
        </image>

                    <item>
                <title>ورود به دنیای بلاکچین - قسمت پایانی</title>
                <link>https://virgool.io/@shakibazar/%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85-tnegibvpkkam</link>
                <description>در دو پست قبلی مروری بر ادبیات مهم بلاکچین داشتیم، در این پست مفاهیم اصلی را تکمیل کرده و در مورد انواع بلاکچین صحبت میکنیم. در آخر، در مورد چگونگی عملکرد شبکه بلاکچین صحبت میکنیم که برای درک بهتر این قسمت، لازمه دو پست قبلی و مخصوصا مرور ادبیات مطالعه شود.                                                                                                                                  Double spentزمانی اتفاق می افتد که یک تراکنش توسط یک گره به دو مقصد فرستاده شود.گفته شد که ماینرها برای ساخت بلاک بعدی، تعدادی تراکنش را داخل آن بلاک قرار داده و سوال مربوط به آن را حل میکنند. ممکن است در مواردی همزمان دو بلاک توسط دو گره ماین شوند و تعدادی از گره های شبکه روی یک بلاک و بقیه گره ها، روی بلاک دیگر فرآیند ماین کردن را ادامه دهند.به تعداد بلاکی که روی بلاک حاوی تراکنش tx ساخته شود confirmation میگویند. دابل اسپند به دو روش انجام میشود:                                                                                                                              (0)-Confirmation فرض کنیم آلیس قرار است مبلغی را برای باب بفرستد و در ازای آن کالایی را دریافت کند. این حالت زمانی اتفاق می افتد که باب برای هیچ confirmation روی بلاک حاوی تراکنش آلیس منتظر نمی ماند و بلافاصله کالا را برای آلیس ارسال میکند. آلیس همچنین به طور همزمان تراکنش خود را در بلاکی که در شاخه دیگر ایجاد شده است منتشر میکند. به دلیل تاخیری که در شبکه وجود دارد ماینرهای دیگر هنوز از نامعتبر بودن تراکش موجود در شاخه دوم مطلع نشده اند و بنابراین تراکنش دوباره پذیرفته شده و دابل اسپندینگ اتفاق می افتد. این حالت تنها زمانی اتفاق می افتد که دریافت کننده تراکنش، منتظر تائید هیچ confirmation ای نمی ماند و بنابراین تقریبا امکان اتفاق افتادن آن وجود ندارد.                                                                                                                              (z)-Confirmationباب منتظر zعدد confirmation میماند و سپس معتبر بودن تراکنش را پذیرفته و کالا را برای آلیس ارسال می کند. در این حالت باب برای انجام دابل اسپنت باید تعداد z بلاک را بالای بلاک خود ماین کند و پس از اینکه باب، کالا را برای او ارسال کرد آن را در شبکه منتشر کند. در این حالت چون شاخه دوم بزرگتر است شبکه این شاخه را به عنوان شاخه معتبر میپذیرد و آلیس دوباره تراکنش خود را وارد شبکه کرده است.حمله 51 درصد اگر ماینری 51 درصد قدرت هش شبکه را در اختیار داشته باشد میتواند فورک بلند تر را ساخته و مطابق با حالت (z)-Confirmation امکان حمله به سیستم وجود دارد.انواع بلاکچینسیستم های بلاکچین امروزی تقریبا به سه دسته بلاکچین عمومی، بلاکچین خصوصی و بلاکچین انجمنی تقسیم میشوند. در بلاکچین عمومی، همه سوابق برای عموم قابل مشاهده است و همه می توانند در روند اجماع شرکت کنند. در بلاکچین انجمنی، فقط گروهی از گره های از پیش انتخاب شده در فرآیند اجماع شرکت می کنند. تفاوت اصلی بلاکچین انجمنی و خصوصی در این است که در بلاکچین خصوصی، این گره های انتخاب شده تنها از یک سازمان خاص هستند. بلاکچین خصوصی به عنوان یک شبکه متمرکز در نظر گرفته می شود زیرا به طور کامل توسط یک سازمان کنترل می شود. بلاکچین انجمنی که توسط چندین سازمان ساخته میشود تا حدی غیرمتمرکز است زیرا تنها بخش کوچکی از گره ها برای تعیین اجماع انتخاب می شوند. در جدول زیر، مقایسه ای از انواع بلاکچین ذکر شده است:تعیین اجماع: در بلاکچین عمومی، هر گره می تواند در فرایند اجماع شرکت کند.در بلاکچین انجمنی تنها مجموعه ای از گره ها مسئولیت اعتبارسنجی بلوک را بر عهده دارند. در مورد بلاکچین خصوصی، کنترل فرآیند اجماع تنها توسط یک سازمان انجام میشود.دسترسی خواندن: در بلاکچین عمومی، همه نودها اجازه خواندن تراکنش ها را دارند. در حالیکه در بلاکچین خصوصی یا انجمنی بستگی به شرایط خاصی دارد.تغییر ناپذیری: از آنجا که سوابق در تعداد زیادی از شرکت کنندگان ذخیره می شود ، دستکاری در تراکنش ها در بلاکچین عمومی غیرممکن است. از طرفی دیگر، تراکنش ها در یک بلاکچین خصوصی یا انجمنی می تواند به راحتی دستکاری شود زیرا سوابق تنها در تعداد محدودی از شرکت کنندگان ذخیره میشود.کارآیی: در بلاکچین عمومی، زمان زیادی برای انتشار تراکنش ها و بلاک ها لازم است زیرا تعداد زیادی گره در بلاکچین عمومی مشارکت میکنند. در نتیجه، توان عملیاتی تراکنش ها محدود و زمان تأخیر زیاد است.  به دلیل وجود گره های کمتر، بلاکچین های خصوصی و انجمنی بهینه تر هستند.متمرکز بودن: تفاوت اصلی سه نوع بلاکچین در این است که بلاکچین عمومی غیر متمرکز، بلاکچین انجمنی تا حدی متمرکز و بلاکچین خصوصی کاملاً متمرکز است زیرا توسط یک گروه واحد کنترل می شود.روند اجماع: هرکسی می تواند به روند اجماع بلاکچین عمومی بپیوندند. اما گره ها در هردو نوع بلاکچین خصوصی و انجمنی، برای پیوستن به فرآیند اجماع نیازمند مجوز هستند.بلاکچین چگونه کار میکنددر این قسمت طرز کار بلاکچین به طور مختصر بیان میشود. مطالعه دو پست قبلی برای درک بهتر این قسمت مفید است. بلاکچین یک پایگاه داده توزیع شده و مقاوم در برابر دستکاری است که هیچ موجودیتی آن را کنترل نمی کند، اما همه اعضا قابلیت دسترسی و به اشتراک گذاری در آن را دارند. رکورد های جدید (که به آنها بلاک گفته میشود)اگر توسط همه اعضای شبکه تائید شوند می توانند به بلاک های موجود اضافه شوند. همچنین، پس از ثبت بلاک، امکان اصلاح یا پاک کردن آنها وجود ندارد. بلاکچین به گونه ای طراحی شده است که در یک شبکه غیرقابل اطمینان و با وجود گره های خائن باز هم بتواند کار کند. بلاکچین با استفاده از الگوریتم های هش پیچیده و امن، جامعیت داده ها را حفظ میکند که مانع از بین رفتن یا دستکاری داده ها می شود. این الگوریتم های پیچیده محاسباتی بخشی از الگوریتم اثبات انجام کار هستند که روشی برای اجماع است و با استفاده از آن گره های مختلف در یک شبکه می توانند روی تراکنش های جدید توافق کنند. اگرچه، روش های اجماع دیگری نیز وجود دارد که نیاز به قدرت محاسباتی و سربار شبکه کمتری هستند و در فصل دوم آنها را بررسی خواهیم کرد.اثبات انجام کار یک روش اجماع پرهزینه است. در این روش، گره های مختلف در یک بلاکچین سعی می کنند یک تابع هش رمزنگاری (مثلا SHA-256) را حل کنند. SHA-256 یک هش منحصر به فرد به اندازه 256 بیت تولید می کند. فرآیند ایجاد بلوک بعدی از طریق حل این هش، استخراج نامیده می شود و به کاربرانی که این کار را انجام می دهند، استخراج کننده گفته می شود. بلاک حل شده شامل تراکنش ها، هش بلاک قبلی، نانس و مهر زمان (time stamp) است. پس از آنکه یک استخراج کننده مقدار نانس متناسب با بلاک را پیدا میکند، بلاک حل شده را منتشر می کند تا سایر استخراج کنندگان از آن آگاه شوند. در مرحله بعد، بقیه استخراج کنندگان با استفاده از اطلاعات بلاک و مقدار نانس ادعا شده، بلاک را تأیید می کنند. اگر خروجی آن کمتر از مقدار مورد نظر باشد، معدنکار آن را به عنوان یک بلوک معتبر قبول می کند و تمام تلاش خود را برای حل آن بلوک پس می گیرد و به بلوک بعدی حرکت می کند.بلاکچین تمام تراکنش ها را در بلاکهایی که به هم متصل هستند ذخیره می کند، یعنی یک بلاک شامل چندین تراکنش است که توسط یک نشانگر هش به بلاکهای قبلی متصل است. این زنجیره تا اولین بلاک استخراج شده در بلاکچین ادامه دارد که توسط Satoshi Nakamoto استخراج شده است و بلاک جنسیس نامیده می شود. این معماری تغییر تراکنش ها در بلاکچین را غیرممکن می کند زیرا برای تغییر یک تراکنش، لازم است کلیه بلاک های ساخته شده بر اساس آن تراکنش را در کمتر از 10 دقیقه تغییر دهید. این تغییر تنها با بیش از نیمی از قدرت هش موجود امکان پذیر است.شکل زیر یک بلاکچین متشکل از 4 بلاک را نشان می دهد که هر یک از آنها حاوی شماره بلاک، یک (عدد تصادفی) نانس، داده ها ،هش بلاک قبلی و هش بلوک فعلی است. از آنجا که هیچ بلاکی قبل از بلاک 1 وجود ندارد، هش قبلی آن صفر است. هدف پیدا کردن مقدار نانس است طوری که هش همه ی این مقادیر کمتر از یک مقدار تعیین شده باشد. فرض کنید نانس پیدا شده، 42345 باشد که در بلوک 1 نشان داده شده است.مقدار تعیین شده نشانگر سطح دشواری اثبات انجام کار است. به عبارت دیگر، این مقدار حکم می کند که خروجی 256 بیتی از عملکرد هش با تعداد معینی صفر متوالی شروع شود. در تصویر نشان داده شده است که همه هش ها با سه صفر شروع می شوند. برای بلوک 2، همان فرآیند برای بدست آوردن نانس تکرار می شود. همچنین، مقدار هش قبلی به روز میشود. یک نانس متفاوت به وجود می آید و باز هم هش با سه صفر متوالی شروع می شود. لازم به ذکر است، هرچه مقدار تعیین شده کاهش می یابد، سختی به دست آوردن نانس افزایش می یابد.</description>
                <category>شکیبا آذرخشی</category>
                <author>شکیبا آذرخشی</author>
                <pubDate>Thu, 24 Oct 2019 22:30:16 +0330</pubDate>
            </item>
                    <item>
                <title>ورود به دنیای بلاکچین - قسمت دوم</title>
                <link>https://virgool.io/dataio/%D9%88%D8%B1%D9%88%D8%AF%DB%8C-%D8%A8%D9%87-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-fijkw2wberkt</link>
                <description>در پست قبلی مفهوم کلی تکنولوژی بلاکچین، دفتر کل توزیع شده و الگوریتم اجماع توضیح داده شد. در این پست، مرور ادبیات مهم رو ادامه میدهیم و همونطور که گفته شد بیشتر محتوای این مقاله و مقاله های مرتبط بعدی، قراره پایان نامه ارشدم رو تشکیل بده بنابراین از مقاله های معتبر برداشت شده و برای مطالعه بیشتر  میتونید به رفرنس ها مراجعه کنید.تابع درهم سازهش یک تابع یک طرفه است به این معنی که از مقدار هش شده توسط تابع نمیتوان به داده اصلی رسید. اگر دو سیستم مختلف یک ورودی را دریافت کنند و یک تابع hash یکسان را روی آن اجرا کنند باید مقدار hash یکسانی را بدست آورند. همچنین اگر بلوک های دیتا متفاوت باشند امکان ندارد مقدار هش آن ها با هم یکسان باشد. الگوریتم هایی مثل MD و SHA از انواع الگوریتم های درهم سازی یا Hashing هستند که بیشترین استفاده را دارند. [1]امضاء دیجیتالامضاء دیجیتال در واقع مقدار هش پیام شماست که توسط کلید خصوصی شما امضا شده است. در بلاکچین، از طریق امضا کردن متوجه می­‌شویم که دقیقا چه کسی تراکنش را آغاز کرده است.فرض کنید شما قصد انتقال تراکنش به نود A را دارید. برای اینکار به همراه ارسال تراکنش، مقدار هش شده آن را که توسط کلید خصوصی شما امضا شده است برای نود A ارسال میکنید. نود A با استفاده از کلید عمومی شما که در اختیار همه است تراکنش را رمزگشایی کرده و به مقدار هش شده آن دست پیدا میکند. سپس مقدار هش تراکنش را با استفاده از تابع هش یکسان توسط شما به دست می آورد و مقدار آن را با مقدار رمزگشایی شده توسط کلید عمومی مقایسه میکند. اگر مقدار هر دو یکسان باشند، یعنی تراکنش توسط شما ارسال شده است و کسی آن را دستکاری نکرده است.الگوریتم امضای دیجیتال معمول مورد استفاده در بلاکچین، الگوریتم امضای دیجیتال منحنی بیضوی (ECDSA) است. [2] , [3]درخت مرکلفرض میکنیم تراکنشی که از طریق آلیس به باب قرار است ارسال شود A نام دارد. این تراکنش همراه تراکنش های دیگری مثلا B، C و D در یک بلاک قرار میگیرد. هریک از تراکنش ها هش میشوند تا مجبور نباشیم جزئیات تراکنش را نگه داری کنیم. نگه داری مقدار چهار هش کار دشواری نیست اما مثلا هر بلاک بیتکوین به طور متوسط، 2000 تراکنش را شامل میشود. از طرفی داریم: [4]H(A) + H(B) = H(AB) and H(C)+H(D)=H(CD)اکنون ما تعداد هش ها را به نصف کاهش دادیم. میتوان همین رویه را ادامه داد. H(AB) + H(CD) = H(ABCD)در آخر تنها یک مقدار هش برای نگه داری داریم که به آن ریشه درخت مرکل گفته میشود.هر بلاک در هدر خود شامل ریشه درخت مرکل میشود. به این روش محتویات یک بلاک و سازگاری چندین دفتر کل با هم تائید میشود. اگر ریشه درخت مرکل برای بلاک یکسان در دو دفتر کل توزیع شده برابر باشد یعنی همه ی تراکنش های آن بلاک معتبر هستند، در غیر این صورت حتما حداقل یکی از تراکنش ها دستکاری شده اند.درخت مرکل به نودهای شبکه این امکان را میدهد تا بدون داشتن کل بلاکچین وجود یک تراکنش مشخص در بلاک را بررسی کنند.فرض کنیم میخواهیم وجود تراکنش HD را بررسی کنیم. برای انجام این کار به جای کل بلاکچین تنها ریشه درخت مرکل، HAB، HEFGH و HC را نیاز داریم. [5]ماینینگروش رسیدن به اجماع در شبکه های غیرمتمرکز، ماینینگ است. ماینینگ همچنین برای افراد شرکت کننده در شبکه انگیزه ایجاد میکند تا به ایمن کردن شبکه کمک کنند. یکی از کاربردهای دیگر ماینینگ، خلق پول است.همچنین توسط فرآیند ماینینگ تصمیم گرفته میشود بلاک بعدی شبکه، کدام بلاک باشد و داخل آن چه تراکنش هایی قرار بگیرند.برای توضیح فرآیند ماینینگ در ادامه، شبکه بیت کوین را بررسی میکنیم که از الگوریتم اثبات انجام کار که یکی از روش های رسیدن به اجماع است استفاده میکند. این الگوریتم در پست های بعدی توضیح داده میشود. فعلا فرض اینکه اثبات انجام کار، یک روش اجماع است کافی است.محتویات یک بلاک شامل هدر بلاک و مقداری داده است. هدر بلاک شامل ریشه درخت مرکل، هش بلاک قبلی و یک مقدار نانس است.فرآیند ماینینگ به این صورت است که اگر هدر بلاک توسط تابع خاصی هش شود، مقدار خروجی تابع باید از یک مقدار مشخص کمتر باشد.گفتیم که هدر بلاک دارای سه مقدار ریشه درخت مرکل، هش تابع قبلی و یک مقدار نانس است، میدانیم که مقدار ریشه درخت مرکل و هش بلاک قبلی در هدر بلاک ثابت هستند و تنها نانس است که دارای یک مقدار متغیر است.Output = SHA-256( MerkleRoot + SHA-256(PreviousBlock) + Nonce)هر گره ای که با تغییر دادن مقدار نانس، زودتر به خروجی کمتر از مقدار مشخص شده برسد ماینر آن بلاک خواهد بود و به عنوان جایزه برای ایجاد انگیزه مقداری ارز دیجیتال و همچینین هزینه تراکنش های آن بلاک تعلق میگیرد. برای انجام فرآیند ماینینگ نیاز به سخت افزارهای قدرتمند مانند کارت گرافیکی و cpu با توان پردازشی بالا و دستگاه های اسیک نیاز است که انرژی بسیار زیادی را نیز مصرف میکنند. [4]استخر استخراجماینرها برای بالا بردن شانس پردازش بلاک بعدی، به صورت گروهی به فرآیند ماین کردن میپردازند که اصطلاحا به آن استخر ماینینگ میگویند. طی این فرآیند، ماینرها منابع خود را به اشتراک میگذارند و جایزه دریافت شده را میان خود تقسیم میکنند.درجه سختیعددی که خروجی هش هدر بلاک از آن کمتر است یک عدد 256 بیتی خواهد بود که سمت چپ آن، تعدادی صفر وجود دارد. تعداد صفرهای موجود در سمت چپ، معیار درجه سختی سیستم هستند. هرچه تعداد صفرها بیشتر باشد مقدار عدد 256 بیتی کوچکتر خواهد بود و در نتیجه به دست آوردن مقدار نانس سخت تر خواهد بود. [6] برای جلوگیری از تورم، به طور میانگین هر ده دقیقه یک بلاک در شبکه ماین می شود و بعد از هر 2016 بلاک، درجه سختی مجددا تنظیم میشود.[1] Jean-Sébastien Coron, Yevgeniy Dodis, Cecile Malinaud, Prashant Puniya, “Merkle-Damgård Revisited: How to Construct a Hash Function”, 2005[2] Zibin Zheng, Shaoan Xie, Hongning Dai, Xiangping Chen, and Huaimin Wang, “An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends”, 2017[3]  D. Johnson, A. Menezes, and S. Vanstone, “The elliptic curve digital signature algorithm (ecdsa),” International Journal of Information Security, vol. 1, no. 1, pp. 36–63, 2001[4] WENBO WANG, DINH THAI HOANG, PEIZHAO HU, ZEHUI XIONG, DUSIT NIYATO, PING WANG, YONGGANG WEN, AND DONG IN KIM, “A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks”, 2018[5] R. C. Merkle, “A digital signature based on a conventional encryption function,” in Advances in Cryptology - CRYPTO ’87: Conference on the Theory and Applications of Cryptographic Techniques, C. Pomerance, Ed., Santa Barbara, CA, Aug. 1987, pp. 369–378[6] Mehrdad Salimitari and Mainak Chatterjee Department of Computer Science University of Central Florida Orlando, “A Survey on Consensus Protocols in Blockchain for IoT Networks”, 2019</description>
                <category>شکیبا آذرخشی</category>
                <author>شکیبا آذرخشی</author>
                <pubDate>Mon, 14 Oct 2019 18:49:51 +0330</pubDate>
            </item>
                    <item>
                <title>ورود به دنیای بلاکچین - قسمت اول</title>
                <link>https://virgool.io/Solidity/%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-axgrqzc4nndd</link>
                <description>سعی میکنم در این مقاله و مقاله بعدی، مقدماتی رو درباره بلاکچین به زبان ساده برای کسانی که آشنایی با این تکنولوژی ندارند بیان کنم. بیشتر محتوای این مقاله و مقاله های مرتبط بعدی، قراره پایان نامه ارشدم رو تشکیل بده بنابراین از مقاله های معتبر برداشت شده و برای مطالعه بیشتر میتونید به رفرنس ها مراجعه کنید. تکنولوژی بلاکچینبلاکچین یک پایگاه داده توزیع شده و مقاوم در برابر دستکاری است که هیچ نود مرکزی آن را کنترل نمی کند، همه نودها میتوانند به آن دسترسی داشته باشند و آن را به اشتراک بگذارند.بلاکچین شبیه یک دفتر کل توزیع شده است که یک کپی از آن نزد نود های دیگر نیز وجود دارد و هرگونه به روز رسانی در این دفتر، در تمام کپی هایی که وجود دارند نیز انجام میشود. ساختار بلاکچین به این صورت است که هر بلاک به شکل زنجیره ای به بلاک قبلی متصل میشود و هر بلاک شامل چندین تراکنش است. برای حصول قابلیت اطمینان، هنگام اضافه شدن یک بلوک به بلوک قبلی، باید عملیات خاصی برای حل یک معما که به آن اثبات کار گفته میشود انجام شود. حل این معما کار ساده ای نیست و  دلیل استفاده از آن این است که این روند می تواند مهاجمان را از جعل بلاکچین بازدارد.  [1]زنجیره ی بلوکی شامل رکوردهایی است که به تعداد آنها افزوده میشود. هر بلاک دارای یک مقدار هش میباشد [2] و هر بلاک به هش بلاک قبلی خود اشاره میکند. به همین دلیل تغییر و تقلب در یک بلاک باعث تغییر مقدار هش بلاکهای بعدی و در نتیجه مشخص شدن تقلب میشود. [3]بلاکچین کسانی را که به طور کامل به یکدیگر اعتماد ندارند قادر میسازد تا با یکدیگر تبادل کنند. طرف های معامله بر روی قوانین، وضعیت و ارزش به توافق میرسند. به دلیل رشد بسیار سریع این فناوری و قابلیت پردازش اطلاعات توسط آن، درک مفهوم این تکنولوژی مهم و به همان اندازه چالش برانگیز است. [4]در معلاملات مبتنی بر بلاکچین، تراکنشها غیر قابل بازگشت هستند و شرکت کنندگان در تراکنش ها بطور دقیق قابل شناسایی نیستند. هم فرستنده و هم گیرنده توسط نام مستعار شناسایی میشوند [5] و شرکت کنندگان میتوانند نام های مستعار مختلفی بدون صرف هزینه زیاد داشته باشند. [6]بلاکچین یک نوآوری رادیکال است که تاثیر قابل توجهی بر پرداخت، بورس اوراق بهادار، امنیت سایبری و قوانین محاسباتی دارد. [1] با این حال، محدودیت های آن از لحاظ عدم قطعیت در تأیید معامله قابل توجه است. [7]بلاك چین همچنین یک تکنولوژي ویژه براي پلتفرم هاي معامله گر همتا به همتا می باشد که از ذخیره سازي غیر متمرکز براي ضبط تمام داده هاي معامله استفاده می کند. اولین بار بلاك چین در سال 2009 در زیرساخت بخش مالی ارز رمزنگاري شده بیت کوین استفاده گردید.[5]مروری بر ادبیاتدفتر کل توزیع شدهدفتر کل توزیع شده، همانند دفتر کل سنتی با هدف نگه داری تراکنش ها ایجاد شده است با این تفاوت که اطلاعات موجود در آن تنها در یک سرور نگه داری نمیشود. تمامی اعضاء شبکه یک نسخه از این دفتر کل را نگه داری میکنند و اگر قرار باشد اطلاعاتی به دفتر کل اضافه شود با تائید اعضا اتفاق میفتد و همه ی اعضا کپی های موجود نزد خود را به روز رسانی میکنند. الگوریتم اجماعزنجیره های بلوکی [2]، دفتر اطلاعاتی توزیع شده ای هستند که کسانی را که به طور کامل به یکدیگر اعتماد ندارند قادر میسازد تا با یکدیگر تبادل کنند.[5] طرف های معامله بر روی قوانین، وضعیت و ارزش به توافق میرسند [4] به دلیل اینکه بلاکچین یک سیستم غیرمتمرکز است و هر نودی میتواند تراکنشی را به زنجیره ی بلوکی اضافه کند پس تائید اطلاعاتی که قرار است به زنجیره ی بلوکی اضافه شود اهمیت دارد و باید توسط تمام نودهای زنجیره ی بلوکی تائید شود که به آن توافق عمومی یا اجماع میگویند. [1][8] اجماع در زنجیره ی بلوکی بر روی سه مورد اتفاق می افتد: قوانین شبکه، وضعیت شبکه ( اطمینان از عدم امکان تقلب) و ارزش چیزی که در شبکه مبادله میشود.[1] Hiroki Watanabe, Shigeru Fujimura, Atsushi Nakadaira, Yasuhiko Miyazaki, Akihito Akutsu, “Blockchain Contract-A Complete Consensus using Blockchain”, 2015[2] Zibin Zheng, Shaoan Xie, Hongning Dai, Xiangping Chen, and Huaimin Wang, “An Overview of Blockchain Technology-Architecture,Consensus and Future Trends”, 2017[3] A.M. Antonopoulos, “Mastering Bitcoin: Unlocking Digital Cryptocurrencies”, 1st ed. Sebastopol, CA, USA: O’Reilly Media, Inc., 2014[4] Dinh Tien, Tuan Anh, Meihui Zhang, “Untangling Blockchain: A Data Processing View of Blockchain Systems” , 2017 IEEE Transactions on Knowledge and Data Engineering[5] Lakshmi Siva Sankar, M. Sethumadhavan, “Survey of Consensus Protocols on Blockchain Applications”, 2017[6] Sarah Meiklejohn, Geoffrey M. Voelker, Stefan Savage, Marjori Pomarole, “A Fistful of Bitcoins: Characterizing Payments Among Men with No Names”, December 2013[7] Yan Zhu, Khaled Riad, Ruiqi Guo, Guohua Gan, Rongquan Feng, “New instant confirmation mechanism based on interactive incontestable signature in consortium blockchain” , June 28, 2016[8] Xinping Min, Qingzhong Li, Lei Liu, Lizhen Cui, “A Permissioned Blockchain Framework for Supporting Instant Transaction and Dynamic Block Size”, IEEE TrustCom, 2016</description>
                <category>شکیبا آذرخشی</category>
                <author>شکیبا آذرخشی</author>
                <pubDate>Fri, 11 Oct 2019 20:47:41 +0330</pubDate>
            </item>
            </channel>
</rss>