آدرسهای بلاک چینی – قسمت اول
مترجم: مریم لطانی
آدرسها مفهوم مهمی در ارزهای رمزنگاریشده و بلاکچین هستند. در این مجموعه از پستها، آدرسها و چگونگی ایجاد آنها را شرح خواهیم داد و تفاوت بین آدرسهای متفاوت در بلاکچین های مختلف را بیان خواهیم کرد.
آدرس در بلاکچین چیست؟
در اوایل ظهور بیتکوین این امکان وجود داشت که پرداختها به یک IP ارسال شوند. این کار، روش آسانی برای ارسال پول بدون نیاز به کلید عمومی آدرسها بود ولی به زودی توسعهدهندگان بیتکوین دریافتند که این روش بسیار مورد توجه هکرها میباشد. بنابراین این قابلیت حذف شد و دیگر مورد استفاده قرار نگرفت.
این حکایت روزهای اول بیتکوین بیشتر جنبه تاریخی دارد ولی در عین حال به نوعی داستان آدرسها را نیز شرح میدهد. آدرسها هیچ چیز ویژه و یا یک سنگ نوشته تاریخی نیستند بلکه تنها فضایی هستند برای دریافت و ارسال تراکنشهای بلاکچین، درست مانند آدرسهای SWIFT و IBAN.
آنچه مهم است خود آدرسها و یا فرمت آنها نیست بلکه هدفی است که این آدرسها تامین میکنند یعنی پرداخت در ازای ماهیتی که اطلاعات یکتایی را ارائه میکند. که این ماهیت معمولا یک کلید خصوصی است که برای دسترسی انحصاری به وجوه مورد استفاده قرار می گیرد. در واقع آدرسها چیزی نیستند غیر از یک شناساننده امن.
ارقام SWIFT و IBAN توسط یک مرجع مرکزی مانند بانکها تعیین میشوند در حالی که آدرسهای بلاکچین همیشه وجود دارند حتی قبل از اینکه یک کیف پول آنها را پیدا کند. زیرا این آدرسها در واقع نتیجه عملیات ریاضی هستند.
کلید عمومی: جایی که تولید آدرسهای بلاکچین آغاز میشود
بعد از این که روش پرداخت به IP در بیتکوین کنارگذاشته شد P2PKH فرمت استاندارد جدیدی برای آدرسهای بیتکوینی شد. احتمالا با فرمت آن آشنا باشید چیزی شبیه به این نمونه:
1K31KZXjcochXpRhjH9g5MxFFTHPi2zEXb
یک آدرس P2PKH استاندارد شامل 34 کاراکتر میباشد و با عدد 1 آغاز میشود. P2PKH مخفف عبارت Pay to Public Key Hash میباشد که به معنای پرداخت در قبال هش کلید عمومی است. برای مبتدیان ممکن است کمی پیچیده به نظر برسد، اما تامل کنید تا فرآیند ساخت آن را یاد بگیرید.
هر نرم افزار کیف پولی که استفاده میکنید میتواند به راحتی یک آدرس P2PKH تولید کند و یا به عبارت دقیقتر تعداد زیادی از آنها را برای شما پیدا کند. این علم موتور جت نیست. تنها ترکیبی از چند عملیات معمولی ریاضی میباشد.
ابتدا کیف پول شما آنتروپی ها راجمع کرده و از آنها برای تولید کلید خصوصی ECDSA استفاده میکند. ECDSA یک الگوریتم رمزنگاری در هسته آدرس بیتکوین میباشد که یک الگوریتم امضای متقارن است. بدین معنی که شما پیامها را با کلید خصوصی امضا می کنید و با کلید عمومی این امضا را شناسایی می کنید.
با استفاده از ECDSA به راحتی اطلاعاتی را ارائه می کنید که ثابت میکند این فقط شما هستید که نویسنده این پیام هستید و آن را امضا کردهاید درست مثل این که یک نامه را به صورت فیزیکی امضا کرده باشید.
بعد از تولید کلید خصوصی، کیف پول، کلید عمومی را از روی آن میسازد. این کار را با انتخاب چند هماهنگ کننده تصادفی بر روی یک منحنی بیضوی معین و انجام یک سری محاسبات انجام میدهد که جزئیات آن مهم نیست. آنچه موضوع اصلی این بحث میباشد این است که کلید عمومی همه آن چیزی است که شما نیاز دارید تا پرداختها را ارسال و دریافت کنید.
کلید عمومی در ابتدا برای دریافت وجوه استفاده میشد اما خیلی زود مفاهیم آن گسترش یافت. کلیدهای عمومی به دلیل اینکه طولانی و سخت هستند ( حدود 65 کاراکتر) ممکن است به صورت اشتباه تایپ شوند و یا به عنوان مثال اگر با یک محاسبه کوانتومی الگوریتم ECDSA شکسته شود، امنیت این کلیدها نیز در معرض خطر قرار میگیرد. به همین دلیل توسعه دهندگان بیتکوین روشی را ایجاد کردند که بتوان یک آدرس از روی این کلیدها ساخت.
منبع: blockgeeks
بسیار مفید بود.
اگرامکان پذیر هست جزیئات عملیات ریاضی آن را هم بذارید.
ممنون