<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های کیانوش درتاج</title>
        <link>https://virgool.io/feed/@kianoushDortaj</link>
        <description>Rust | Substrate | Polkadot | Solidity Developer</description>
        <language>fa</language>
        <pubDate>2026-06-16 14:56:20</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>کیانوش درتاج</title>
            <link>https://virgool.io/@kianoushDortaj</link>
        </image>

                    <item>
                <title>دانش اثبات صفر   (ZKP)  چیست ؟</title>
                <link>https://virgool.io/@kianoushDortaj/%D8%AF%D8%A7%D9%86%D8%B4-%D8%A7%D8%AB%D8%A8%D8%A7%D8%AA-%D8%B5%D9%81%D8%B1-zkp-%DA%86%DB%8C%D8%B3%D8%AA-hiwcz6ask3fp</link>
                <description>سیستم رمزنگاری قدرتمندی است که بدون اینکه جواب سوال ؛ راز ؛ یا مسعله ای را فاش کنید ؛ اثبات کنید که جواب آنرا میدانید . برای مثال در نطر بگیرید شما در حال رانندگی هستید و پلیس شما را متوقف میکند و برای اینکه اثبات کنید که شما گواهینامه دارید و همچین شما صاحب ماشین هستید باید اطلاعات هویتی خود یعنی گواهینامه و سند ماشین را به افسر پلیس ارایه دهید که اثبات کنید ادعایی که دارید درست است . حالا شما شرایطی را در نظر بگیرید که شما بدون فاش کردن و نشان دادن اطلاعات هویتی خود به افسر پلیس اثبات کنید که شما صاحب ماشین هستید . سوال پیش میاد که آیا امکان پذیر است ؟ جواب : بله امکان پذیر است . سوال چطور ؟ جواب : ZKPبرای این کار سه مفهوم مهم وجود دارد که یک پروتکل دانش صفر باید انجام دهد:1 - ا ( Completeness ) :‌  اگر چیزی که شما سعی می کنید ثابت کنید درست است، پس پروتکل همیشه باید &#x27;True&#x27; را برگرداند.2 - ا ( soundness ) :  اگر چیزی که شما سعی می کنید ثابت کنید نادرست است، پس باید غیرممکن باشد که کسی پروتکل را فریب دهد تا &#x27;درست&#x27; را برگرداند.3 - ا ( Zero-knowledge ) :  دانش صفر به این معنی است که وقتی کسی ادعایی  را ثابت می کند درست است یا نه ، چیزی در مورد خود ادعا  نمی داند. آنها فقط یاد می گیرند که آیا ادعا درست است یا نادرست است.ابتدا باید چند مفهوم از  ZKP را یاد بکیریم :1 -   اثبات کننده ( Prover )  :‌   اثبات کننده موجودی است که می خواهد صحت یک ادعا را به تأیید کننده ثابت کند بدون فاش کردن اطلاعاتی در مورد ادعا2 -  تایید کننده ( Verifier )  :    تأیید کننده نهادی است که می خواهد صحت ادعای را بدون کسب اطلاعات اضافی از Prover ادعا را تأیید کند. تأیید کننده می خواهد متقاعد شود که اثبات کننده ادعای که دارد صحیح است بدون اینکه نیازی باشد بداند آن ادعا چیست .3 - ادعا ( Statement ) :   بیان ادعایی است که اثبات کننده می خواهد آن را به تأیید کننده ثابت کند. این می تواند هر چیزی باشد که اثبات کننده بخواهد در حین اثبات اعتبار آن را مخفی نگه دارد. به عنوان مثال، این ادعا می تواند &quot;من رمز عبور این حساب را می دانم&quot; یا &quot;من بالای 18 سال دارم&quot; باشد.سه مفهوم Basic در  ZKP وجود دارد : 1 - شاهد (‌ witness ) :  وقتی کسی می خواهد ثابت کند که یک راز را می داند بدون اینکه فاش کند چه چیزی است، سوالی را انتخاب می کند که تنها کسی که راز را می داند قادر به پاسخ دادن  به آن راز خواهد بود. این راز را «witness» می نامند. آنها به این سوال پاسخ می دهند و پاسخ را برای کسی می فرستند که بررسی خواهد کرد که آیا حقیقت را می گویند یا نه.2 - چالش ( Challenge )‌ :  Verifier یک سوال متفاوت از مجموعه سوالات ممکن را انتخاب می کند و از Prover می خواهد که به آن پاسخ دهد.3 - پاسخ (‌ Reponse )‌ :  Prover چالش را می پذیرد، پاسخ را محاسبه می کند و آن را دوباره به  Verifier می فرستد. اگر Prover حقیقت را بگوید و واقعا اطلاعات مخفی را بشناسد، قادر خواهند بود درست پاسخ دهند.انواع zero-knowledge proofs :ا ZK-SNARK مخفف Zero-Knowledge Succinct Non-Interactive Argument of Knowledge است. پروتکل ZK-SNARK دارای ویژگی های زیر است:    ا Zero-Knowledge :‌ بررسی درست یا نا درست بودن ادعای اثبات کننده بدون دانستن اطلاعتی اضافی درباره ادعای اثبات کننده . ا Succinct :‌  فایل  proof بسیار کوچک است و در نتیجه verify سریعتر انجام میشود . ا Non-interactive :  به این معنی است که prover  و  verifier فقط یک بار با هم اطلاعات رد و بدل میکننا Argument : فایل اثبات بسیار قابل اعتماد و غیر قابل تقلب است . ا Knowledge : اثبات تنها در صورتی می تواند ایجاد شود که prover  به اطلاعات مخفی دسترسی داشته باشد.به زبان ساده تر، ZK-SNARKs به یک فرد اجازه می دهد تا ثابت کند که قطعه ای از اطلاعات مانند رمز عبور را می داند ؛ بدون اینکه  رمز عبور را آشکار کند. این امر از طریق یک فرایند پیچیده ریاضی که شامل ایجاد مدرکی مبنی بر درست بودن اطلاعات است، به دست می آورد که می تواند توسط دیگران بدون نیاز به تعامل تأیید شود.ا ZK-SNARKs به ویژه برای حفظ حریم خصوصی در سیستم های غیرمتمرکز مانند شبکه های زنجیره بلوکی مفید هستند، جایی که مهم است که بتوانیم صحت داده ها را بدون آشکار کردن اطلاعات حساس تأیید کنیم. آنها در چندین پروژه blockchain، از جمله Zcash و Ethereum، برای ارائه حریم خصوصی افزایش یافته و ویژگی های امنیتی استفاده می شود.ا ZK-STARK مخفف Zero-Knowledge Scalable Transparent Argument of Knowledge است. این یک سیستم اثبات رمزنگاری است که به یک طرف (اثبات کننده) اجازه می دهد تا به طرف دیگر (تأیید کننده) ثابت کند که راه حلی برای یک مشکل معین می داند، بدون اینکه هیچ اطلاعاتی در مورد خود راه حل نشان دهد. این سیستم به گونه‌ای طراحی شده است که شفاف باشد، به این معنی که هر کسی می‌تواند بدون نیاز به اعتماد به شخصی که اثبات را ارائه کرده است، مدرک را بررسی کند. این برای شرایطی که ممکن است بین طرفین بی اعتمادی وجود داشته باشد، مهم است.چه تفاوتی بین zk-snarks و zk-starks وجود دارد ؟ ا zk-SNARK ها به یک راه اندازی قابل اعتماد نیاز دارند، به این معنی که قبل از ایجاد و تأیید مدارک، مجموعه ای از پارامترها باید توسط یک شخص مورد اعتماد ایجاد شود. این خطر دستکاری مخرب یا نشت پارامترها را ایجاد می کند که می تواند امنیت و حریم خصوصی سیستم را به خطر بیندازد. zk-STARK ها نیازی به تنظیم قابل اعتماد ندارند، که آنها را شفاف تر و ایمن تر می کندا ZK-SNARK ها بایت های اثبات کوچکتری تولید می کنند که فضای کمتری را در بلاک چین اشغال می کند و به Gas کمتری برای اجرا نیاز دارد. با این حال، تولید این اثبات ها به قدرت محاسباتی بیشتری نیاز دارد و زمان بیشتری نسبت به تولید اثبات های ZK-STARKs دارد.از سوی دیگر، ZK-STARKها، اثبات‌هایی با اندازه بایت بزرگ‌تر ایجاد می‌کنند که فضای بیشتری را در بلاک چین اشغال می‌کنند و به Gas بیشتری برای اجرا نیاز دارند. با این حال، آنها تقاضای محاسباتی کمتری دارند، به این معنی که می توانند مدارک را سریعتر از ZK-SNARK ها تولید کنند.ا zk-SNARK ها بر elliptic curve cryptography تکیه می کنند، که نوعی رمزنگاری با کلید عمومی است که از mathematical curves برای تولید کلیدها و امضاها استفاده می کند. این امر آنها را در برابر حملات رایانه‌های کوانتومی آسیب‌پذیر می‌کند، که به طور بالقوه می‌تواند امنیت elliptic curve cryptography را از بین ببرد. zk-STARK ها به elliptic curve cryptography متکی نیستند، بلکه از رمزنگاری مبتنی بر هش استفاده می کنند که در برابر حملات کوانتومی مقاوم تر است.ا zk-SNARK ها به دلیل اندازه بایت کوچکتر و الگوریتم تأیید ساده تر، می توانند اثبات ها را سریعتر از zk-STARK ها تأیید کنند. با این حال، zk-STARK ها می توانند به دلیل تقاضای محاسباتی کمتر و الگوریتم تولید موازی شونده، سریعتر از zk-SNARK ها اثبات تولید کنند.برای اطلاعات بیشار میتونید عضو کانال تلگرام من بشید . https://t.me/blockchain_information_persian</description>
                <category>کیانوش درتاج</category>
                <author>کیانوش درتاج</author>
                <pubDate>Sun, 12 Mar 2023 12:30:00 +0330</pubDate>
            </item>
                    <item>
                <title>کیف پول چند امضایی ( Multi-signature ) چیست ؟</title>
                <link>https://virgool.io/@kianoushDortaj/%D8%A7%D9%85%D8%B6%D8%A7%DB%8C-%DA%86%D9%86%D8%AF%DA%AF%D8%A7%D9%86%D9%87-multi-signature-%DA%86%DB%8C%D8%B3%D8%AA-ayj8zx2j8vro</link>
                <description>امضای چندگانه ( Multi-signature )  به عنوان تأیید اعتبار چند علامتی یا چند عاملی شناخته می‌شود، یک ویژگی امنیتی است که برای محافظت از دارایی‌های دیجیتالی مانند ارز دیجیتال، امضای دیجیتال و سایر اطلاعات حساس استفاده می‌شود. این فرآیندی است که شامل الزام چندین طرف برای مجوز معامله یا اقدام، به جای تنها یک فرد است. این یک لایه امنیتی اضافی ایجاد می کند و خطر کلاهبرداری، سرقت یا دسترسی غیرمجاز را کاهش می دهد. به زبان ساده تر Multi-signature یک ویژگی امنیتی است که برای تایید یک تراکنش به بیش از یک نفر نیاز دارد. این مانند داشتن یک حساب بانکی مشترک است که در آن هر دو صاحب حساب باید چکی را قبل از نقد شدن امضا کنند. در دنیای دیجیتال، این به معنای ایجاد یک کیف پول دیجیتالی است که برای تایید یک تراکنش به چندین امضا نیاز دارد. به عنوان مثال، یک کیف پول  5 صاحب دارد و باید سه نفر از پنج نفر صاحب حساب  برای خروج پول را از حساب تایید کنند . امضای چندگانه یک لایه امنیتی اضافی برای محافظت از دارایی های دیجیتالی مانند ارزهای دیجیتال اضافه می کند و خطر کلاهبرداری یا سرقت را کاهش می دهد. همچنین می‌تواند به‌عنوان یک سرویس امانی استفاده شود، جایی که وجوه در یک کیف پول چند امضایی نگهداری می‌شود تا زمانی که هر دو طرف معامله را امضا کنند.مفهوم چند امضایی جدید نیست، زیرا برای دهه ها در سیستم های بانکداری سنتی مورد استفاده قرار گرفته است. به عنوان مثال، در یک حساب مشترک، هر دو صاحب حساب ملزم به امضای چک قبل از نقد شدن هستند. با این حال، با افزایش دارایی های دیجیتال و نیاز به افزایش امنیت در دنیای دیجیتال، امضای چندگانه رایج تر شده است.یکی دیگر از مزایای چند امضایی این است که می توان از آن برای خدمات امانی استفاده کرد. به عنوان مثال، اگر خریدار و فروشنده بخواهند با یکدیگر معامله کنند اما به یکدیگر اعتماد ندارند، می توانند از کیف پول چند امضایی به عنوان امانت استفاده کنند. وجوه در کیف پول قرار می گیرد و تا زمانی که هر دو طرف آن را امضا نکنند، معامله انجام نمی شود.فناوری چند امضایی (multisig) موارد استفاده متنوعی در صنایع مختلف دارد. در اینجا برخی از رایج ترین موارد استفاده چند امضایی آورده شده است:1 - کیف پول های رمزنگاری شده ( Cryptocurrency wallets ) : چند امضا معمولاً در کیف پول های رمزنگاری برای ایمن سازی کلیدهای خصوصی مورد استفاده برای دسترسی به دارایی های دیجیتال استفاده می شود. در این مورد، یک کیف پول Multisig برای تکمیل یک تراکنش به چندین امضا (معمولاً دو یا بیشتر) نیاز دارد که امنیت بیشتری در برابر سرقت یا هک فراهم می کند.2 - خدمات امانی ( Escrow services ) : از چند امضا نیز می توان در خدمات امانی برای محافظت از خریداران و فروشندگان در طول معامله استفاده کرد. وجوه در یک کیف پول مولتی سیگ نگهداری می شود و تا زمانی که هر دو طرف انتقال را امضا نکنند، تراکنش کامل نمی شود.3 - حاکمیت شرکتی ( Corporate governance )‌: امضای چندگانه را می توان در حاکمیت شرکتی مورد استفاده قرار داد تا اطمینان حاصل شود که تصمیمات مهم نیاز به تأیید چندین نفر دارند. به عنوان مثال، هیئت مدیره ممکن است از چند امضا برای تایید معاملات مالی یا ایجاد تغییرات در اساسنامه شرکت استفاده کند.4 - قراردادهای حقوقی ( Legal agreements ) : از چند امضایی می توان برای اجرای قراردادهای حقوقی بین دو یا چند طرف استفاده کرد. در این حالت استفاده، هر یک از طرفین سند را با امضای دیجیتال خود امضا می‌کنند و تنها زمانی که همه امضاهای مورد نیاز جمع‌آوری شده باشند، قرارداد معتبر تلقی می‌شود.5 - سیستم‌های رای‌گیری ( Voting systems )‌: از چند امضا می‌توان برای ایجاد سیستم‌های رای‌گیری امن استفاده کرد که در آن هر رای با چندین امضا تایید می‌شود. این می تواند در سناریوهایی که امنیت و اعتماد ضروری است، مانند جلسات سهامداران یا انتخابات سیاسی مفید باشد.6 - تامین مالی جمعی (‌Crowdfunding )‌: برای اطمینان از تخصیص و توزیع مناسب وجوه می توان از چند امضا در کمپین های تامین مالی استفاده کرد. در این حالت استفاده، وجوه در یک کیف پول مولتی سیگ نگهداری می‌شود و پرداخت‌ها نیاز به تأیید چند طرف دارد.7 - بیمه ( Insurance ) : برای اطمینان از تایید و تایید صحیح ادعاها، می توان از چند امضا در صنعت بیمه استفاده کرد. به عنوان مثال، ادعاها ممکن است به تأیید چندین طرف نیاز داشته باشند تا اطمینان حاصل شود که تقلبی نیستند.به طور کلی، فناوری چند امضایی ابزار قدرتمندی است که می تواند برای افزودن یک لایه امنیتی و اعتماد اضافی به طیف گسترده ای از برنامه های کاربردی در صنایع مختلف مورد استفاده قرار گیرد.برای اطلاعات بیشار میتونید عضو کانال تلگرام من بشید . https://t.me/blockchain_information_persian</description>
                <category>کیانوش درتاج</category>
                <author>کیانوش درتاج</author>
                <pubDate>Sun, 12 Mar 2023 11:57:09 +0330</pubDate>
            </item>
            </channel>
</rss>