با کلیک بر روی "ارسال" ، شما با خط مشی رازداری ما موافقت می کنید. ما گاهی اوقات ایمیل های مربوط به Radix را برای شما ارسال می کنیم.
ساعت 10 بعد از ظهر است: آیا می دانید نشانه های شما کجاست؟
به تازگی ، رمزنگاری در نوع خاصی از "هک" افزایش یافته است که در آن کاربر فکر می کند با خیال راحت با DAPP در تعامل است ، اما بعداً می یابد که حساب خود را از نشانه های خود تخلیه می کند.
در حالی که کلمه در حال دستیابی به آن است که کاربران کیف پول هنگام انجام کارهای خاص باید مراقب باشند ، این کلاس از هک یکی از نقص های عمیق را به روشی که تقریباً هر بستر قرارداد هوشمند امروز کار می کند ، در معرض دید قرار می دهد. به طور خلاصه ، این واقعیت را برجسته می کند که "نگه داشتن نشانه ها در کیف پول شما" مانند اکثر کاربران فکر نمی کند.
در واقع من شرط می بندم که اکثر کاربران رمزنگاری واقعاً نمی دانند که نشانه های آنها کجاست.
پس نشانه های من کجا هستند؟
به طور خلاصه ، آنها در واقع در کیف پول شما نیستند - کیف پول شما فقط می داند به کجا نگاه کنید.
در Ethereum و تقریباً هر بستر قرارداد هوشمند دیگر ، نشانه ها ایجاد قراردادهای هوشمند هستند. بیشتر مردم از قرارداد ERC-20 (انواع دیگر مانند ERC-721 و غیره) شنیده اند که برای ایجاد یک نشانه مستقر شده است. این چطوری کار میکنه؟خوب ، این قرارداد نمی گوید "سلام اتریوم ، من می خواهم برخی از نشانه ها را ایجاد کنم ، لطفاً". کاری که انجام می دهد ایجاد و نگهداری لیست خصوصی از مانده ها برای آدرس های حساب است که نمایانگر مالکیت یک "نشانه" جدید است - این همه یک نشانه در این شبکه ها است.
این لیست خصوصی واقعاً به سادگی است که آدرس آلیس دارای 50 USDC است ، آدرس باب دارای 190،334،025 USDC و غیره است. اگر آلیس هستید ، "مالکیت" 50 USDC شما فقط به این معنی است که کیف پول شما می داند از قرارداد هوشمند USDC برای ورود حساب شما در لیست سؤال کند. اگر می خواهید "3 USDC" را ارسال کنید ، آنچه در واقع کیف پول شما انجام می دهد ارسال پیام به قرارداد هوشمند USDC است که می گوید "سلام ، من می خواهم 3 USDC را به BOB ارسال کنم" و امیدوارم که قرارداد هوشمند شماره شما را کاهش دهد3 و باب را 3 افزایش می دهد - شما هیچ تضمینی در مورد آنچه در داخل قرارداد اتفاق می افتد ندارید.
اگر شما دارای 8 نشانه مختلف هستید ، این سیستم بسیار کمتر شبیه "8 توکن در کیف پول شخصی من است" و بسیار بیشتر شبیه دنیای سنتی "من در 8 حساب بانکی مختلف دارم". شما مستقیماً آن نشانه ها را نگه نمی دارید یا کنترل نمی کنید. شما به خالق قرارداد هوشمند تکیه می کنید تا لیستی از تعادل ها را به درستی مدیریت کنید و با تغییر این مانده ها به شما امکان "ارسال" و "دریافت" را می دهید.
توجه: توکن های بومی پلتفرم (یا اگر ترجیح می دهید «کوین») مانند BTC یا ETH خاص هستند. این توکن ها در واقع مستقیماً به یک آدرس حساب اختصاص داده می شوند و می توانید با اطمینان خاطر بگویید که در کیف پول شما نگهداری می شوند و می توانید هر کاری که می خواهید با آنها انجام دهید. اما، با استفاده از اتریوم به عنوان مثال، هر توکن، استیبل کوین، NFT، یا دارایی دیگری در اتریوم به غیر از اتریوم به این شکل کار نمی کند. هر یک فقط تعادلی است که در یک قرارداد هوشمند در جایی وجود دارد که توسط شخصی ایجاد شده است.
اگر عادت داشته باشید که Metamask را باز کنید و فرض کنید که توکن هایی که در آنجا می بینید همه با خیال راحت در کیف پول شما هستند، این یک نوع شوکه کننده است. نه تنها این، این روش نشان دادن دارایی ها انواع فرصت ها را برای دزدیده شدن توکن های شما ایجاد می کند.
هک تایید هزینه
این روش ایجاد توکن در یک بلاک چین منبع دسته ای از هک ها است که من آن ها را در دسته «تأیید هزینه ها» قرار می دهم که همگی به سرقت توکن ها از حساب ها ختم می شوند.
همه این هک ها متکی به چیزی هستند که همیشه در DeFi اتفاق می افتد: اگر تا به حال از یک dApp استفاده کرده اید که مجبور شده اید چند توکن برای آن بفرستید (حتی برای چیزی ساده مانند ارسال توکن به Uniswap برای معامله)، احتمالاًمتوجه شدم که ابتدا باید برای رمزی که می خواهید ارسال کنید، «تأیید» کنید. شاید حتی به معنای این موضوع فکر نکرده باشید - این فقط کاری است که باید قبل از اینکه بتوانید معامله خود را انجام دهید انجام دهید.
این چیزی است که اتفاق می افتد.
به یاد داشته باشید که همه توکن ها (به غیر از موارد خاص مانند ETH) فقط ورودی های موجودی در چندین قرارداد هوشمند هستند، بنابراین "ارسال" نشانه ها پیامی به قرارداد هوشمند است که درخواست تغییر مانده ها را دارد. شما انتظار دارید که فقط صاحب یک حساب مجاز به درخواست کاهش موجودی خود باشد (حداقل اگر قرارداد هوشمند به درستی اجرا شود!). اما این مسئله برای استفاده از توکن ها با قراردادهای هوشمند مشکل ایجاد می کند.
با در نظر گرفتن تجارت Uniswap، شما فقط نمی خواهید توکن ها را به قرارداد هوشمند Uniswap ارسال کنید. شما همچنین می خواهید از Uniswap بخواهید که یک فرآیند تک مرحله ای برای پذیرش 50 USDC و برگرداندن مثلاً 1621 SHIB به شما انجام دهد. متاسفانه دو مشکل وجود دارد. یکی، شما نمی توانید مستقیماً چندین قرارداد هوشمند را در یک تراکنش فراخوانی کنید (Uniswap و USDC). دوم، هیچ راهی برای گفتن قرارداد USDC وجود ندارد: «هی، من فقط می خواهم این توکن های USDC را بفرستم در صورتی که SHIB را نیز از قرارداد Uniswap خارج کنم».
خوب این بدان معنی است که شما نمی توانید بدون راه حل متفاوت ، کارهای کاملاً زیادی را انجام دهید. بنابراین قراردادهای هوشمند توکن باید یک ویژگی را اضافه کنند: برای سایر آدرس ها تأیید کنید. در اصل این استاندارد برای قراردادهای هوشمند Token تبدیل شده است که به صاحب حساب اجازه می دهد معامله ویژه ای را برای گفتن ارسال کند ، به عنوان مثال ، "اگر UnisWAP برخی از نشانه های USDC را از حساب من بخواهد ، این خوب است".
این اتفاق می افتد وقتی UnisWap قبل از مبادله از شما درخواست می کند که این مرحله تأیید را انجام دهید. شما به UNISWAP این امکان را می دهید که USDC خود را از طرف خود بگذرانید تا بتوانید یک معامله واحد را به UNISWAP انجام دهید که فقط می گوید "50 USDC را از حساب من بگیرید و به من تعلق بگیرید" (یک بار دیگر ، باید به آن Uniswap اعتماد کنیدآنچه را که انتظار دارید انجام می دهد)این استاندارد تأیید هزینه باعث می شود اکثریت کمبود ممکن باشد ، بنابراین از کاربران دائماً خواسته می شود که برای داپ هایی که به آنها وصل می شوند ، مصوبات ارائه دهند.
اکنون ، توسعه دهندگان قرارداد هوشمند گنگ نیستند. این عملکرد تأیید هزینه در قراردادهای توکن همچنین شامل امکان تعیین حد در میزان نشانه ای است که قرارداد هوشمند تصویب شده است. مشکل این است که هر یک از این مصوبات به معنای این مرحله تأیید اضافی (با هزینه شبکه دیگری برای پرداخت) است. بنابراین اگر UniSwap هستید ، آیا می خواهید از کاربران بخواهید فقط مبلغی را که می خواهند هر بار تعویض کنند تأیید کنند؟نه ، شما از آنها درخواست می کنید تا مقدار نامحدودی از نشانه ها را خرج کنند ، بنابراین هرگز مجبور نیستید دوباره آنها را آزار دهید. و این همان کاری است که تقریباً هر DAPP به طور پیش فرض انجام می دهد.
این دیوانه استبه نظر می رسد که پرداخت قبض تلفن شما به معنای T-Mobile است که از شما درخواست ورود به حساب بانکی خود را دارد.
اما این همان چیزی است که امروزه مردم به آن عادت کرده اند: تصویب قراردادهای هوشمند برای گرفتن هر مقدار از یک نشان داده شده و اعتماد به اینکه قرارداد هوشمند فقط آنچه را که انتظار می رود را می گیرد. کاربران می توانند محدودیت را برای ایمن تر تنظیم کنند - اما بیشتر آنها را زحمت نمی کشند.
بنابراین احتمالاً می توانید ببینید که هک در کجا قرار می گیرد: یک DAPP نوید عملکردی جالب یا یک فرصت سرمایه گذاری را می دهد ، کیف پول خود را به هم وصل می کنید ، DAPP درخواست تأیید برای صرف نشانه های خود می کند ، و از آنجا که به این روند عادت کرده اید ، شماتایید. شاید فکر کرده باشید که فقط می خواهید مقدار کمی از USDC را بفرستید و نه همه آن. شاید شما فکر کرده اید که شما یک نشانه را تأیید می کنید که به عنوان دیگری نقاب می زد. صرفنظر از آن ، در برخی از موارد آینده فرش کشیده می شود و هنگامی که قرارداد هوشمند شما تصویب کرده اید ، نشانه های شما از بین می روند.
یا از این بدتر ، شاید شما یک نشانه جدید داغ خریداری کرده باشید و بعداً فهمیدید که قرارداد Smart Token حتی به تصویب شما احتیاج ندارد تا شخص دیگری کیف شما را بگیرد (و سپس قبل از اینکه متوجه شوید فرش کشیده شده است ، آن را در بازار بفروشید).
تغییرات زیادی وجود دارد ، اما مشکل یکسان است: دیوانه است که یک پلت فرم "مالی غیر متمرکز" دارایی های ارزش خود را به شکلی نشان می دهد که در وهله اول این نوع چیزها امکان پذیر است. اما این مدل از تعامل توکن نه تنها در اتریوم بلکه تقریباً هر بستر قرارداد هوشمند دیگر استفاده می شود ، بنابراین ما این "هک" را در چندین شبکه می بینیم.
توکن های Radix چگونه فکر می کنید که آنها انجام می دهند
این یکی از دلایل زیادی است که Radix به صفحه نقاشی بازگشت و دارایی ها را به یک ویژگی ایمن و داخلی این سیستم عامل تبدیل کرد-نه چیزی که هزاران بار در قراردادهای هوشمند جداگانه اجرا شده است. این امر در مورد توکن های ساده صادر شده در شبکه فعلی Radix Olympia صدق می کند و با قرارداد هوشمند آینده Radix و قابلیت ایجاد توکن/NFT بیشتر گسترش می یابد.
در Radix ، شما در واقع نشانه های خود را در حساب خود نگه دارید - دقیقاً چگونه آن را تصور می کنید. توکن در Radix نمی تواند شامل هرگونه رفتار پنهان باشد که فقط در صورت خواندن برخی از کد قرارداد هوشمند مشاهده می کنید. و هیچ چیز به عنوان تأیید DAPP ها برای خرج کردن نشانه های خود وجود ندارد - شما در واقع قرارداد هوشمند را فقط با نشانه هایی که می خواهید برای آن معامله خرج کنید ، تصویب می کنید.
Radix این کار را انجام می دهد در حالی که هنوز امکان ایجاد طیف گسترده ای از دارایی ها و DAPP هایی را که مردم می خواهند. Radix زبان هوشمندانه دارایی منحصر به فرد خود ، Scrypto را معرفی کرده است ، که امکان ایجاد منطق قدرتمند برای سیستم های مالی ، بازی ها و موارد دیگر را در مورد "منابع" مدیریت شده توسط پلتفرم فراهم می کند که به راحتی پیکربندی شده اند تا رفتار مورد نیاز خود را به عنوان نشانه ها انجام دهند ،stablecoins ، nfts و موارد دیگر. اکنون می توانید نوشتن قراردادهای هوشمند مبتنی بر Scrypto را شروع کنید-و استقرار به شبکه عمومی Radix در انتشار "بابل" در آینده امکان پذیر خواهد بود.
این یکی از دلایلی است که ما معتقدیم Radix تنها سکویی است که واقعاً ساخته شده است تا به عنوان اساس مالی غیر متمرکز باشد که می تواند جریان اصلی را داشته باشد.
برای کسب اطلاعات بیشتر در مورد موتور Scrypto و Radix ، سری 4 قسمتی ما را که از اینجا شروع می شود ، بخوانید.
اگر شما یک توسعه دهنده هستید و می خواهید با Scrypto ساخت و ساز را شروع کنید ، در مرکز توسعه دهنده ما شروع کنید.
استراتژی برای تحلیل فاندمنتال...
ما را در سایت استراتژی برای تحلیل فاندمنتال دنبال می کنید