Skip to content

Commit 0afa2bc

Browse files
authored
Merge pull request #14999 from ethereum/crowdin-march-fa-20250301044249332
chore: import translations for fa
2 parents fc5d955 + 871a3f8 commit 0afa2bc

File tree

2 files changed

+15
-105
lines changed
  • public/content/translations/fa

2 files changed

+15
-105
lines changed

public/content/translations/fa/developers/docs/smart-contracts/security/index.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ contract VendingMachine {
7878

7979
متأسفانه، تست واحد برای بهبود امنیت قراردادهای هوشمند زمانی که به صورت مجزا مورد استفاده قرار می‌گیرد، حداقل مؤثر است. یک تست واحد ممکن است ثابت کند که یک تابع برای داده‌های ساختگی به درستی اجرا می‌شود، اما تست‌های واحد فقط به اندازه تست‌های نوشته شده مؤثر هستند. این امر تشخیص موارد لبه از دست رفته و آسیب پذیری هایی را که می تواند ایمنی قرارداد هوشمند شما را به هم بزند، دشوار می کند.
8080

81-
یک رویکرد بهتر ترکیب آزمایش واحد با آزمایش مبتنی بر ویژگی است که با استفاده از [تحلیل استاتیک و پویا](/developers/docs/smart-contracts/testing/#static-dynamic-analysis) انجام می‌شود. تجزیه و تحلیل استاتیک بر نمایش‌های سطح پایین، مانند [گراف‌های جریان کنترل](https://en.wikipedia.org/wiki/Control-flow_graph) و[درخت‌های نحو انتزاعی](https://deepsource.io/glossary/ast/) برای تجزیه و تحلیل وضعیت‌های قابل دسترسی برنامه و مسیرهای اجرا. در همین حال، تکنیک‌های تحلیل پویا، مانند [فازی قرارداد هوشمند](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry)، قرارداد را اجرا می‌کنند. کد با مقادیر ورودی تصادفی برای شناسایی عملیاتی که ویژگی‌های امنیتی را نقض می‌کند.
81+
یک رویکرد بهتر ترکیب آزمایش واحد با آزمایش مبتنی بر ویژگی است که با استفاده از [تحلیل استاتیک و پویا](/developers/docs/smart-contracts/testing/#static-dynamic-analysis) انجام می‌شود. تجزیه و تحلیل استاتیک بر نمایش‌های سطح پایین، مانند [گراف‌های جریان کنترل](https://en.wikipedia.org/wiki/Control-flow_graph) و [درخت‌های نحو انتزاعی](https://deepsource.io/glossary/ast/) برای تجزیه و تحلیل وضعیت‌های قابل دسترسی برنامه و مسیرهای اجرا. در همین حال، تکنیک‌های تحلیل پویا، مانند [فازی قرارداد هوشمند](https://www.cyfrin.io/blog/smart-contract-fuzzing-and-invariants-testing-foundry)، قرارداد را اجرا می‌کنند. کد با مقادیر ورودی تصادفی برای شناسایی عملیاتی که ویژگی‌های امنیتی را نقض می‌کند.
8282

8383
[تأیید رسمی](/developers/docs/smart-contracts/formal-verification) تکنیک دیگری برای تأیید ویژگی‌های امنیتی در قراردادهای هوشمند است. برخلاف تست‌های معمولی، تأیید رسمی می‌تواند به طور قطعی عدم وجود خطا در یک قرارداد هوشمند را ثابت کند. این امر با ایجاد یک مشخصات رسمی که ویژگی‌های امنیتی مورد نظر را نشان می‌دهد و اثبات اینکه مدل رسمی قراردادها به این مشخصات پایبند است، به دست می‌آید.
8484

@@ -93,15 +93,15 @@ contract VendingMachine {
9393
با وجود همه‌ی این موارد، شما نباید با حسابرسی امنیتی مانند پاسخی برای تمام مشکلات برخورد کنید. آدیت قراردادهای هوشمند هر اشکالی را شناسایی نمی‌کند و عمدتاً برای ارائه یک سری بررسی اضافی طراحی شده است که می‌تواند به شناسایی مشکلاتی که توسعه دهندگان در طول توسعه و تست اولیه از قلم انداخته‌اند کمک کند. همچنین باید بهترین روش‌ها را برای کار با حسابرسان، مانند مستندسازی کد به درستی و افزودن نظرات درون خطی، دنبال کنید تا از مزایای حسابرسی قرارداد هوشمند به حداکثر برسانید.
9494

9595
- [نکات حسابرسی قرارداد هوشمند و amp; ترفندها](https://twitter.com/tinchoabbate/status/1400170232904400897) - _@tinchoabbate_
96-
- [از حسابرسی خود حداکثر استفاده را ببرید](https://inference.ag/blog/2023-08-14-tips/)
96+
- [از حسابرسی خود حداکثر استفاده را ببرید](https://inference.ag/blog/2023-08-14-tips/) - _Inference_
9797

9898
#### پاداش‌های باگ {#bug-bounties}
9999

100100
راه اندازی یک برنامه باگ بانتی روش دیگری برای اجرای بررسی کدهای خار‌جی است. جایزه باگ یک پاداش مالی است که به افرادی (معمولاً هکرهای کلاه سفید) که آسیب‌پذیری‌های یک برنامه را کشف می‌کنند، داده می‌شود.
101101

102-
هنگامی که به درستی استفاده می‌شود، پاداش‌های باگ به اعضای جامعه هکر انگیزه می‌دهد تا کد شما را از نظر نقص‌های مهم بررسی کنند. یک مثال واقعی "باگ پول بی‌نهایت" است که به مهاجم اجازه می‌دهد مقدار نامحدودی اتر را در [آپتیمیزم](https://www.optimism.io/) ایجاد کند، یک < یک پروتکل لایه که روی اتریوم اجرا می‌شود. خوشبختانه، یک هکر whitehat [این نقص را کشف کرد](https://www.saurik.com/optimism.html) و به تیم اطلاع داد، [کسب پرداختی بزرگ در این فرآیند انجام شد](https://cryptoslate.com/in-ethereum-l2-optimism-2m-bounty-paid/) بحرانی-اشکال-.
102+
هنگامی که به درستی استفاده می‌شود، پاداش‌های باگ به اعضای جامعه هکر انگیزه می‌دهد تا کد شما را از نظر نقص‌های مهم بررسی کنند. یک مثال واقعی "باگ پول بی‌نهایت" است که به مهاجم اجازه می‌دهد مقدار نامحدودی اتر را در [آپتیمیزم](https://www.optimism.io/) ایجاد کند، یک یک پروتکل [لایه 2](/layer-2/) که روی اتریوم اجرا می‌شود. خوشبختانه، یک هکر whitehat [این نقص را کشف کرد](https://www.saurik.com/optimism.html) و به تیم اطلاع داد، [کسب پرداختی بزرگ در این فرآیند انجام شد](https://cryptoslate.com/critical-bug-in-ethereum-l2-optimism-2m-bounty-paid/).
103103

104-
یک استراتژی مفید این است که پرداخت برنامه پاداش اشکال را متناسب با مقدار وجوه مورد نظر تنظیم کنید. این رویکرد به‌عنوان «[اشکال مقیاس‌گذاری](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) توصیف می‌شود. انگیزه‌های مالی برای افراد برای افشای مسئولانه آسیب پذیری‌ها به جای سوء استفاده از آنها را ایجاد می‌کند.
104+
یک استراتژی مفید این است که پرداخت برنامه پاداش اشکال را متناسب با مقدار وجوه مورد نظر تنظیم کنید. این رویکرد به‌عنوان «[اشکال مقیاس‌گذاری](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7)» توصیف می‌شود. انگیزه‌های مالی برای افراد برای افشای مسئولانه آسیب پذیری‌ها به جای سوء استفاده از آنها را ایجاد می‌کند.
105105

106106
### 5. در هنگام توسعه قراردادهای هوشمند بهترین رویه های موجود را دنبال کنید {#follow-smart-contract-development-best-practices}
107107

@@ -131,7 +131,7 @@ contract VendingMachine {
131131

132132
مکانیسم‌های ارتقای قرارداد متفاوت عمل می‌کنند، اما «الگوی پروکسی» یکی از محبوب‌ترین رویکردها برای ارتقای قراردادهای هوشمند است. [الگوهای پراکسی](https://www.cyfrin.io/blog/upgradeable-proxy-smart-contract-pattern) منطق اجرائی و فضای ذخیره‌سازی داده‌ها را بین _دو_ قرارداد تقسیم می‌کند. قرارداد اول (که "قرارداد پراکسی" نامیده می‌شود) متغیرهای حالت را ذخیره می‌کند (به عنوان مثال، موجودی کاربر)، در حالی که قرارداد دوم (که "منطق قرارداد" نامیده می‌شود) کد اجرای توابع قرارداد را نگه می‌دارد.
133133

134-
حساب‌ها با قرارداد پروکسی تعامل دارند، که همه فراخوانی‌های تابع را با استفاده از [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries) به قرارداد منطقی ارسال می‌کند. تماس سطح پایین. برخلاف یک تماس پیامی معمولی، `delegatecall()` تضمین می‌کند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا می‌شود. یک تماس پیامی معمولی، `delegatecall()` تضمین می‌کند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا می‌شود.
134+
حساب‌ها با قرارداد پروکسی تعامل دارند، که همه فراخوانی‌های تابع را با استفاده از [`delegatecall()`](https://docs.soliditylang.org/en/v0.8.16/introduction-to-smart-contracts.html?highlight=delegatecall#delegatecall-callcode-and-libraries) تماس سطح پایین. برخلاف یک تماس پیامی معمولی، `delegatecall()` تضمین می‌کند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا می‌شود. یک تماس پیامی معمولی، `delegatecall()` تضمین می‌کند که کد در حال اجرا در آدرس قرارداد منطقی در متن قرارداد فراخوانی اجرا می‌شود.
135135

136136
واگذاری تماس‌ها به قرارداد منطقی مستلزم ذخیره آدرس آن در فضای ذخیره‌سازی قرارداد پروکسی است. از این رو، ارتقاء منطق قرارداد فقط به استقرار یک قرارداد منطقی دیگر و ذخیره آدرس جدید در قرارداد پروکسی بستگی دارد. از آنجایی که فراخوانی یا تماس‌های بعدی به قرارداد پروکسی به طور خودکار به قرارداد منطقی جدید هدایت می‌شوند، می‌توانید قرارداد را بدون تغییر واقعی کد «ارتقاء» می‌دادید.
137137

@@ -459,11 +459,11 @@ contract Attack {
459459

460460
### ابزارهایی برای تجزیه و تحلیل قراردادهای هوشمند و تأیید صحت کد {#code-analysis-tools}
461461

462-
- **[ابزارها و کتابخانه‌های تست](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - مجموعه ای از ابزارها و کتابخانه‌های استاندارد صنعتی برای انجام تست‌های واحد، تجزیه و تحلیل استاتیک و تجزیه و تحلیل پویا در قراردادهای هوشمند است
462+
- **[ابزارها و کتابخانه‌های تست](/developers/docs/smart-contracts/testing/#testing-tools-and-libraries)** - _مجموعه ای از ابزارها و کتابخانه‌های استاندارد صنعتی برای انجام تست‌های واحد، تجزیه و تحلیل استاتیک و تجزیه و تحلیل پویا در قراردادهای هوشمند است_
463463

464464
- **[ابزارهای تأیید رسمی](/developers/docs/smart-contracts/formal-verification/#formal-verification-tools)** - _ابزارهایی برای تأیید صحت عملکرد در قراردادهای هوشمند و بررسی متغیرها هستند._
465465

466-
- **[خدمات حسابرسی قراردادهای هوشمند](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - فهرست ‌هایی که خدمات حسابرسی قرارداد هوشمند برای پروژه‌های توسعه اتریوم ارائه می‌کنند.
466+
- **[خدمات حسابرسی قراردادهای هوشمند](/developers/docs/smart-contracts/testing/#smart-contract-auditing-services)** - _فهرست ‌هایی که خدمات حسابرسی قرارداد هوشمند برای پروژه‌های توسعه اتریوم ارائه می‌کنند._
467467

468468
- **[پلتفرم‌های پاداش باگ](/developers/docs/smart-contracts/testing/#bug-bounty-platforms)** - _پلتفرم‌هایی برای هماهنگی پاداش‌های اشکال و پاداش افشای مسئولانه آسیب‌پذیری‌های مهم در قراردادهای هوشمند هستند_
469469

@@ -507,7 +507,7 @@ contract Attack {
507507

508508
- **[Nethermind](https://nethermind.io/smart-contracts-audits)** - _ خدمات حسابرسی سالیدیتی و کایرو، تضمین یکپارچگی قراردادهای هوشمند و ایمنی کاربران در سراسر اتریوم و استارک نت را ارائه می‌دهد._
509509

510-
- **[HashEx](https://hashex.org/)** - _HashEx بر روی بلاکین و حسابرسی قراردادهای هوشمند برای اطمینان از امنیت ارزهای دیجیتال، ارائه خدماتی مانند توسعه قرارداد هوشمند، تست نفوذ، مشاوره بلاکچین تمرکز دارد.
510+
- **[HashEx](https://hashex.org/)** - _HashEx بر روی بلاکین و حسابرسی قراردادهای هوشمند برای اطمینان از امنیت ارزهای دیجیتال، ارائه خدماتی مانند توسعه قرارداد هوشمند، تست نفوذ، مشاوره بلاکچین تمرکز دارد._
511511

512512
- **[Code4rena](https://code4rena.com/)** - _پلتفرم حسابرسی رقابتی که کارشناسان امنیت قراردادهای هوشمند را تشویق می‌کند تا آسیب‌پذیری‌ها را بیابند و به ایمن‌تر شدن Web3 کمک کنند._
513513

0 commit comments

Comments
 (0)