بسترهای نرم افزاری Blockchain برای اینترنت صنعتی اشیاء | Blockchain Platform for Industrial Internet of Things جدول مقالات آزادابزار تفکیک و ترجمه متون علمیمقالات اینترنت اشیاء
تماس با ما
 
بدان
 
امروز شنبه ، ۱۴۰۰/۰۷/۰۳
 
کلیه مقالات

بسترهای نرم افزاری Blockchain برای اینترنت صنعتی اشیاء

Blockchain Platform for Industrial Internet of Things

بسترهای نرم افزاری Blockchain برای اینترنت صنعتی اشیاء:

چکیده:

اینترنت اشیاء (IoT) برای کاربردهای صنعتی و تولیدی از قبیل اتوماسیون ساخت ، تشخیص دستگاه از راه دور ، مدیریت پیش آگهی بهداشت دستگاه های صنعتی و مدیریت زنجیره تأمین اتخاذ می شود.

Cloud مبتنی بر تولید یک مدل اخیر از تقاضای تولید است که باعث افزایش فن آوری های IoT می شود.

در حالی که تولید مبتنی بر ابر امکان دسترسی به تقاضا به منابع تولید را فراهم می کند ، یک واسطه قابل اعتماد برای معاملات بین کاربرانی که مایل به استفاده از خدمات تولید هستند ، ضروری است.

ما بر اساس فناوری زنجیره بلوک ، یک بستر غیرمترقبه ، نظیر به همتا به نام BPIIoT برای اینترنت صنعتی اشیاء ارائه می دهیم.

با استفاده از فناوری Blockchain ، پلتفرم BPIIoT به همسالان در یک شبکه غیر متمرکز ، غیرمترقبه ، نظیر همسالان امکان می دهد بدون نیاز به یک واسطه قابل اعتماد با یکدیگر ارتباط برقرار کنند.

1. معرفی:

اینترنت اشیاء (IoT) شامل "چیزهایی" (یا دستگاههای IoT) است که قابلیت سنجش از دور و یا قابلیت تحریک از راه دور را دارند و می توانند داده ها را با سایر دستگاهها و برنامه های متصل (مستقیم یا غیرمستقیم) تبادل کنند.

دستگاه های IoT می توانند داده ها را جمع آوری کرده و داده ها را بصورت محلی پردازش کنند یا داده ها را برای سرورهای متمرکز یا برنامه های مبتنی بر ابر برای پردازش ارسال کنند [1].

فناوری های IoT برای سیستم های صنعتی و تولیدی نوید بخش هستند.

کارشناسان تاثیر تریلیون دلاری IoT را در بخش های صنعتی و تولیدی پیش بینی کرده اند.

مدل تولید تقاضای اخیر که باعث افزایش فناوری IoT می شود ، ساخت مبتنی بر ابر (CBM) نام دارد.

CBM دسترسی همه جا ، مناسب و براساس تقاضا شبکه را به یک استخر مشترک از منابع تولیدی قابل تنظیم امکان پذیر می کند که می توانند با حداقل تلاش مدیریت یا تعامل ارائه دهنده خدمات سریعاً تهیه و آزاد شوند [3] [4].

در این مقاله ، ما یک بستر غیرمترقبه ، همکار را با نام BPIIoT برای اینترنت صنعتی اشیاء مبتنی بر Blockchain پیشنهاد می کنیم ، فناوری ای که قدرت رمزنگاری ارز بیت کوین را دارد.

پلتفرم BPIIoT به عنوان یک کلیدساز برای ساخت مبتنی بر ابر عمل می کند و عملکرد سیستم عامل های موجود در CBM را بهبود می بخشد ، خصوصاً به منظور ادغام تجهیزات کف فروشگاه میراث در محیط ابر.

در حالی که تولید مبتنی بر ابر امکان دسترسی به تقاضا به منابع تولید را فراهم می کند ، یک واسطه قابل اعتماد برای معاملات بین کاربرانی که مایل به استفاده از خدمات تولید هستند ، ضروری است.

با استفاده از فناوری زنجیره بلوک ، پلتفرم BPIIoT به همسالان در یک شبکه غیر متمرکز ، بی اعتماد ، همکار و همسالان امکان می دهد بدون نیاز به یک واسطه قابل اعتماد با یکدیگر ارتباط برقرار کنند.

2- کار مرتبط:

فناوری بلاکچین به همراه بیت کوین توسط ساتوشی ناکاموتو معرفی شد [5].

معاملات بیت کوین در یک دفترچه عمومی به نام Blockchain ضبط می شود.

IBM و سامسونگ با استفاده از فناوری Blockchain ، همکاری خود را برای ساختن راه حل های غیرمستقیم IoT اعلام کرده اند [6].

Slock این فناوری قفل هوشمند را با نام Slocks ایجاد کرده است که امکان کنترل اشیاء بدنی در دنیای واقعی توسط Blockchain را فراهم می کند.

صاحبان یک Slock که می خواهد اجسام جسمی در دنیای واقعی خود (مانند خانه ها ، ماشین ها یا دوچرخه ها) را اجاره کند ، مبلغی را برای استفاده از اشیاء واریز می کند.

کاربران می توانند Slocks را با استفاده از برنامه تلفن همراه پیدا کنند و سپس برای اجاره اشیاء اقدام به پرداخت در Ethers کنند.

پس از تأیید معاملات در شبکه Ethereum Blockchain ، کاربران اجازه باز کردن یا بستن Slocks را با تلفن هوشمند خود می گیرند.

یک قرارداد هوشمند به طور خودکار بین مالک و کاربر اجرا می شود.

پس از بازگشت شی ، سپرده منهای هزینه اجاره به کاربر بازگردانده می شود.

Trans Active Grid ترکیبی از نرم افزارها و فناوری های سخت افزاری را ایجاد کرده است که کاربران را قادر می سازد با استفاده از قراردادهای هوشمند و Blockchain ، انرژی خورشیدی را از یکدیگر ایمن و به طور خودکار خریداری و بفروشند.

فیلامنت یک پشته فن آوری باز را مبتنی بر فناوری Blockchain ساخته است ، تا دستگاه ها را قادر به کشف ، برقراری ارتباط و تعامل با یکدیگر به شیوه ای کاملاً مستقل و توزیع کند [9].

مروری بر قراردادهای Blockchain و Smartchain و برنامه های Blockchain برای IoT در [10] شرح داده شده است.

3- مشارکتهای اصلی کار پیشنهادی:

ما یک بسترهای نرم افزاری Blockchain برای اینترنت صنعتی اشیاء (BPIIoT) ارائه می دهیم ، که امکان توسعه برنامه های مختلف توزیع شده (Dapps) را برای تولید فراهم می کند.

شکل 1 تفاوت بین راه حل موجود (Slock.it) و پلت فرم پیشنهادی BPIIoT را نشان می دهد.

در حالی که راه حلهای موجود مانند Slock.

می توان آن را به عنوان Dapp های تخصصی برای انجام یک کار خاص در نظر گرفت (مانند باز کردن قفل) ، BPIIoT دامنه بسیار وسیع تری دارد زیرا امکان توسعه برنامه های مختلف تولید غیر متمرکز و همتا را به همتا می دهد ، همانطور که در بخش 6 توضیح داده شده است. این داپ های تولیدی بر اساس شکل 1- Slock.it vs BPIIoT ساخته شده اند:

(الف) لغزیدن.

این Dapp مبتنی بر یک قرارداد هوشمندانه بین کاربر و مالک یک شیء فیزیکی در دنیای واقعی است ، برای باز کردن قفل هنگام استفاده کاربر اجاره و سپردن قرارداد هوشمند برای باز کردن قفل (b) بسترهای نرم افزاری BPIIoT بسیار زیاد است. دامنه وسیع تری نسبت به Slock.

آن را به عنوان امکان توسعه برنامه های مختلف تولید غیر متمرکز و همتا به همتا را ممکن می سازد.

پلت فرم BPIIoT متشکل از یک کامپیوتر تک تخته (با پل های ابر و بلاکچین ، سنسورها و درایور اتصال محرک ، کیف پول Blockchain ، سرویس کنترلر ، I / O و مؤلفه های مدیریت دستگاه) و یک صفحه رابط.

BPIIoT همچنین سیستم عامل های CBM موجود را با:

1) فعال کردن معاملات مصرف کننده به ماشین و ماشین به ماشین بدون واسطه قابل اعتماد؛ 2) ادغام تجهیزات فروشگاه میراث در محیط ابر؛ 3) انجام کارهای مربوط به تعمیر و نگهداری و تشخیص دستگاه؛ 4) تهیه دفترچه توزیع شده ، ایمن و مشترک از کلیه معاملات ، دارایی ها و سوابق موجودی.

4- مفاهیم Blockchain:

در این بخش مفاهیم کلیدی مربوط به Blockchain به طور کلی و شبکه زنجیره ای Ethereumblock را که برای پلت فرم پیشنهادی BPIIoT استفاده کرده ایم ، توصیف می کنیم.

- Blockchain:

Blockchain یک ساختار داده توزیع شده است که شامل یک زنجیره بلوک است.

Blockchain به عنوان یک بانک اطلاعاتی توزیع شده یا یک رهبر جهانی عمل می کند که سوابق کلیه معاملات را در یک شبکه Blockchain حفظ می کند.

معاملات زمانی مهر می شوند و به بلوک هایی بسته می شوند که در آن هر بلوک با هش رمزنگاری مشخص می شود.

بلوکها یک توالی خطی را تشکیل می دهند که در آن هر بلوک به هش بلوک قبلی مراجعه می کند و زنجیره ای از بلوک ها به نام Blockchain را تشکیل می دهد.

یک Blockchain توسط شبکه ای از گره ها نگهداری می شود و هر گره معاملات یکسان را اجرا و ثبت می کند.

Blockchain در میان گره های شبکه Blockchain تکرار می شود.

هر گره در شبکه می تواند معاملات را بخواند.

شکل 2 (a) ساختار یک Blockchain را نشان می دهد.

- قراردادهای هوشمند:

قرارداد هوشمند نوعی کد است که در یک Blockchain ساکن است و توسط یک آدرس منحصر به فرد مشخص می شود.

یک قرارداد هوشمند شامل مجموعه ای از توابع قابل اجرا و متغیرهای حالت است.

این توابع هنگام انجام معاملات با این توابع انجام می شود.

معاملات شامل پارامترهای ورودی است که توسط توابع قرارداد لازم است.

پس از اجرای یک عملکرد ، متغیرهای حالت در قرارداد بسته به منطق اجرا شده در عملکرد تغییر می کنند.

قراردادها را می توان به زبانهای مختلف سطح بالا (مانند Solid یا پایتون) نوشت [11].

از کامپایلرهای مخصوص زبان برای قراردادهای هوشمند (مانند Solid یا مار) برای کامپایل قراردادها در کد بایت استفاده می شود.

پس از تدوین ، قراردادها در شبکه Blockchain بارگذاری می شوند که آدرس های منحصر به فردی را به قراردادها اختصاص می دهند.

هر کاربر در شبکه Blockchain می تواند با ارسال معاملات به قرارداد ، عملکردهای موجود در قرارداد را آغاز کند.

کد قرارداد به عنوان بخشی از تأیید بلوک های جدید در هر گره شرکت کننده در شبکه اجرا می شود.

شکل 2 (ب) ساختار یک قرارداد هوشمند را نشان می دهد.

- اتریوم:

Ethereum یک بستر Blockchain باز و قابل برنامه ریزی است [12].

هرکسی می تواند برای سیستم عامل ثبت نام کند و یک حساب Ethereum ایجاد کند.

کاربران می توانند قراردادهای هوشمند را روی پلتفرم اتریوم ایجاد و به کار گیرند و برنامه های غیر متمرکز بسازند.

این پلتفرم متعلق به یک نهاد واحد نیست و تحت کنترل نیست و توسط همسالانی که گره Ethereum را اداره می کنند ، تهیه شده است.

- دستگاه مجازی Ethereum (EVM):

ماشین مجازی Ethereum (EVM) محیط زمان اجرای قراردادهای هوشمند در اتریوم است.

گره های موجود در شبکه اتریوم EVM را اجرا می کنند.

EVM به عنوان ماسهبازی کار می کند و یک محیط اعدام جداگانه را فراهم می کند.

تمام گره های موجود در شبکه Blockchain محاسبات یکسانی را انجام می دهند ، بنابراین عملکرد اضافی را در اجرای قراردادهای هوشمند فراهم می کنند.

در حالی که این مقدار زیادی از افزونگی یک رویکرد کارآمد برای اجرای نیست ، اما برای حفظ اجماع در شبکه که در آن هیچ مقام متمرکز یا شخص ثالث قابل اعتماد وجود ندارد ، لازم است.

- حساب های اتریوم:

Ethereum دارای دو نوع حساب - حساب های خارجی (EOA) و حساب های قرارداد است.

EOAs حسابهایی هستند که متعلق به کاربران و کنترل آنهاست.

هر EOA دارای توازن اتر با آن است.

این حسابها می توانند معاملات را به سایر EOA ها یا حساب های قرارداد بفرستند.

حساب های قرارداد با کد قرارداد مربوطه که در حساب ذخیره می شود کنترل می شود.

اجرای کد قرارداد توسط معاملات ارسال شده توسط EOA یا پیام های ارسال شده توسط سایر قراردادها انجام می شود.

- کلیدهای عمومی-خصوصی:

هر حساب خارجی (EOA) دارای یک جفت کلید عمومی-خصوصی است که با آن در ارتباط است.

آدرس حساب از کلید عمومی گرفته شده است.

هنگامی که EOA جدید ایجاد می شود ، یک فایل کلید JSON ایجاد می شود که کلیدهای عمومی و خصوصی را با حساب مرتبط می کند.

کلید خصوصی با رمز عبوری رمزگذاری شده است که هنگام ایجاد حساب کاربری رمزگذاری شده است.

برای ارسال معاملات به حساب های دیگر ، کلید خصوصی و رمز ورود نیاز است.

- Dapp:

برنامه غیر متمرکز (یا Dapp) برنامه ای است که از قراردادهای هوشمند استفاده می کند.

Dapp ها یک رابط کاربر پسند را برای قراردادهای هوشمند فراهم می کنند.

یک برنامه ارزی رمزنگاری نمونه ای از Dapp است که در یک شبکه Blockchain اجرا می شود.

- بلوک:

معاملات در یک شبکه Blockchain به بلاک ها بسته شده و در تمام گره های شرکت کننده انجام می شود.

یک بلوک شامل یک لیست معامله ، جدیدترین حالت ، یک شماره بلوک و یک مقدار مشکل است.

اگر معاملات متناقضی در شبکه وجود داشته باشد (به عنوان مثال ، معاملات انجام شده با هزینه مضاعف) ، فقط یکی از آنها انتخاب می شود تا جزئی از بلوک شود.

بلوک ها در فواصل منظم به Blockchain اضافه می شوند.

- معاملات:

معاملات پیامهایی هستند که توسط حسابهای خارجی (EOA) به سایر EOA ها یا حساب های قرارداد ارسال می شوند.

هر تراکنش شامل آدرس گیرنده ، بار داده داده معامله و ارزش معاملات است.

وقتی یک معامله به EOA ارسال می شود ، ارزش معاملات به گیرنده منتقل می شود.

هنگامی که معامله به یک حساب قرارداد ارسال می شود ، از داده بار معامله برای ارائه ورودی به عملکرد قرارداد برای اجرا استفاده می شود.

معاملات توسط کلید خصوصی فرستنده امضا می شوند.

معاملات در فرآیند معدن انتخاب و در بلوک ها گنجانده شده است.

وضعیت شبکه فقط با معامله هایی که برای گنجاندن در بلوک ها انتخاب شده اند تغییر می یابد.

معاملات در یک شبکه Blockchain توسط همه گره های شرکت کننده در شبکه قابل خواندن است.

- پیام ها:

قراردادهای مستقر در یک شبکه Blockchain می توانند پیامهایی را برای سایر قراردادها ارسال کنند.

یک پیام حاوی آدرس فرستنده ، آدرس گیرنده ، مقدار برای انتقال و فیلد داده است که شامل داده های ورودی به قرارداد گیرنده است.

تفاوت بین یک معامله و یک پیام در این است که یک پیام توسط یک قرارداد تولید می شود در حالی که یک معامله توسط یک EOA تولید می شود.

- معدن:

معاملات در یک شبکه Blockchain در فرآیندی به نام استخراج تأیید می شود.

گره های شرکت کننده در شبکه مشوق هایی در قالب اتر برای انجام عملیات معدن ارائه می شوند.

معدنچیان برای انجام یک محاسبات ریاضی پیچیده و گره ای که برنده می شود ، رقابت می کنند و در اترز پاداش می گیرند.

کارگران معدن بلوک هایی را تولید می کنند که اعتبار آنها توسط سایر معدنچیان تأیید شده است.

یک بلوک معتبر اثربخشی است که شامل اثبات کار (PoW) برای یک مشکل خاص است.

در اتریوم از الگوریتم اثبات کار به نام Ethash استفاده شده است.

الگوریتم PoW یک ورودی فرخنده به الگوریتم پیدا می کند تا نتیجه آن زیر یک آستانه دشواری خاص باشد.

می توان با دستیابی به مشکل ، زمان یافتن بلوک جدید را کنترل کرد.

یک معدنچی موفق PoW شخصی است که بلوک آن انتخاب شده است تا بعد در Blockchain باشد.

هنگامی که یک بلوک برنده انتخاب شود ، سایر گره های دیگر به آن بلوک جدید به روز می شوند.

- اتر:

اتر واحد پولی است که در شبکه Ethereum Blockchain استفاده می شود.

کارگران معدن در شبکه اتریوم پاداش استخراج معدن را در قالب اتر دریافت می کنند.

واحد پایه اتر وی نامیده می شود (جایی که 1 اتر = 1018 وی).

- گاز:

گاز نام سوخت کریپتو است که برای انجام عملیات در یک شبکه Blockchain مصرف می شود.

به تمام معاملات موجود در شبکه مقدار مشخصی از گاز شارژ می شود.

در هنگام ارسال معامله ، فرستنده قیمت بنزین را تعیین می کند که نشانگر هزینه ای است که فرستنده مایل است هزینه گاز را بپردازد.

به فرستندگان معاملات مبلغی بابت هزینه گاز تعلق می گیرد که به کارگران معدن پرداخت می شود و مانده آن به فرستنده بازپرداخت می شود.

هزینه بنزین پرداخت شده از نظر تعداد دستورالعملهای اتمی متناسب با میزان کار مورد نیاز برای انجام معامله است.

5- بسترهای نرم افزاری Blockchain برای اینترنت صنعتی اشیاء:

ما یک بستر Blockchain برای اینترنت صنعتی اشیاء (BPIIoT) پیشنهاد می کنیم.

شکل 3 نشان می دهد که چگونه پلتفرم BPIIoT با ارائه یک شبکه غیرمتمرکز ، غیر قابل اعتماد و همتا برای برنامه های کاربردی ، می تواند عملکرد سیستم عامل های مبتنی بر ابر (CBM) را ارتقا بخشد.

CBM یک الگوی تولید خدمات محور است که در آن مصرف کنندگان خدمات قادر به پیکربندی ، انتخاب و استفاده از منابع تولیدی قابل تنظیم هستند.

CBM از چهار مدل سرویس محاسبات ابری کلیدی استفاده می کند:

خدمات زیرساختی (خدمات) (IaaS) ، سرویس بسترهای نرم افزاری (PaaS) ، سخت افزار به عنوان سرویس (HaaS) و نرم افزار به عنوان سرویس (SaaS) [13].

BPIIoT مبتنی بر شبکه Blockchain است که در آن قراردادهای هوشمند مستقر می شوند.

قراردادهای هوشمند به عنوان توافق های بین مصرف کنندگان خدمات و منابع تولیدی برای ارائه خدمات تولید تقاضا عمل می کنند.

BPIIoT امکان ادغام تجهیزات کف فروشگاه میراث را در محیط ابر فراهم می کند و امکان توسعه برنامه های تولید غیر متمرکز و همتا را به همسالان می دهد.

مؤلفه فعال سازنده اصلی دستگاه های صنعتی در سکوی پیشنهادی BPIIoT دستگاه IoT است.

شکل 4 معماری دستگاه IoT را نشان می دهد.

دستگاه IoT ماشینهای موجود را قادر می سازد تا با ابر و همچنین کار Blockchainnet با ابر ارتباط برقرار کنند.

دستگاه IoT یک راه حل "plug and play" است که به دستگاه ها اجازه می دهد تا داده های مربوط به عملیات خود را به ابر مبادله کنند ، معاملات را به قراردادهای هوشمند مرتبط ارسال کنند و از همسالان شبکه Blockchain معاملات دریافت کنند.

دستگاه IoT شامل یک برد رابط (مبتنی بر آردوینو) و یک کامپیوتر تک بورد (مبتنی بر Beaglebone Black یا Raspberry Pi) است.

صفحه رابط دارای ورودی / خروجی دیجیتال و قابلیت ورودی آنالوگ است.

سنسورها و محرک ها با پین های دیجیتال یا آنالوگ در صفحه رابط کاربری رابط می کنند.

صفحه رابط دارای رابط سریال به کامپیوتر تک تخته (SBC) است.

پل حسگر بین صفحه رابط و SBC SBC را قادر می سازد تا داده های حسگر را از صفحه رابط ضبط کند و همچنین سیگنال های کنترلی را به محرک ها ارسال کند.

درایور اتصال سنسور و محرک در SBC نصب شده است.

مدیر دستگاه در SBC به کاربران اجازه می دهد SBC را با استفاده از یک رابط وب پیکربندی کنند و همچنین وضعیت و آمار دستگاه را مشاهده کنند.

بلوک I / O در SBC اتصال به سیستم های خارجی را از طریق اتصالات دیجیتال ، آنالوگ ، سریال و USB امکان پذیر می کند.

سرویس Blockchain در SBC با شبکه Blockchain ارتباط برقرار می کند و معاملات را به / از شبکه ارسال و دریافت می کند.

هر دستگاه IoT دارای یک حساب کاربری خود در شبکه Blockchain است و یک کیف پول Blockchain را در SBC نگهداری می کند.

سرویس کنترلر اقدامات مختلفی را انجام می دهد که می توان از طریق رابط مدیریت دستگاه پیکربندی شد.

به عنوان مثال ، یک عمل می تواند برای گرفتن داده از پل سنسور و انتشار آن از طریق ابر ابر باشد.

اقدام دیگر می تواند نظارت بر وضعیت دستگاه و محیط کار و ارسال معاملات به قراردادهای هوشمند مرتبط در شبکه Blockchain (مانند معامله برای سفارش تعویض بخشی) باشد.

6- برنامه های کاربردی بستر های نرم افزاری BPIIoT:

در این بخش ما برخی از کاربردهای صنعتی و تولیدی غیر متمرکز را توضیح می دهیم که می توانند از پلتفرم پیشنهادی BPIIoT استفاده کنند.

- تولید بدون تقاضا:

پلتفرم BPIIoT امکان ایجاد بازار خدمات تولیدی را در اختیار شما قرار می دهد که در آن دستگاه ها حساب Blockchain خود را دارند و کاربران قادر خواهند بود با استفاده از دستگاه ها بطور مستقیم و برای بهره مندی از خدمات تولیدی در یک مدل تقاضای CBM مانند خود را تهیه و معامله کنند.

BPIIoT می تواند برنامه های تولیدی شبکه ای نظیر به همتا را فعال کند که همسالان بتوانند با ارسال معاملات به دستگاه ها از خدمات تولیدی (مانند ماشینکاری CNC یا چاپ سه بعدی) بهره مند شوند.

- تشخیص هوشمند و تعمیر و نگهداری دستگاه:

از سکوی BPIIoT می توان برای توسعه هوشمندانه تشخیص و برنامه های سرویس دهی خودکار برای ماشینهایی استفاده کرد که در آن دستگاه ها قادر به نظارت بر وضعیت خود ، تشخیص مشکلات و سرویس دهی خودمختار ، دوباره پر کردن مواد مصرفی یا درخواست های جایگزینی برای فروشندگان تعمیر و نگهداری دستگاه باشند.

قراردادهای هوشمند بین تولیدکنندگان و فروشندگان برای تهیه تجهیزات و خدمات ماشین آلات می تواند در اتوماسیون کارهای مربوط به تعمیر و نگهداری دستگاه کمک کند.

ما اجرای یک نرم افزار تشخیص هوشمند و تعمیر و نگهداری دستگاه را با استفاده از بستر پیشنهادی در بخش 7 شرح می دهیم.

- قابلیت ردیابی:

از پلت فرم BPIIoT می توان برای توسعه برنامه های قابلیت ردیابی برای محصولات تولیدی استفاده کرد.

قراردادهای هوشمند بین مصرف کنندگان و تولید کنندگان می توانند سوابق تولید را حفظ کنند ، به عنوان مثال ، کدام کارخانه و کدام دستگاه ها در کارخانه برای تولید یک محصول خاص مورد استفاده قرار گرفته است.

در صورت فراخوان محصول (یا به دلیل نقص در ساخت و یا قطعات معیوب) پس از تحویل محصولات ، برنامه های قابلیت ردیابی می توانند در شناسایی محصولات آسیب دیده کمک کنند.

- ردیابی زنجیره تأمین:

از پلت فرم BPIIoT می توان برای توسعه برنامه های ردیابی زنجیره تأمین استفاده کرد.

قراردادهای Blockchain و Smart می توانند یک رجیستری رسمی از محصولات را نگه داشته و مالکیت آنها را از طریق نقاط مختلف در یک زنجیره تأمین ردیابی کنند.

چنین برنامه هایی همچنین می توانند تسویه حساب های مالی خودکار را در تأیید تحویل فعال کنند.

- صدور گواهینامه محصول:

از پلت فرم BPIIoT برای توسعه برنامه های صدور گواهینامه محصول استفاده می شود.

اطلاعات تولیدی برای یک محصول (مانند اطلاعات مربوط به ساخت تجهیزات ، جزئیات دستگاه ، تاریخ تولید و اطلاعات قطعات) می تواند در Blockchain ثبت شود.

این اطلاعات می تواند در اثبات صحت محصولات از بین بردن نیاز به گواهی های بدنی که مستعد دستکاری و جعل هستند ، کمک کند.

- تراکنش های مصرف کننده به ماشین و ماشین به ماشین:

BPIIoT می تواند معاملات ماشین به ماشین را برای خدمات تولیدی فعال کند.

به عنوان مثال ، یک مصرف کننده می تواند با ارسال یک معامله به قرارداد هوشمند یک تولید کننده به همراه پرداخت انجام شده به ارز رمزپایه (مانند اترها) درخواست تولید یک محصول را ارسال کند.

سپس قرارداد هوشمند سازنده می تواند معاملات خود را به قراردادهای هوشمند مرتبط با ماشینهای شخصی (معاملات مصرف کننده به دستگاه) ارسال کند.

در صورت نیاز به خدمات دستگاه های مختلف برای تولید یک محصول ، دستگاه ها می توانند معاملات خرد را به سایر دستگاه ها (معاملات دستگاه به ماشین) ارسال کنند.

- ردیابی هویت و اعتبار تأمین کننده:

از پلتفرم BPIIoT می توان برای توسعه برنامه های مدیریت هویت و هویت تأمین کننده استفاده کرد که پارامترهای مختلف عملکردی (مانند زمان تحویل ، بررسی مشتری و رتبه بندی فروشنده) را برای فروشندگان ردیابی می کند.

اینگونه برنامه ها می تواند توسط مصرف کنندگان مورد استفاده قرار گیرد تا فروشنده هایی را پیدا کند که بتوانند نیازهای تولیدی آنها را برآورده سازند و تولید کنندگان برای پیدا کردن تأمین کننده مواد مصرفی استفاده کنند.

قراردادهای هوشمند همچنین می توانند براساس اعتبار فروشنده ، در مذاکره خودکار بهترین قیمت مواد مصرفی و لوازم در زمان واقعی کمک کنند.

- ثبت دارایی ها و موجودی ها:

از سکوی BPIIoT می توان برای توسعه برنامه های کاربردی برای حفظ سوابق دارایی های تولیدی و موجودی استفاده کرد.

این برنامه ها می توانند سوابق اطلاعات شناسایی دارایی و انتقال دارایی ها از طریق زنجیره تأمین را از بین بردن نیاز به سوابق کاغذی دستی حفظ کنند.

7- مطالعه موردی اجرا:

در این بخش ، ما یک مطالعه موردی از بستر پیشنهادی BPIIoT مبتنی بر رایانه تک تخته Beaglebone Black و یک تخته واسط مبتنی بر Arduino Uno را شرح می دهیم.

برای نشان دادن بستر پیشنهادی ، ما از تعمیر و نگهداری دستگاه و نرم افزار تشخیص هوشمند توضیح می دهیم.

برای مطالعه موردی از یک صفحه رابط مجهز به سنسورها برای نظارت بر دما و سطح لرزش قسمتهای مختلف دستگاه استفاده کردیم.

صفحه رابط با استفاده از رابط های دیجیتال ، آنالوگ ، سریال و USB برای ضبط داده ها از انواع حسگرها و سیستم ها استفاده می کند.

در حالی که ماشین آلات صنعتی مدرن می توانند به طور مستقیم با صفحه رابط (از طریق رابط های دیجیتال ، آنالوگ ، سریال یا USB) ارتباط برقرار کنند ، بسیاری از ماشین های میراث از کنترلرهایی استفاده می کنند که برای دسترسی غیر عملی هستند یا ارتباط دیجیتال وجود ندارد.

بنابراین ، صفحه رابط از حسگرهایی استفاده می کند که در جعبه کنترل ماشین های میراث خارجی هستند.

ما قراردادهای هوشمند را برای سرویس دهی ماشین و تعویض قطعات تنظیم می کنیم.

این قراردادهای هوشمند توافق بین دستگاه و خدمات را انجام می دهند / فروشندگان را تأمین می كنند كه یا درخواست سرویس برای دستگاه را برنامه ریزی كنند یا سفارش تعویض قطعات را تعیین كنند.

شکل 5 اجرای پایتون یک سرویس کنترلر را بر روی دستگاه IoT (Beaglebone SBC) نشان می دهد.

سرویس کنترلر به طور مداوم میزان دما و لرزش قسمتهای مختلف دستگاه را کنترل می کند (مطابق حسگرهای موجود در صفحه رابط که به پورت سریال به SBC متصل است).

در سرویس کنترلر ، قوانین مختلفی برای تعیین اینکه آیا درخواست سرویس ماشین یا سفارش تعویض قطعات نیاز به جایگذاری دارد ، تعریف شده است.

به عنوان مثال ، اگر میزان لرزش دستگاه بیش از یک آستانه از پیش تعریف شده برای تعداد مشخصی از زمان فراتر رود ، سرویس کنترلر درخواست سرویس دستگاه را ارسال می کند.

برای ارسال درخواست خدمات ، معامله ای به درخواست خدمات عملکرد دستگاه خدمات قرارداد هوشمند بین دستگاه و فروشنده خدمات ارسال می شود.

به طور مشابه ، اگر سطوح درجه حرارت یک قسمت خاص از دستگاه برای تعداد معینی از زمان بیش از یک آستانه از پیش تعیین شده فراتر رود ، دستور تعویض قطعه قرار می گیرد.

برای ثبت سفارش ، دستگاه با پرداخت هزینه قطعه به ارز رمزپایه (اتر) یک تراکنش را به سفارش قسمت عملکرد قرارداد هوشمند قسمت تعویض قسمت بین دستگاه و تأمین کننده کالا می فرستد.

برای استقرار قراردادهای هوشمند (به نام Machine Service و Part Replace) از Ethereum Go Client (geth) استفاده کردیم [14].

وقتی قراردادی در شبکه Ethereum Blockchain مستقر می شود ، یک آدرس به قرارداد اختصاص می یابد.

برای مطالعه موردی ، ما یک شبکه خصوصی Ethereum Blockchain راه‌اندازی کردیم.

هر کاربر در شبکه Blockchain که آدرس قرارداد و تعریف رابط قرارداد را می شناسد (تعریف ABI) می تواند معامله ای را برای قرارداد ارسال کند.

هنگامی که تراکنش در شبکه Blockchain ارسال می شود ، آن را با سایر معاملات در حال تعلیق در یک بلوک ترکیب می کند.

ماینرهای موجود در شبکه Blockchain معامله را تأیید می کنند و در مورد بلوکی که باید در کنار Blockchain (که به آن بلوک برنده نامیده می شود) به اجماع می رسند.

سپس بلاک جدید در کل شبکه پخش می شود.

قرارداد هوشمند هنگامی که معامله کاسته شود ، انجام می شود.

8- نتیجه گیری و کار آینده:

ما یک بستر ارتباطی Blockchain برای اینترنت صنعتی اشیاء (BPIIoT) ارائه دادیم.

پلتفرم BPIIoT امکان ایجاد بازار خدمات تولیدی را در اختیار شما قرار می دهد که دستگاه ها دارای حساب Blockchain خود هستند و کاربران قادر به تهیه و تعویض مستقیم با دستگاه ها برای بهره مندی از خدمات تولیدی هستند.

مزایای استفاده از Blockchain که آن را برای اینترنت صنعتی اشیاء مناسب می کند به شرح زیر است:

- غیر متمرکز و بی اعتماد:

Blockchain یک دفترچه راهنمای کلیه معاملات در شبکه است که توسط گره های غیر متمرکز مختلف حفظ می شود.

فناوری Blockchain شبکه غیرمترقبه و غیرمترقبه ای را به وجود می آورد که همسالان برای تعامل با یکدیگر نیازی به یک واسطه قابل اعتماد ندارند.

از آنجا که یک شبکه Blockchain توسط یک مقام مرکزی کنترل نمی شود و کلیه معاملات با اجماع بین همسالان تأیید و تأیید می شود ، همسالان نیازی به اعتماد به یکدیگر ندارند.

- ارتجاعی:

شبکه Blockchain در برابر شکستها مقاوم است ، زیرا یک شبکه غیر متمرکز همسالان است و هیچ نقطه شکست هم ندارد.

خود Blockchain یک رهبر تغییر ناپذیر و بادوام است و معاملات یک بار پس از اجماع در بین همسالان ، در Blockchain ضبط می شود.

- مقیاس پذیر:

شبکه Blockchain از نظر طبیعت بسیار مقیاس پذیر است زیرا توسط شبکه ای از همسالان نگهداری می شود.

هرچه تعداد بیشتری از همسالان (یا کارگران معدنکار) به شبکه بپیوندند ، قابلیت محاسبه شبکه افزایش می یابد.

- امن و شنیداری:

تمام معاملات در یک شبکه Blockchain توسط رمزنگاری قوی تضمین می شود.

علاوه بر این ، ماهیت شفاف رهبری عمومی که توسط یک شبکه Blockchain نگهداری می شود ، باعث می شود امنیت و شنیداری بیشتر شود زیرا همه افراد در این شبکه از همه معاملات اطلاع دارند و معاملات را نمی توان مورد اختلاف قرار داد.

- خود مختار:

Blockchain می تواند دستگاه های IoT را قادر سازد تا با یکدیگر ارتباط برقرار کرده و معاملات خودمختار را انجام دهند زیرا هر دستگاه دارای حساب Blockchain خود است و نیازی به شخص ثالث قابل اعتماد نیست.

در حالی که فناوری Blockchain برای اینترنت صنعتی اشیا امیدوارکننده به نظر می رسد ، چالش های مختلفی وجود دارد که باید برای اطمینان از استقبال گسترده آن برطرف شود.

چالش های اساسی به شرح زیر است:

- CAP و Blockchain:

برای سیستم های داده توزیع شده ، یک تجارت بین قوام و در دسترس بودن وجود دارد.

این معاملات با قضیه CAP توضیح داده شده است ، که بیان می کند که در زیر تقسیم بندی ، یک سیستم داده توزیع شده می تواند هماهنگ باشد و هم در دسترس باشد اما همزمان هر دو نیستند.

Blockchain از قوام بودن در دسترس بودن و پارتیشن بودن تحمل می کند.

Blockchain یک دفترچه توزیع شده است که سرانجام سازگار است ، یعنی همه گره ها در نهایت همان دفترچه را می بینند.

در اتریوم ، مدت زمان بلوک (مدت زمان بلوک جدید استخراج شده) تقریباً 17 ثانیه است که بسیار سریعتر از بیت کوین است که 10 دقیقه زمان بلوک دارد.

یک نتیجه از زمان بلوک سریع باعث کاهش امنیت می شود ، بنابراین ، بسیاری از برنامه های Blockchain برای تأمین امنیت معاملات از دو برابر ، به تأیید های متعدد برای بلوک های تازه استخراج شده نیاز دارند.

زمان سریعتر بلوک باعث می شود تعداد بالایی از بلوک های قدیمی نیز تولید شود.

بلوک های ایستاده بلوک های رقابتی هستند که توسط کارگران معدن تولید می شوند و به زنجیره اصلی کمک نمی کنند.

نرخ سرقت زیاد باعث کاهش امنیت زنجیره اصلی می شود [15].

برای مقابله با این مشکل ، پروتکل "حریص ترین سنگین مشاهده شده" (GHOST) پیشنهاد شده است [16].

- آسیب پذیری های قرارداد هوشمند:

قراردادهای هوشمند دارای آسیب پذیری های نرم افزاری هستند که می توانند توسط هکرها مورد سوء استفاده قرار بگیرند.

در ژوئن سال 2016 ، یک مهاجم موفق شد بیش از 3.6 میلیون اتر را از Slock تخلیه کند.

این حمایت از سازمان خودمختار غیر متمرکز (DAO) را به یک "DAO کودک" تبدیل کرد.

مهاجم با سوء استفاده از آسیب پذیری "تماس برگشتی برگشتی" در قرارداد هوشمند DAO این کار را کرد.

از آنجا که قرار است قراردادهای هوشمند توافق هایی بین طرفین متعامل در یک Blockchain باشد و از نظر قانونی قابل اجرا در خارج از شبکه نباشند ، چنین حملاتی می تواند سازمانها ، معدنچیان و حتی شبکه Blockchain را در معرض خطر قرار دهد [17].

- اطلاع:

Blockchain یک فناوری نوپا است و بیشتر در بخش مالی مورد استفاده قرار می گیرد (بیت کوین محبوب ترین کاربرد).

عدم آگاهی در مورد فناوری Blockchain در سایر بخش ها ، تأثیر گسترده ای در پذیرش آن دارد.

- مقررات:

از آنجا که بلاکچین نیاز به یک مرجع متمرکز یا یک واسطه قابل اعتماد برای اعتبارسنجی معاملات را برطرف می کند ، در پذیرش گسترده این فناوری موانع نظارتی همچنان وجود دارد.

مقررات جدید دولت و صنعت برای سیستمهای غیرمتمرکز مانند Blockchain لازم است.

علاوه بر این ، برای جلوگیری از اختلافات میان طرفهای متعامل ، لازم است از اجرای قانونی قراردادهای هوشمند اطمینان حاصل شود.

- حریم خصوصی:

از آنجا که Blockchain یک مدیر عمومی است و هرکسی می تواند تمام معاملات را در یک شبکه Blockchain مشاهده کند ، نگرانی های مربوط به حفظ حریم خصوصی برای طرفین متعامل وجود دارد.

- بهره وری:

از آنجا که تمام گره های موجود در یک شبکه Blockchain محاسبه های یکسانی را انجام می دهند تا تلاش برای بلوک بعدی برای Blockchain انجام دهند ، این یک روش کارآمد نیست.

با توجه به این افزونگی در اجرای ، سهم یک گره فردی به شبکه کلی بسیار ناچیز است حتی اگر گره ممکن است محاسبات بسیار سختی را انجام دهد.

ما یک مطالعه موردی از پلتفرم BPIIoT پیشنهادی مبتنی بر رایانه تک تخته Beaglebone Black ، صفحه رابط مبتنی بر Arduino Uno و شبکه Blockchain Ethereum را شرح دادیم.

کارهای آینده بر اجرای و نشان دادن سکوی BPIIoT برای راه حلهای واقع بینانه تر از قبیل ساخت تقاضا و سلف سرویس دستگاه متمرکز خواهد شد.