گرهها و کلاینتها
آخرین ویرایش: @Coiniran(opens in a new tab), ۱۸ مهر ۱۴۰۳
اتریوم یک شبکه توزیعشده از رایانهها (معروف به گرهها) است که نرمافزاری را اجرا میکنند که میتواند بلوکها و دادههای تراکنش را تأیید کند. نرم افزار باید بر روی رایانهی شما اجرا شود تا آن را به یک نود اتریوم تبدیل کند. برای تشکیل یک گره، دو بخش مجزا از نرمافزار (که به عنوان "کلاینت" شناخته می شوند) مورد نیاز است.
پیشنیازها
پیش از آن که نمونهی کلاینت اتریوم خود را اجرا کنید و در این موضوع عمیق شوید باید مبانی ماشین مجازی اتریوم و شبکهی همتا به همتا را بدانید و متوجه شوید. به معرفی اتریوم ما نگاهی بیندازید.
اگر با موضوع گرهها تازه کار هستید، توصیه میکنیم ابتدا مقدمه کاربرپسند ما در مورد اجرای گره اتریوم را بررسی کنید.
کلاینتها و گرهها چه هستند؟
"گره" هر نمونهای از نرمافزار مشتری اتریوم است که به رایانه های دیگری که نرمافزار اتریوم را نیز اجرا می کنند متصل است و یک شبکه را تشکیل میدهد. یک کلاینت یک نرمافزار پیادهسازی اتریوم است که داده ها را بر اساس قوانین پروتکل تأیید می کند و شبکه را ایمن نگه می دارد. یک گره باید دو کلاینت را اجرا کند: یک کلاینت اجماع و یک کلاینت اجرا.
- کلاینت اجرا (همچنین به عنوان مهندس اجرا، کلاینت EL یا قبلاً کلاینت Eth1 شناخته می شود) به تراکنشهای جدید پخش شده در شبکه گوش می دهد، آنها را در EVM اجرا می کند و آخرین وضعیت و پایگاه داده تمام داده های فعلی اتریوم را نگه می دارد.
- کلاینت اجماع (همچنین به عنوان نود بیکن، کلاینت CL یا قبلاً کلاینت Eth2 شناخته میشود) الگوریتم اجماع اثبات سهام را پیادهسازی میکند، که شبکه را قادر میسازد بر اساس دادههای معتبر از کلاینت اجرا به اجماع برسد. همچنین نرمافزار سومی وجود دارد که به عنوان "اعتبارسنج" شناخته می شود که می تواند به کلاینت اجماع اضافه شود و به یک گره اجازه می دهد تا در ایمنسازی شبکه مشارکت کند.
این کلاینتها با هم کار می کنند تا سر زنجیره اتریوم را پیگیری کنند و به کاربران اجازه دهند با شبکه اتریوم تعامل داشته باشند. طراحی مدولار با چندین نرمافزار که با هم کار می کنند پیچیدگی کپسوله شده(opens in a new tab) نامیده می شود. این رویکرد اجرای یکپارچه مرج را آسانتر میکند، نگهداری و توسعه نرمافزار کلاینت را آسانتر میکند، و استفاده مجدد از کلاینتهای تنها را، برای مثال، در اکوسیستم لایه2 ممکن میسازد.
نمودار سادهشدهی کلاینت اجرا و اجماع کنار هم.
تنوع کلاینتها
هم کلاینتهای اجرا و هم کلاینتهای اجماع در انواع زبان های برنامه نویسی که توسط تیم های مختلف توسعه یافتهاند وجود دارند.
پیادهسازی های متعدد کلاینت می تواند شبکه را با کاهش وابستگی آن به یک پایگاه کد، قویتر کند. هدف ایده آل دستیابی به تنوع بدون هرگونه تسلط کلاینت بر شبکه است و در نتیجه یک نقطه شکست بالقوه را از بین می برد. تنوع زبان ها همچنین جامعه توسعه دهندگان گسترده تری را دعوت می کند و به آنها اجازه می دهد تا به زبان دلخواه خود ادغام ایجاد کنند.
درباره تنوع کلاینت بیشتر بدانید.
وجه مشترک این پیاده سازی ها این است که همه آنها از یک مشخصات واحد پیروی می کنند. مشخصات نحوه عملکرد شبکه اتریوم و بلاکچین را تعیین می کند. هر جزئیات فنی تعریف شده است و مشخصات را می توان به صورت زیر یافت:
- در اصل، زردنامه اتریوم(opens in a new tab)
- مشخصات لایه اجرا(opens in a new tab)
- مشخصات لایه اجماع(opens in a new tab)
- EIPهای(opens in a new tab) پیادهسازی شده در گسترهای از ارتقاهای شبکه
ردیابی نودها در شبکه
ردیابهای متعدد یک نمای کلی از گرهها در شبکه اتریوم در زمان واقعی ارائه میدهند. توجه داشته باشید که با توجه به ماهیت شبکه های غیرمتمرکز، این خزنده ها تنها می توانند دید محدودی از شبکه ارائه دهند و ممکن است نتایج متفاوتی را گزارش کنند.
- نقشه نودها(opens in a new tab) توسط Etherscan
- Ethernodes(opens in a new tab) توسط Bitfly
- Nodewatch(opens in a new tab) توسط Chainsafe، که در نودهای اجماع میخزد
انواع گره
اگر میخواهید گرهی خودتان را اجرا کنید، باید بدانید که گرههای مختلفی وجود دارند که دادههای مختلفی را استفاده میکنند. در واقع، کلاینتها می توانند سه نوع مختلف از گره را اجرا کنند: سبک، کامل و آرشیو. همچنین گزینههایی از استراتژیهای همگامسازی مختلف وجود دارد که زمان همگامسازی سریعتر را امکانپذیر میکند. همگامسازی به این اشاره دارد که با چه سرعتی میتوان بهروزترین اطلاعات را در مورد وضعیت اتریوم دریافت کرد.
گره کامل
گرههای کامل اعتبارسنجی بلوک به بلوک زنجیره بلوک را انجام میدهند، از جمله دانلود و تأیید بدنه بلوک و دادههای حالت برای هر بلوک. کلاسهای مختلفی از گره کامل وجود دارد - برخی از بلوکهای پیدایش شروع میکنند و تک بلوکها را در کل تاریخچه بلاکچین تأیید میکنند. برخی دیگر تأیید خود را در بلوکی جدیدتر که به معتبر بودن آن اعتماد دارند شروع میکنند (مثلاً «همگامسازی فوری» Geth). صرف نظر از جایی که تأیید شروع می شود، گره های کامل فقط یک کپی محلی از داده های نسبتاً اخیر (معمولاً 128 عدد از جدیدترین بلوک ها) را نگه می دارند، که اجازه می دهد تا داده های قدیمی برای صرفهجویی در فضای دیسک حذف شوند. داده های قدیمی را می توان در صورت نیاز دوباره تولید کرد.
- دادههای زنجیرهی بلوکی کامل را بهطور کامل ذخیره میکند (اگرچه حشو و زواید این دادهها به صورت دورهای حذف میشود، بنابراین یک گرهی کامل تمام دادههای حالت را از زمان پیدایش تاکنون ذخیره نمیکند)
- در اعتبارسنجی بلوکها شرکت میکند و همهی وضعیتها و بلوکها را تأیید میکند.
- همه حالت ها را می توان یا از حافظه محلی بازیابی کرد یا از «اسنپشاتهایی» توسط یک گره کامل بازسازی کرد.
- در خدمت شبکه است و دادهها را در زمان درخواست ارائه میدهد.
گره آرشیو
گره های آرشیوی گره های کاملی هستند که هر بلوک را از پیدایش تأیید می کنند و هرگز هیچ یک از دادههای دانلود شده را حذف نمی کنند.
- هر چیزی که در گره کامل نگهداری میشود را ذخیره میکند و یک آرشیو کامل از حالتهای تاریخی میسازد. اگر میخواهید چیزی مانند موجودی حساب را در بلوک شماره 4،000،000 جستجو کنید، یا به سادگی و با اطمینان مجموعه تراکنشهای خود را بدون استخراج آنها با استفاده از ردیابی آزمایش کنید، به چنین چیزی نیاز است.
- این دادهها واحدهای ترابایت را نشان میدهند، که گرههای آرشیوی را برای کاربران متوسط جذابتر میکند، اما میتواند برای خدماتی مانند کاوشگرهای بلوک، فروشندگان کیفپول و تحلیل زنجیره مفید باشد.
همگامسازی کلاینتها در هر حالتی غیر از آرشیو منجر به کاهش دادههای زنجیرهی بلوکی میشود. این بدان معناست که هیچ آرشیوی از تمام حالتهای تاریخی وجود ندارد اما گرهی کامل قادر است آنها را بنا به تقاضا بسازد.
درباره نودهای آرشیوی بیشتر بدانید.
گره سبک
به جای دانلود هر بلوک، گره های سبک فقط هدر بلوک ها را دانلود می کنند. این هدرها حاوی اطلاعات خلاصه ای در مورد محتویات بلوک ها هستند. هر اطلاعات دیگری که گره سبک نیاز دارد از یک گره کامل درخواست می شود. سپس گره سبک میتواند به طور مستقل دادههایی را که دریافت میکند با توجه به ریشههای حالت در هدرهای بلوک تأیید کند. گرههای سبک به کاربران امکان میدهند بدون سختافزار قدرتمند یا پهنای باند بالا که برای اجرای گرههای کامل لازم است، در شبکهی اتریوم مشارکت کنند. در نهایت، گرههای سبک ممکن است روی تلفنهای همراه یا دستگاههای تعبیهشده اجرا شوند. گرههای سبک در اجماع شرکت نمیکنند (یعنی نمیتوانند ماینر/اعتبارسنج باشند)، اما میتوانند با همان عملکرد و تضمینهای امنیتی یک گره کامل به بلاکچین اتریوم دسترسی داشته باشند.
کلاینت های سبک ناحیهای برای توسعه فعال اتریوم هستند و انتظار داریم به زودی شاهد کلاینت های سبک جدید برای لایه اجماع و لایه اجرا باشیم. همچنین مسیرهای بالقوهای برای ارائهی دادههای کلاینت سبک از طریق شبکهی شایعه(opens in a new tab) وجود دارد. این خودش مزیت است، زیرا شبکهی شایعه میتواند شبکهای از گرههای سبک را بدون نیاز به گرههای کامل برای ارائهی درخواستها پشتیبانی کند.
اتریوم هنوز از گرههای سبک پرتعدادی پشتیبانی نمیکند، اما پشتیبانی از گرههای سبک حوزهای است که انتظار میرود در آیندهی نزدیک بهسرعت توسعه یابد. به طور خاص، کلاینتهایی مانند Nimbus(opens in a new tab) و Helios(opens in a new tab) و LodeStar(opens in a new tab) در حال حاضر به شدت بر روی گره های سبک متمرکز شده اند.
چرا باید یک گرهی اتریوم را اجرا کنم؟
اجرای یک گره به شما این امکان را می دهد که به طور مستقیم، بدون نیاز به شخص ثالث و به صورت خصوصی از اتریوم استفاده کنید و در عین حال از شبکه با قوی تر و غیرمتمرکز نگه داشتن آن پشتیبانی کنید.
مزایا برای شما
اجرای گره شما را قادر می سازد از اتریوم به صورت خصوصی، خودکفا و بدون نیاز به شخص ثالث استفاده کنید. نیازی نیست به شبکه اعتماد کنید زیرا میتوانید دادهها را خودتان با کلاینت خود تأیید کنید. «اعتماد نکنید، اعتبارسنجی کنید» یکی از شعارهای اصلی زنجیرهی بلوکی است.
- گره شما تمام تراکنشها و بلوکها را با توجه به قوانین اجماع به تنهایی اعتبارسنجی میکند. این نکته به این معنی است که شما نیازی به اتکا به هیچ گرهی دیگری در شبکه یا اعتماد تام به آنها ندارید.
- می توانید از کیف پول اتریوم با گره خود استفاده کنید. میتوانید از دپها به صورت ایمنتر و خصوصیتر استفاده کنید، زیرا مجبور نخواهید بود آدرسها و موجودیهای خود را به واسطهها فاش کنید. همهچیز میتواند با کلاینت خودتان بررسی شود. متاسک(opens in a new tab) و Frame(opens in a new tab) و بسیاری از کیفپولهای دیگر ورود RPC را پشتیبانی میکنند و به آنها امکان میدهد از گره شما استفاده کنند.
- میتوانید سرویسهای دیگری را که به دادههای اتریوم وابسته هستند، اجرا و میزبانی کنید. به عنوان مثال، این ممکن است یک اعتبار سنج بیکنچین، نرمافزاری مانند لایه2، زیرساخت، کاوشگرهای بلوک، پردازشگرهای پرداخت و غیره باشد.
- شما می توانید نقاط پایانی RPC سفارشی خود را ارائه دهید. حتی می توانید این نقاط پایانی را به صورت عمومی به جامعه ارائه دهید تا به آنها کمک کنید از ارائهدهندگان متمرکز بزرگ اجتناب کنند.
- شما میتوانید با استفاده از ارتباط بین پردازشی (IPC) گرهی خود را متصل کنید یا برای بارگذاری برنامهی خود بهعنوان افزونه آن را بازنویسی کنید. این کار لتنسی کمی را به همراه دارد، که کمک بسیاری می کند، به عنوان مثال، هنگام پردازش دادههای زیادی با استفاده از کتابخانههای وب3.0 یا زمانی که باید تراکنشهای خود را با بیشترین سرعت ممکن جایگزین کنید (یعنی frontrunning).
- شما میتوانید مستقیماً اتر را برای ایمنسازی شبکه و کسب پاداش سهامگذاری کنید. بخش سهامگذاری انفرادی را برای شروع ببینید.
مزایای شبکه
داشتن مجموعهی متنوعی از گرهها برای سلامت، امنیت و انعطافپذیری عملیاتی اتریوم حائظ اهمیت است.
- گره های کامل قوانین لایه اجماع را اجرا می کنند بنابراین نمی توان آنها را فریب داد تا بلوک هایی را بپذیرند که از آن قوانین پیروی نمی کنند. این امر امنیت بیشتری را در شبکه ایجاد می کند زیرا اگر همه گره ها گره های سبک باشند که تأیید کامل را انجام نمی دهند، اعتبار سنجها می توانند به شبکه حمله کنند.
- در صورت حمله ای که بر دفاعیات اقتصاد رمزنگاریشدهی اثبات سهام غلبه کند، می توان با انتخاب گره های کامل که از زنجیره صادقانه پیروی می کنند، یک بازیابی اجتماعی انجام داد.
- گرههای بیشتر در شبکه منجر به ایجاد یک شبکه متنوعتر و قویتر میشود، هدف نهایی تمرکززدایی، که سیستمی مقاوم در برابر سانسور و قابل اعتماد را امکانپذیر میسازد.
- گره های کامل دسترسی به داده های بلاکچین را برای کلاینتهای سَبُکی که به آن وابسته هستند، فراهم می کند. گرههای سبک همهی زنجیره بلوکی را ذخیره نمیکنند و به جای آن دادهها را با ریشهی حالت درون هدر بلوکها اعتبارسنجی میکنند. آنها می توانند در صورت نیاز اطلاعات بیشتری را از گره های کامل درخواست کنند.
اگر یک گره کامل را اجرا کنید، کل شبکه اتریوم از آن سود می برد، حتی اگر اعتبارسنج را اجرا نکنید.
اجرای گرهی خودتان
دوست دارید کلاینت اتریوم خودتان را اجرا کنید؟
جهت مطالعهی مقدمهای ویژهی مبتدیان، از صفحهی اجرای یک گرهی ما دیدن کنید تا بیشتر بدانید.
اگر بیشتر یک کاربر فنی هستید، جزئیات و گزینههای بیشتری را در مورد نحوه ثبتنام گره خود بررسی کنید.
جایگزینها
راهاندازی گره خود میتواند برای شما زمان و منابع هزینه داشته باشد، اما همیشه نیازی به اجرای نمونه خود ندارید. در این مورد، می توانید از یک ارائه دهنده API شخص ثالث استفاده کنید. برای مروری بر استفاده از این سرویسها، گرهها بهعنوان سرویس را مطالعه کنید.
اگر شخصی یک گره اتریوم را با یک API عمومی در انجمن شما اجرا می کند، می توانید کیف پول های خود را از طریق RPC سفارشی به یک گره انجمن هدایت کنید و از حریم خصوصی بیشتری نسبت به شخص ثالث مورد اعتماد تصادفی برخوردار شوید.
از طرف دیگر، اگر کلاینت را اجرا میکنید، میتوانید آن را با دوستان خود که ممکن است به آن نیاز داشته باشند به اشتراک بگذارید.
کلاینتهای اجرا
جامعهی اتریوم چندین کلاینت اجرای منبعباز (که قبلاً به عنوان «کلاینتهای Eth1» یا صرفاً «کلاینتهای اتریوم» شناخته میشدند) را نگهداری میکند که توسط تیمهای مختلف با استفاده از زبانهای برنامه نویسی مختلف توسعه یافتهاند. این شبکه را قویتر و متنوعتر میکند. هدف ایدهآل، دستیابی به تنوع بدون تسلط هیچ کلاینتی برای کاهش هر نقطهی شکستی است.
این جدول، اطلاعات کلاینتهای مختلف را بهطور خلاصه نشان میدهد. همهی آنها در آزمایشهای کلاینت(opens in a new tab) قبول شدهاند و بهطور فعال نگهداری میشوند تا با ارتقاهای شبکه همگام بمانند.
کلاینت | زبان | سیستمعامل | شبکهها | راهبرد همگامسازی | هرس کردن وضعیت |
---|---|---|---|---|---|
Geth(opens in a new tab) | Go | لینوکس، ویندوز، مکاواس | شبکه اصلی، Sepolia, Holesky | Snap, Full | آرشیو، هرسشده (Pruned) |
Nethermind(opens in a new tab) | C#, .NET | لینوکس، ویندوز، مکاواس | شبکه اصلی، Sepolia, Holesky | Snap (without serving), Fast, Full | آرشیو، هرسشده (Pruned) |
Besu(opens in a new tab) | جاوا | لینوکس، ویندوز، مکاواس | شبکه اصلی، Sepolia, Holesky | فوری, سریع, پر | آرشیو، هرسشده (Pruned) |
Erigon(opens in a new tab) | Go | لینوکس، ویندوز، مکاواس | شبکه اصلی، Sepolia, Holesky | کامل | آرشیو، هرسشده (Pruned) |
Reth(opens in a new tab) | Rust | لینوکس، ویندوز، مکاواس | شبکه اصلی، Sepolia, Holesky | کامل | آرشیو، هرسشده (Pruned) |
EthereumJS(opens in a new tab) (beta) | TypeScript | لینوکس، ویندوز، مکاواس | Sepolia, Holesky | کامل | Pruned |
جهت کسب اطلاعات بیشتر دربارهی شبکههای پشتیبانیشده شبکههای اتریوم را بخوانید.
هر کلاینت دارای موارد استفاده و مزایای منحصربهفردی است، بنابراین شما باید یکی را بر اساس ترجیحات خود انتخاب کنید. تنوع اجازه میدهد تا پیادهسازیها بر روی ویژگیهای مختلف و مخاطبان کاربر متمرکز شوند. ممکن است بخواهید کلاینت را بر اساس ویژگیها، پشتیبانی، زبان برنامهنویسی یا مجوزها انتخاب کنید.
Besu
هایپرلجر Besu یک کلاینت اتریوم در ردهی سازمانی برای شبکههای عمومی و مجوزدار است. این کلاینت تمام ویژگیهای اصلی اتریوم، از ردیابی گرفته تا GraphQL را اجرا میکند، نظارت گستردهای دارد و توسط ConsenSys، هم در کانالهای جامعه باز و هم از طریق SLAهای تجاری برای شرکتها، پشتیبانی میشود. این کلاینت به زبان جاوا نوشته شده است و دارای مجوز Apache 2.0 است.
اسناد(opens in a new tab) گسترده Besu شما را در تمام جزئیات مربوط به ویژگیها و تنظیمات آن راهنمایی میکند.
Erigon
Erigon که قبلاً به عنوان Turbo-Geth شناخته می شد، به عنوان یک فورک Go Ethereum با جهت گیری سرعت و کارایی فضای دیسک شروع به کار کرد. Erigon یک نرمافزار کاملاً بازسازیشده از اتریوم است که در حال حاضر با زبان Go نوشته شده است اما نرمافزارهایی به زبانهای دیگر در دست توسعه دارد. هدف Erigon ارائهی پیادهسازی سریعتر، ماژولارتر و بهینهتر اتریوم است. میتواند با استفاده از حدود 2 ترابایت فضای دیسک، در کمتر از 3 روز، همگامسازی گره آرشیو کامل را انجام دهد.
Go Ethereum
Go Ethereum (به طور خلاصه geth) یکی از پیادهسازیهای اصلی برای پروتکل اتریوم است. در حال حاضر، geth رایجترین کلاینت با بزرگترین پایگاه کاربران و ابزارهای متنوع برای کاربران و توسعهدهندگان است. این کلاینت به زبان Go نوشته شده است، کاملاً منبعباز است و مجوز آن تحت GNU LGPL v3 است.
درباره Geth در اسناد(opens in a new tab) آن بیشتر بیاموزید.
Nethermind
Nethermind یک نرمافزار اتریومی است که با پشته فناوری C#.NET، دارای مجوز LGPL-3.0 است که بر روی تمام پلتفرمهای اصلی از جمله ARM اجرا میشود. این پیادهسازی در رابطه با موارد زیر، کارکردی عالی دارد:
- یک ماشین مجازی بهینه
- دسترسی به حالت
- شبکه و ویژگیهای غنی مانند داشبوردهای Prometheus/Grafana، پشتیبانی از گزارش سازمانی seq، ردیابی JSON-RPC، و افزونههای تجزیه و تحلیل.
Nethermind همچنین مستندات مشروح(opens in a new tab)، پشتیبانی توسعهی قوی، یک جامعهی آنلاین و پشتیبانی 24 ساعته در 7 روز هفته برای کاربران پرمیوم دارد.
Reth
Reth (مخفف Rust Ethereum) یک پیادهسازی گره کامل اتریوم است که بر کاربرپسند بودن، بسیار ماژولار، سریع و کارآمد تمرکز دارد. Reth در اصل توسط Paradigm ساخته و به جلو هدایت شد و تحت مجوز Apache و MIT مجوز دارد.
Reth آماده تولید است و برای استفاده در محیطهای حیاتی مانند سرویسها یا سرویسهای با زمان بالا مناسب است. در موارد استفاده که عملکرد بالا با حاشیه های زیاد مورد نیاز است مانند RPC، MEV، ایندکسینگ، شبیه سازی و فعالیت های P2P، عملکرد خوبی دارد.
با بررسی Reth Book(opens in a new tab) یا Reth GitHub repo(opens in a new tab) بیشتر بیاموزید.
در حال توسعه
این کلاینتها هنوز در مراحل اولیه توسعه هستند و هنوز برای استفاده در تولید توصیه نمی شوند.
EthereumJS
کلاینت اجرای EthereumJS (EthereumJS) با TypeScript نوشته شده است و متشکل از تعدادی بسته، از جمله هسته های اولیه اتریوم که توسط کلاس های Block، Transaction و Merkle-Patricia Trie و اجزای اصلی مشتری شامل پیادهسازی ماشین مجازی اتریوم (EVM)، کلاس بلاکچین و پشته شبکه DevP2P ارائه می شود.
با خواندن اسناد(opens in a new tab) در مورد آن بیشتر بیاموزید
کلاینتهای اجماع
چندین کلاینت اجماع (که قبلاً بهعنوان کلاینتهای «Eth2» شناخته میشدند) وجود دارد که از ارتقاهای اجماع پشتیبانی میکنند. آنها مسئول همه منطق مربوط به اجماع از جمله الگوریتم انتخاب فورک، پردازش گواهیها و مدیریت پاداشها و مجازاتهای اثبات سهام هستند.
کلاینت | زبان | سیستمعامل | شبکهها |
---|---|---|---|
Lighthouse(opens in a new tab) | Rust | لینوکس، ویندوز، مکاواس | Beacon Chain, Goerli, Pyrmont, Sepolia, Ropsten، و غیره |
Lodestar(opens in a new tab) | TypeScript | لینوکس، ویندوز، مکاواس | Beacon Chain, Goerli, Sepolia, Ropsten، و غیره |
Nimbus(opens in a new tab) | Nim | لینوکس، ویندوز، مکاواس | Beacon Chain, Goerli, Sepolia, Ropsten، و غیره |
Prysm(opens in a new tab) | Go | لینوکس، ویندوز، مکاواس | Beacon Chain, Gnosis, Goerli, Pyrmont, Sepolia, Ropsten، و غیره |
Teku(opens in a new tab) | جاوا | لینوکس، ویندوز، مکاواس | Beacon Chain, Gnosis, Goerli, Sepolia, Ropsten، و غیره |
Lighthouse
Lighthouse یک زیرساخت کلاینت اجماع است که با زبان Rust تحت مجوز Apache-2.0 نوشته شده است. توسط Sigma Prime نگهداری می شود و از زمان پیدایش Beacon Chain پایدار و آماده تولید بوده است. شرکت های مختلف، استخرهای سهامگذاری و افراد به آن متکی هستند. هدف آن این است که در محیطهای مختلف، از رایانههای شخصی رومیزی گرفته تا پیادهسازیهای خودکار پیچیده، ایمن و کارآمد و قابل اجرا باشد.
اسناد را می توان در کتاب Lighthouse(opens in a new tab) پیدا کرد
Lodestar
Lodestar یک زیرساخت کلاینت اجرا آماده تولید است که با زبان Typescript تحت مجوز LGPL-3.0 نوشته شده است. این سیستم توسط ChainSafe Systems نگهداری می شود و جدیدترین کلاینت اجماع برای سهامگذاران انفرادی، توسعه دهندگان و محققین است. Lodestar متشکل از یک Beacon Node و کلاینت اعتبارسنج است که توسط زیرساخت جاوا اسکریپت پروتکلهای اتریوم پشتیبانی می شود. هدف Lodestar بهبود قابلیت استفاده اتریوم با کلاینتهای سبک، گسترش دسترسی به گروه بزرگتری از توسعه دهندگان و کمک بیشتر به تنوع اکوسیستم است.
اطلاعات بیشتر را می توانید در وب سایت Lodestar(opens in a new tab) ما بیابید
Nimbus
Nimbus یک زیرساخت کلاینت اجماع است که با زبان Nim تحت مجوز Apache-2.0 نوشته شده است. این یک کلاینت آماده تولید است که توسط سهامگذاران انفرادی و استخرهای سهامگذاری استفاده می شود. Nimbus برای بهره وری از منابع طراحی شده است، و اجرای آن را بر روی دستگاه های دارای محدودیت منابع و زیرساخت های سازمانی با سهولت یکسان، بدون به خطر انداختن ثبات یا عملکرد پاداش آسان می کند. ردپای منبع سبکتر به این معنی است که کلاینت دارای حاشیه ایمنی بیشتری در زمانی که شبکه تحت استرس است باشد.
در اسناد Nimbus(opens in a new tab) بیشتر بیاموزید
Prysm
Prysm یک کلاینت اجماع با امکانات کامل و منبع باز است که با زبان Go تحت مجوز GPL-3.0 نوشته شده است. دارای یک رابط کاربری وب اپلیکیشن اختیاری است و تجربه کاربر، اسناد و قابلیت پیکربندی را هم برای کاربران شرکتی و هم برای کاربران سازمانی در اولویت قرار می دهد.
برای اطلاعات بیشتر به اسناد Prysm(opens in a new tab) مراجعه کنید.
Teku
Teku یکی از کلاینت های اصلی Beacon Chain Genesis است. در کنار اهداف معمول (امنیت، استحکام، پایداری، قابلیت استفاده، عملکرد)، Teku به طور خاص به دنبال مطابقت کامل با استانداردهای مختلف کلاینت اجماع است.
Teku گزینه های استقرار بسیار انعطاف پذیری را ارائه می دهد. گره beacon و کلاینت اعتبارسنج را می توان با هم به عنوان یک فرآیند واحد اجرا کرد که برای سهامگذاران انفرادی بسیار راحت است، یا گره ها را می توان به طور جداگانه برای عملیات های پیچیده ای اجرا کرد. علاوه بر این، Teku به طور کامل با Web3Signer(opens in a new tab) برای امضای امنیت کلید و حفاظت از جریمه قابل استفاده است.
Teku به زبان جاوا نوشته شده و دارای مجوز آپاچی 2.0 است. این کلاینت توسط تیم Protocols در ConsenSys که مسئولیت Besu و Web3Signer را نیز بر عهده دارد، توسعه یافته است. در اسناد Teku(opens in a new tab) بیشتر بیاموزید.
حالات همگامسازی
برای پیگیری و تأیید دادههای جاری در شبکه، کلاینت اتریوم باید با آخرین حالت شبکه همگام شود. این کار با بارگیری کردن دادهها از همتایان، تأیید رمزنگاری یکپارچگی آنها و ایجاد یک پایگاه دادهی محلی زنجیرهی بلوکی انجام میشود.
حالتهای همگامسازی رویکردهای متفاوتی را برای این فرایند با بدهبستانهای مختلف نشان میدهند. کلاینتها همچنین در پیادهسازیهای الگوریتمهای همگامسازی تفاوت دارند. برای اطلاع از جزئیات پیادهسازی، همیشه به مستندات رسمی کلاینت انتخابی خود مراجعه کنید.
حالتهای همگامسازی لایه اجرا
لایه اجرا ممکن است در حالتهای مختلف اجرا شود تا با موارد استفاده متفاوت مطابقت داشته باشد، از اجرای مجدد حالت سراسریبلاکچین گرفته تا فقط همگامسازی با نوک زنجیره از یک نقطه بازرسی قابل اعتماد.
همگامسازی کامل
یک همگامسازی کامل همه بلوکها (از جمله سرصفحهها و بدنههای بلوک) را دانلود میکند و با اجرای هر بلوک از زمان بلوک جنسیس، حالت بلاکچین را بهصورت تدریجی بازسازی میکند.
- اعتماد را به حداقل میرساند و با تأیید هر تراکنش، بالاترین امنیت را ارائه میدهد.
- ٰبا افزایش تعداد تراکنشها، پردازش همه تراکنشها ممکن است روزها تا هفتهها طول بکشد.
گرههای آرشیو یک همگامسازی کامل را برای ایجاد (و حفظ) تاریخچه کاملی از تغییرات حالت ایجاد شده توسط هر تراکنش در هر بلوک انجام میدهند.
همگامسازی سریع
همانند یک همگامسازی کامل، یک همگامسازی سریع همه بلوکها (از جمله سرصفحهها، تراکنشها و رسیدها) را دانلود میکند. با این حال، بهجای پردازش مجدد تراکنشهای تاریخی، یک همگامسازی سریع هنگامی که به وضعیت وارد کردن و پردازش کردن بلوکها تغییر مییابد تا یک فول نود را تهیه کند، تا زمانی که به سررسید اخیر برسد، به رسیدها متکی است.
- استراتژی همگامسازی سریع.
- تقاضای پردازش را به نفع استفاده از پهنای باند کاهش می دهد.
همگامسازی فوری
همگامسازیهای سریع نیز زنجیره را بلوک به بلوک تأیید میکنند. با این حال، به جای شروع از بلوک جنسیس، یک همگامسازی فوری در یک نقطه بازرسی جدیدتر «معتمد» که به عنوان بخشی از بلاکچین واقعی شناخته شده است، شروع می شود. گره در حین حذف داده های قدیمی تر از سن معین، نقاط بازرسی دوره ای را ذخیره می کند. این اسنپشاتها برای بازسازی دادههای حالت در صورت نیاز به جای ذخیرهسازی برای همیشه استفاده میشوند.
- سریعترین استراتژی همگام سازی، در حال حاضر به طور پیش فرض در شبکه اصلی اتریوم.
- صرفهجویی در مصرف حافظه و پهنای باند شبکه بدون به خطر انداختن امنیت.
جزئیات بیشتر همگامسازی سریع(opens in a new tab).
همگامسازی سبک
حالت کلاینت سبک همهی هدرهای بلوک و دادههای بلوک را بارگیری میکند و برخی را بهطور تصادفی تأیید میکند. فقط نوک زنجیره را از نقاط بررسی مطمئن همگامسازی میکند.
- با تکیه بر اعتماد به توسعهدهندگان و مکانیزم اجماع، تنها آخرین وضعیت را دریافت میکند.
- کلاینت ظرف چند دقیقه با وضعیت فعلی شبکه آماده استفاده است.
نکته همگامسازی سبک هنوز با اتریوم اثبات سهام کار نمیکند - نسخههای جدید همگامسازی سبک به زودی عرضه میشوند!
حالتهای همگامسازی لایه اجماع
همگامسازی خوشبینانه
همگامسازی خوشبینانه یک استراتژی همگامسازی پس از ارتقاء مرج است که بهمنظور سازگاری با انتخاب و عقبنشینی طراحی شده است و به گرههای اجرا اجازه میدهد از طریق روشهای تعیینشده همگام شوند. موتور اجرا می تواند بهطور خوشبینانه بلوک های بیکن را بدون تأیید کامل آنها وارد کند، آخرین هد را پیدا کند و سپس شروع به همگام سازی زنجیره با روش های بالا کند. سپس، پس از اینکه کلاینت اجرا به نتیجه رسید، اعتبار تراکنشهای موجود در زنجیره بیکن را به کلاینت اجماع اطلاع میدهد.
حزئیات بیشتر همگامسازی خوشبینانه(opens in a new tab)
همگامسازی نقطه بازرسی
همگامسازی نقطه بازرسی، که به عنوان همگامسازی ذهنی ضعیف نیز شناخته میشود، تجربه کاربری برتری را برای همگامسازی Beacon Node ایجاد میکند. این مبتنی بر فرضیات فردیت ضعیف است که امکان همگام سازی زنجیره بیکن از یک نقطه بازرسی ذهنی ضعیف اخیر را به جای جنسیس فراهم می کند. همگامسازیهای نقطه بازرسی با مفروضات اعتماد مشابهی مانند همگامسازی از زمان بلوک ، زمان همگامسازی اولیه را به میزان قابل توجهی سریعتر میکند.
در عمل، این بدان معناست که گره شما به یک سرویس راه دور متصل می شود تا حالت های نهایی را بارگیری کند و به تأیید داده ها از آن نقطه ادامه می دهد. شخص ثالثی که داده ها را ارائه می دهد مورد اعتماد است و باید با دقت انتخاب شود.
جزئیات بیشتر همگامسازی نقطه بازرسی(opens in a new tab)
بیشتر بخوانید
- اتریوم مقدماتی - بخش دوم - فهم گرهها(opens in a new tab) - ویل بارنز، 13 فوریه 2019
- اجرای گرههای کامل اتریوم: راهنمایی برای افراد کمانگیزه(opens in a new tab) – جاستین لروکس، 7 نوامبر 2019
موضوعات مرتبط
آموزشهای مرتبط
- Raspberry Pi 4 خود را فقط با اتصال کارت MicroSD به یک گره اعتبارسنج تبدیل کنید – راهنمای نصب – Raspberry Pi 4 خود را فلش کنید، یک کابل اترنت به آن وصل کنید، دیسک SSD را وصل کنید و دستگاه را روشن کنید تا Raspberry Pi 4 را به یک گره کامل اتریوم که لایه اجرا (شبکهی اصلی) و / یا لایه اجماع (زنجیرهی بیکن / اعتبارسنج) را اجرا میکند، تبدیل کنید.