یک سیستم تجارت انرژی P2P مبتنی بر قرارداد هوشمند با قیمت گذاری پویا در blockchain Ethereum

  • 2022-10-5

ما یک سیستم معاملات انرژی همتا به همتا (P2P) را بین پروزروم و مصرف کنندگان با استفاده از یک قرارداد هوشمند در Blockchain Ethereum اجرا می کنیم. قرارداد هوشمند در یک blockchain به اشتراک گذاشته شده توسط شرکت کنندگان ساکن است و از این رو ، اجرای دقیق تجارت را تضمین می کند و سوابق معامله غیرقابل تغییر را حفظ می کند. این هزینه بالا و هزینه های مورد نیاز در برابر هک کردن یا دستکاری در سیستم های سنتی تجارت انرژی P2P را برطرف می کند. ویژگی های برجسته اجرای ما عبارتند از: 1. قیمت گذاری پویا برای توازن اتوماتیک عرضه کل و تقاضای کل در یک میکروگرید ، 2. پیشگیری از فروش مضاعف ، 3. عملکرد اتوماتیک و خودمختار ، 4. آزمایش روی بستر آزمایشی (Node. js وWeb3. JS API برای دسترسی به دستگاه مجازی Ethereum در Raspberry PI با رابط MATLAB) و 5. شبیه سازی از طریق Personas (مصرف کنندگان مجازی و پروزهای تولید شده از معیار). توضیحات مفصل از اجرای ما همراه با نمودارهای دولتی و روشهای اصلی ارائه شده است.

1. مقدمه

با معرفی منابع انرژی تجدید پذیر ، مصرف کنندگان انرژی سنتی در حال تبدیل شدن به "هجوم" هستند که از پانل های فتوولتائیک یا تولید کننده انرژی باد استفاده می کنند تا انرژی خود را تولید کنند و با فروش انرژی مازاد پس از مصرف به مصرف کنندگان همسایه ، سود کسب کنند. تجارت مستقیم انرژی در بین پروما و مصرف کنندگان تجارت انرژی همسالان (P2P) نامیده می شود. گره ای که در یک سیستم تجارت انرژی P2P شرکت می کند ، در یک سیستم ذخیره انرژی (ESS) انرژی ایجاد می کند و Smart Meter ممکن است تغییر انرژی را به دلیل تولید ، مصرف ، خارج از جریان و جریان ثبت کند.

با این حال ، بدون مداخله توسط شخص ثالث قابل اعتماد ، تضمین اعتماد بین شرکت کنندگان ، تعیین قیمت تجارت انرژی یا تحقق توافق به صورت خودکار یا زور در سیستم های معاملاتی معمولی P2P غیرممکن یا دشوار است [1]. علاوه بر این ، این سیستم های مبتنی بر سرور در برابر هک و دستکاری آسیب پذیر هستند مگر اینکه فایروال های گران قیمت نصب شوند. هزینه و هزینه های تعمیر و نگهداری ناشی از این اجرای امنیتی ممکن است برای معاملات P2P در مقیاس کوچک در یک میکروگرید بسیار زیاد باشد. ما از فناوری blockchain [2] استفاده می کنیم تا هزینه و سربار را حذف کنیم و در عین حال یکپارچگی سوابق معاملاتی را تضمین کنیم. ویژگی های برجسته سیستم تجارت انرژی P2P ما به شرح زیر است:

قیمت گذاری پویا برای توازن اتوماتیک عرضه کل و تقاضای کل در یک میکروگرید: ما فرض می کنیم که سیستم تجارت انرژی ما در یک میکروگرید به متخصصین و مصرف کنندگان کمک می کند تا در هر دوره معاملاتی کوتاه ، به عنوان مثال ، یک ساعت مقادیر کمی از انرژی را تجارت کنند. براساس این فرض ، این امر می تواند برای هجوم و مصرف کنندگان دشوار باشد که در هر دوره تجارت پیشنهاد یا درخواست کنند. برای جلوگیری از این دردسر ، در سیستم ما ، یک قیمت واحد برای هر دوره به عنوان تابعی از تقاضای کل و کل عرضه ارائه شده تعیین می شود. افزایش/کاهش قیمت در هر دوره به نسبت تقاضای کل نسبت به کل عرضه بستگی دارد. افزایش/کاهش قیمت باعث ترغیب/دلسرد کردن عرضه/تقاضا برای پروس (مصرف کنندگان) در دوره معاملاتی بعدی می شود. سرعت همگرایی برای همگرایی سریعتر یا عملکرد پایدار از طریق دستکاری فرمول قیمت گذاری قابل تنظیم است. این مکانیسم به سیستم معاملاتی ما کمک می کند تا به طور خودکار به تعادل (عرضه کل = تقاضای کل) برسد یا بدون هیچ گونه مداخله ای توسط شخص ثالث نزدیک به آن عمل کند.

پیشگیری از فروش مضاعف: از آنجا که انرژی به صورت آنلاین معامله می شود ، ضروری است که تضمین کنیم که همان انرژی بیش از یک بار فروخته نمی شود. برای این کار ، ما یک ساختار مالکیت انرژی را معرفی می کنیم و آن را در یک قرارداد هوشمند [3] در مورد blockchain اتریوم اجرا می کنیم [4]. ساختار مالکیت انرژی یکپارچگی را برای هر تغییر انرژی در ایالت تضمین می کند: "تزریق شده" ، "روی تخته برای فروش" ، "همسان" و غیره. تغییر ایالت ها فقط برای شرکت کنندگان واجد شرایط مجاز است و از هرگونه هک یا دستکاری توسط هر طرف غیرمجاز محافظت می شود. به عنوان مثال ، تزریق انرژی فقط توسط DSO (اپراتور سیستم توزیع) تأیید می شود و از این رو فقط DSO واجد شرایط برای به روزرسانی وضعیت مربوطه با کلید خصوصی آن است. به طور سنتی ، DSO مسئولیت تقریباً همه چیز را برای تجارت در بازار انرژی دارد و در برابر هک یا دستکاری آسیب پذیر است. در سیستم ما ، ما DSO را تا حد امکان توسط Ethereum blockchain جایگزین می کنیم ، به استثنای قطعات ضروری مانند انتقال ، تأیید سیاست تزریق و قیمت گذاری. تطبیق ، پرداخت ، پیشگیری از فروش مضاعف ، et cetera ، به طور خودکار و زور توسط یک قرارداد هوشمند ، عاری از هک یا دستکاری انجام می شود.

عملیات خودکار و خودمختار: رویه تجارت به عنوان یک قرارداد هوشمند در اتریوم اجرا می شود و از این رو تجارت در هر دوره به صورت خودکار و خودمختار انجام می شود. در شروع هر دوره معاملاتی ، پروزرومرها و مصرف کنندگان به ترتیب درخواست_تو_سل و درخواست_تو_بوی را به قرارداد هوشمند ارسال می کنند. مصرف کنندگان پول کافی برای پوشش خرید خود به قرارداد هوشمند واریز می کنند. قرارداد هوشمند تمام درخواست ها را جمع می کند و قیمت انرژی را مطابق فرمول از پیش تعیین شده محاسبه می کند. تطبیق و پاکسازی نیز توسط قرارداد هوشمند انجام می شود. بنابراین ، تمام مراحل به صورت خودکار و خودمختار هستند و نه به مداخله اشخاص ثالث و نه فایروال های پرهزینه نیاز دارند. قرارداد هوشمند به عنوان یک سپرده بین Prosumer ، Consumer و DSO عمل می کند تا اطمینان حاصل شود که معامله موعود در واقع تحویل داده می شود. در اجرای فعلی ما ، DSO مسئول انتقال و برداشت قدرت است. DSO از کلید خصوصی خود برای ایجاد امضای دیجیتالی استفاده می کند که انتقال و برداشت قدرت را تضمین می کند. در مورد پرداخت ، قرارداد هوشمند به عنوان یک سپرده گذاری برای تأیید تحویل قدرت توسط DSO و اطمینان از انجام پرداخت بر این اساس عمل می کند.

آزمایش در یک بستر آزمایش: بسیاری از آثار شناخته شده در ادبیات مربوط به تجارت در blockchain طرح های خود را بدون اجرای واقعی طرح می کنند. ما با استفاده از PI های تمشک به عنوان متخصصان ، مصرف کنندگان و DSO آزمایشی را روی بستر آزمایشی انجام می دهیم. همه گره ها دستگاه مجازی خود را به نام Ethereum Virtual Machine (EVM) [5] دارند که در آن یک قرارداد هوشمند اجرا می شود. Prosumers ، Consumers و DSO از Node. JS و Web3. JS API برای کنترل GETH (رابط خط فرمان برای دسترسی به EVM) استفاده می کنند. GUI با MATLAB ساخته شده است [6].

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

بقیه مقاله به شرح زیر سازماندهی شده است: در بخش 2، کارهای مرتبط را خلاصه می کنیم. سیستم معاملاتی انرژی P2P ما با مکانیسم قیمت گذاری پویا و نمودار وضعیت در بخش 3 ارائه شده است. پیاده سازی در یک بلاک چین خصوصی اتریوم در بخش 4 توضیح داده شده است. آزمایش با استفاده از یک بستر آزمایشی با پرسونا در بخش 5 نشان داده شده است و بخش 6 این مقاله را به پایان می رساند.

2. آثار مرتبط

2. 1. مدل های قیمت گذاری

حراج مضاعف مکانیزمی است که هم خریداران و هم فروشندگان را در بر می گیرد که به طور همزمان در فرآیند مناقصه شرکت می کنند و به تک تک سهام منابع اختصاص می یابند [7]. یک تجمیع کننده با سایر نمایندگان در مورد عرضه، تقاضا و قیمت پیشنهادی که هر خریدار مایل به پرداخت آن است ارتباط برقرار می کند و یک الگوریتم حراج دوگانه توزیع شده را برای تعیین قیمت پیاده سازی می کند. مکانیسم حراج دوگانه ناهمزمان، مدل حراج دوگانه دیگری که در [8] پیشنهاد شده است، می تواند به عنوان یک تکنیک تجارت انرژی P2P استفاده شود. اولویت تطبیق و قیمت ها بر اساس مقدار انرژی و قیمت پیشنهادی ممکن بین حد بالایی از پیش تعیین شده و حد پایینی تعیین می شود. در مدل‌های حراج دوگانه، همه شرکت‌کنندگان به صورت دستی پیشنهاد یا درخواست می‌کنند، که ممکن است دست و پا گیر یا زمان‌بر باشد.

چندین مدل قیمت گذاری پویا برای شبکه های هوشمند پیشنهاد شده است: تابع هزینه درجه دوم (QCF) [9]، قیمت گذاری پویا مبتنی بر استفاده (UDP) [10]، پاسخ تقاضای توزیع شده (D2R) [11] و قیمت گذاری پویا توزیع شده (D2P) [12].]. QCF [9] از یک شبکه عصبی برای QCF تکه ای استفاده می کند. اگر این مدل برای قیمت‌گذاری اعمال شود، ریزشبکه تنها بسته به عرضه، قیمت را تعیین می‌کند. در نتیجه، ممکن است مصرف کنندگان مجبور به پرداخت قیمت های بالاتر باشند، حتی اگر کل تقاضا در ریزشبکه کم باشد. در UDP [10]، قیمت گذاری بلادرنگ به عنوان یک تابع درجه دوم با تقاضای انرژی به عنوان یک متغیر در ساعات اوج مصرف انجام می شود. در غیر این صورت قیمت ثابت است. در [11]، قیمت k-square تقاضای انرژی است. هزینه‌های متحمل شده توسط مصرف‌کنندگان مستقیماً به تقاضای انرژی بستگی دارد، حتی اگر ریزشبکه‌ها انرژی مازادی برای خدمت داشته باشند. در نتیجه، مصرف‌کنندگان ممکن است انرژی بیشتری را حتی با قیمت‌های پایین‌تر مصرف نکنند و در نتیجه انرژی مازاد را هدر دهند.

برای در نظر گرفتن عرضه و تقاضا، در [12]، قیمت گذاری بلادرنگ از حداقل قیمت و تفاوت بین عرضه کل و تقاضای کل انجام می شود. قیمت با افزایش عرضه از سوی خریداران کاهش می یابد در حالی که تقاضا از سوی مصرف کنندگان ثابت یا کاهش می یابد. از سوی دیگر، با افزایش تقاضا، قیمت افزایش می یابد، در حالی که عرضه یا ثابت است یا کاهش می یابد. بنابراین، خریداران و مصرف کنندگان می توانند عرضه یا تقاضا را با توجه به قیمت کنترل کنند. با این حال، قیمت فقط بسته به تفاوت تعیین می شود. بنابراین، قیمت ممکن است یکسان باشد، چه نسبت تقاضا به عرضه تغییر کند یا نه، اگر تفاوت ثابت بماند.

در ادامه از مدل پیشنهادی D2P، چکیرد، خوخی و مفتاح [13] یک مدل قیمت گذاری را پیشنهاد می کنند که هم تفاوت و هم نسبت بین تقاضای کل و عرضه کل را در دور t در نظر می گیرد. قیمت بلادرنگ پویا با توجه به تغییرات اختلاف و نسبت با استفاده از توابع نمایی و قوس تغییر می کند. با این حال، این مدل قیمت‌گذاری با تغییر نسبت تقاضا/عرضه، همانطور که در بخش 3 نشان می‌دهیم، چندان سازگار نیست.). جزئیات در بخش 3 ارائه خواهد شد.

2. 2. فناوری بلاک چین

blockchain [14] یک دفترچه توزیع شده از طریق یک شبکه P2P است که در آن داده های رمزگذاری شده به ترتیب زمانی به همه گره های شرکت کننده در همه گره های شرکت کننده ثبت می شود. معاملات هنگامی که از طریق یک فرآیند اعتبار سنجی که به عنوان اثبات کار (POW) شناخته می شود ، در یک بلوک جمع آوری می شوند. Ethereum [4] یک blockchain قابل برنامه ریزی برای ساخت برنامه های غیر متمرکز است و به هر کسی امکان می دهد قراردادهای هوشمند را بنویسد [3]. در اتریوم می توانیم قوانین دلخواه خود را برای مالکیت ، قالب های معامله و عملکردهای انتقال ایستگاه ایجاد کنیم. در این مقاله ، ما یک سیستم معاملات انرژی P2P مبتنی بر قرارداد هوشمند را در Blockchain Ethereum اجرا می کنیم.

قرارداد هوشمند یک برنامه مبتنی بر blockchain است که شرایط تحقق توافق بین شرکت کنندگان را رمزگذاری می کند. در صورت برآورده شدن شرایط ، به طور خودکار توافق را انجام می دهد. می توان آن را به زبان استحکام نوشت [15] و می تواند در بالای سکوی اتریوم ساخته شود. این باید بیشتر شبیه یک عامل خودمختار باشد که در محیط اعدام اتریوم ساکن است. بنابراین ، همیشه هنگام انتقال پیام یا معامله ، یک کد خاص را اجرا می کند و کنترل مستقیم بر تعادل خاص خود و فروشگاه کلید/ارزش خود را برای پیگیری متغیرهای مداوم دارد [4].

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

علاوه بر این ، قرارداد هوشمند دارای شیء به نام رویداد است. این رویداد انتزاعی از پروتکل ورود به سیستم Ethereum/Event-Watching است. ورودی های ورود به سیستم آدرس قرارداد هوشمند ، مجموعه ای از حداکثر چهار موضوع و برخی از داده های باینری با طول دلخواه را ارائه می دهند [15]. اگر یک رویداد توسط قرارداد هوشمند فراخوانی شود ، همه گره ها می توانند این رویداد را تشخیص داده و تماشا کنند زیرا آنها همان وضعیت قرارداد هوشمند را اجرا می کنند و به اشتراک می گذارند. بنابراین ، گره های شرکت کننده عملکرد و عمل را مطابق با نتایج رویداد قرارداد هوشمند انجام می دهند.

2. 3blockchains در تجارت انرژی

R. Skowronski [16] تجارت باز را از طریق blockchain و کنترل مبتنی بر سلسله مراتب برای اولین بار پیشنهاد داد. R. Skowronski [17] با مشکلات کمک به سیستم های سایبری فیزیکی از طریق VM های مبتنی بر blockchain (ماشین های مجازی) مقابله می کند.

Priwatt [18] یک سیستم تجارت انرژی P2P غیر متمرکز است ، که کانال های ارتباطی ناشناس و وسیله ای برای تشکیل توافق نامه بدون اعتماد به طرف های دیگر با استفاده از Bitmessage [19] و تکنیک های چند امضا فراهم می کند. بر روی بیت کوین [20] blockchain ساخته شده است. این سیستم را می توان در میکروگریدها اعمال کرد. فرض بر این است که گره های شرکت کننده در شبکه ، اپراتور سیستم مصرف کننده ، مصرف کننده و توزیع (DSO) هستند که تزریق انرژی را تأیید می کند و مسئول انتقال واقعی انرژی پس از تجارت است.

هنگامی که یک Prosumer انرژی اضافی را برای فروش تزریق می کند ، DSO با دو کلید مخفی که مالکیت Prosumer را تأیید می کند ، پیام خصوصی را به Prosumer ارسال می کند و می تواند به عنوان قفل برای جلوگیری از هزینه های مضاعف استفاده شود. شرکت کنندگان از پنل حراج استفاده می کنند و برای مذاکره در مورد تجارت انرژی ، پیام خصوصی ارسال می کنند. هنگامی که تطابق بین یک پیشکسوت و مصرف کننده کامل است ، انرژی توافق شده برای فروش قفل می شود و Prosumer یک معامله چند منظوره 2 از 3 ایجاد می کند که به دو سه امضا (یعنی Prosumer ، Consumer و DSO) نیاز دارد. اعدام شود

سپس مصرف کننده نشانه های ورودی را مشخص می کند و معامله را امضا می کند. پس از دریافت پرداخت ، Prosumer مالکیت انرژی را به مصرف کننده می فرستد [18]. در سیستم Priwatt ، اگر اختلاف بین شرکت کنندگان وجود داشته باشد ، DSO برای حل و فصل این مسئله واسطه است. علاوه بر این ، رویه های معاملاتی مانند پرداخت ، تغییر مالکیت انرژی و اجرای قراردادهای تجاری به طور خودکار اجرا نمی شود زیرا سیستم مبتنی بر سیستم بیت کوین است.

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

Personas کاربران باستانی هستند که اهداف و آرزوهای کاربران واقعی را به شکلی آسان و قابل ارزیابی و شخصی تجسم می کنند [21]. آنها ویژگی هایی دارند که نماینده یک شخص یا گروه خاص هستند و مانند آنها رفتار می کنند. به تازگی ، Personas به طور گسترده ای برای طراحی تجربیات کاربر استفاده شده است.

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

3. سیستم معاملات انرژی P2P پیشنهادی با قیمت گذاری پویا

3. 1قیمت گذاری پویا

هدف اصلی الگوریتم قیمت گذاری پویا ما ، تعادل عرضه و تقاضا در بین پروموتر و مصرف کنندگان در یک میکروگرید است. به عنوان مثال ، اگر تقاضای کل در یک دور معاملاتی از کل عرضه باشد ، قیمت هر واحد انرژی برای دلسرد کردن تقاضا افزایش می یابد. قیمت گذاری پویا ما سیستم تجارت انرژی ما را قادر می سازد تا به تعادل برسد که در آن کل عرضه با تقاضای کل در یک میکروگرید مطابقت دارد. برای ریزگردها با اندازه کوچک یا متوسط ، ما الگوریتم های مناقصه ای را پیدا می کنیم [7،8] غیر عملی از آنجا که آنها به هر دوره معاملاتی نیاز به نظارت و درگیری انسان دارند (به عنوان مثال ، 1 ساعت یا 30 دقیقه) برای مقادیر کمی از انرژی. درعوض ، ما تصمیم می گیریم در هر دور معاملاتی از یک قیمت استفاده کنیم ، که فقط در کل عرضه و کل تقاضای ارسال شده در شروع هر دوره معاملاتی تعیین می شود.

بگذارید عرضه کل و تقاضای کل را در آغاز معاملات دور T به عنوان E S T و E D T همانطور که در معادلات (1) و (2) نشان داده شده است ، بیان کنیم.

جایی که من عرضه prosumer i هستم. d j t تقاضای مصرف کننده j است. و N P و N C تعداد افراد طرفدار و مصرف کنندگان است.

R T و D T به ترتیب و تفاوت بین تقاضای کل و عرضه کل ، به ترتیب ، مانند معادلات (3) و (4) را نشان می دهد.

Chekired ، Khoukhi و Mouftah [13] با استفاده از R T و D T مانند معادله (5) قیمت گذاری پویا در زمان واقعی را پیشنهاد کرده اند.

ما از (5) مشاهده می کنیم که اگر کل عرضه (E S) از کل تقاضای کل (E D T) فراتر رود ، قیمت آن به P M I N کاهش می یابد ، که حداقل قیمت است (معمولاً توسط DSO یا مدیریت میکروگرید برای پوشش اساسی تحمیل می شود. هزینه های تولید انرژی). قیمت P t. بین (p m i n ، π 2 + (π 2) 10 + p m i n) متفاوت است. برای مطابقت با راهنماهای قیمت گذاری توسط شرکت های برقی ، از توابع نمایی و arctangent استفاده می کند و قیمت حاصل را در یک بازه معین نگه می دارد [13]. قیمت آن به آرامی افزایش می یابد تا زمانی که تقاضا از عرضه فراتر رود. منحنی قیمت برای هدف ما از تعادل تقاضا و عرضه مناسب نیست زیرا منحنی متقارن نیست. بعداً الگوریتم قیمت گذاری پویا خود را در برابر این قیمت گذاری مقایسه خواهیم کرد.

3. 2الگوریتم قیمت گذاری پویا پیشنهادی

p b a l a n c e قیمتی است که تقاضای کل برابر با کل عرضه باشد (r t = 1). ما از p c o n برای تعیین دامنه قیمت استفاده می کنیم (p b a l a n c e - p c o n ، p b a l a n c e + p c o n).

از آنجا که lim r t → 0 t a n - 1 ln r t k = - π 2 و lim r t → ∞ t a n - 1 ln r t k = π 2 ، قیمت p t از p b a l a n c e - p c o n to p b a l a n c e + p c o n. اگر تقاضای کل با عرضه کل مطابقت داشته باشد ، به عبارت دیگر ، R T 1 است ، P T روی P B A L A N C E تنظیم شده است. به این ترتیب ، ما ممکن است قیمت ترازو و همچنین حداقل قیمت و حداکثر قیمت را انتخاب کنیم. ما فکر می کنیم که یک قیمت در هر دور تجارت ، بار هجوم و مصرف کنندگان را کاهش می دهد. آنها ممکن است روش خود را در واکنش به این تغییر قیمت انتخاب کنند. آنها ممکن است طبق قوانین از پیش تعیین شده ، عرضه یا کاهش تقاضا را افزایش دهند. این قوانین را می توان به عنوان یک خط ، منحنی یا عملکرد مرحله عرضه/تقاضا در برابر قیمت نشان داد. برای DSO ، از نماینده "K" در معادله (6) می توان برای کنترل منحنی قیمت همانطور که در شکل 2 برای K = 3 ، 5 و 7 نشان داده شده است استفاده شودسرعت و دقت تعادل متناسب با هدف خود.

شکل 1 مدل قیمت گذاری ما را در معادله (6) در برابر Chekired و همکاران مقایسه می کند.[13] در معادله (5). ما فرض می کنیم که t a n - 1 e d t معادله (5) 0 است زیرا تمایل به تعداد بسیار کمی دارد. در مدل ما ، هنگامی که R T 1 است ، قیمت P T 100 می شود که از پیش تعیین شده به عنوان P B A L A N C E است. علاوه بر این ، قیمت اشباع نزدیک به حداکثر یا حداقل قیمت را نشان می دهد. از طرف دیگر ، در Chekired و همکاران.[13] به عنوان معادله (5) حتی اگر R T بیش از 10 2 مانند شکل 1B باشد ، همچنان افزایش می یابد. علاوه بر این ، هنگامی که R T از 10 0 کوچکتر است ، حتی در صورت افزایش تقاضا ، قیمت به سختی تغییر می کند. عدم تقارن را نشان می دهد و تنظیم اشباع نزدیک به حداکثر یا حداقل دشوار است. مدل قیمت گذاری ما تقارن و اشباع تقریباً حداکثر و حداقل را نشان می دهد.

شکل 2 به ترتیب P T در برابر R T با K = 3 ، 5 یا 7 را نشان می دهد. اگر R T بسیار کوچک باشد ، P T نزدیک به حداقل قیمت (= 70) است و اگر R T بزرگ باشد ، P T به حداکثر قیمت (= 130) همگرا می شود. هنگامی که R T 1 است ، P T 100 است ، که P B A L A N C E است. تغییر قیمت به صورت متقارن در برابر مقیاس ورود به سیستم. علاوه بر این ، شیب منحنی قیمت بسته به K تغییر می کند. مدل قیمت گذاری پیشنهادی ما به راحتی می تواند در صورت نیاز توسط DSO ، شرکت های ابزار ، مقامات دولتی یا مدیریت میکروگرید ، P B A L A N C E و P C O N را انتخاب کند.

3. 3. برنامه بازنمایی و استحکام نمودار ایالتی

برای نمایش نمودار وضعیت سیستم معاملاتی ما، ما فرض می‌کنیم که گره‌های شرکت‌کننده در بلاک چین تجارت انرژی در یک ریزشبکه، مشتریان، مصرف‌کنندگان و DSO هستند. مصرف کنندگان در واکنش به افزایش/کاهش قیمت، عرضه انرژی را افزایش/کاهش می دهند. یک مصرف کننده برای نیاز خود از مصرف کنندگان انرژی می خرد. مصرف کنندگان در واکنش به افزایش/کاهش قیمت، مصرف انرژی را کاهش/افزایش می دهند. قرارداد هوشمند از معادلات (1) - (3) و (6) برای تعیین قیمت انرژی برای هر دوره تجاری (به عنوان مثال، ساعت، روز) استفاده می کند. DSO به عنوان اپراتور یا مدیر شبکه بلاک چین عمل می کند. این برای انتقال انرژی و یک قرارداد هوشمند برای تجارت انرژی است. این یک قرارداد هوشمند ایجاد، ارتقا و توزیع می کند. علاوه بر این، DSO توان "k" را در رابطه (6) تنظیم می کند تا تعیین کند که چقدر سریع به تعادل می رسد.

ما حالت ها را برای هر مشتری یا مصرف کننده تعریف می کنیم و نشان می دهیم که چگونه حالت ها در هر مرحله تغییر می کنند. به الگوریتم 1 با جدول 1 در انتهای بخش 4 مراجعه کنید که اجرای روش معاملاتی ما را در یک شبه کد Solidity مانند نشان می دهد. Solidity [15] یک زبان برنامه نویسی پرکاربرد برای توسعه قراردادهای هوشمند در اتریوم است. حالت ها با استفاده از نوع enum در Solidity پیاده سازی می شوند. enum به برنامه نویسان اجازه می دهد تا مجموعه ای از اعضای مجاز را تعریف کنند [15]. ما این ویژگی را برای تعریف پنج حالت انرژی برای هر مشتری یا مصرف‌کننده به‌عنوان «ثبت‌کننده»، «تزریق شده»، «تخته»، «مطابقت» و «خرید شده» انتخاب می‌کنیم (خط 8 الگوریتم 1). شکل 3 و شکل 4 تغییرات حالت را برای خریداران و مصرف کنندگان نشان می دهد. P i t o r C j t به ترتیب نشان دهنده وضعیت prosumer i یا مصرف کننده j در داخل ریزشبکه در فاز t است.

هر مشتری یا مصرف کننده ای که قصد تجارت انرژی را دارد باید در بلاک چین خصوصی اتریوم مرتبط با ریزشبکه ثبت نام کند. پس از ثبت نام وارد فاز 0 می شود. ثبت با ارسال یک تراکنش که تابع "ثبت" را اجرا می کند (خط 12 الگوریتم 1) انجام می شود. تابع txAddr P i . sendtx (Resister، timestamp) تراکنش را به smcAddr می فرستد که آدرس قرارداد هوشمند مسئول تجارت انرژی است. خط 13 یا خط 17 بردارهای حالت (O p i و Oc j) را که مقادیر انرژی را در جریان تجارت انرژی نشان می دهد، مقداردهی اولیه می کند.

P i t یا C j t به ترتیب دارای بردار سه حالت است. I i t , B i t , M i t نشان دهنده انرژی تزریق شده، انرژی موجود در کشتی برای فروش و انرژی منطبق برای تجارت برای یک فروشنده i است. B j t , M j t , P j t بیانگر انرژی در نظر گرفته شده برای خرید، انرژی منطبق برای معامله و انرژی پرداخت شده برای مصرف کننده j است.

بردارهای حالت ها با استفاده از ساختار EnergyOwnership در خطوط 9-10 تعریف می شوند. خطوط 13 و 17 نمونه برداری از بردارهای حالت را برای prosumer i و مصرف کننده j نشان می دهد. رویدادهایی که توسط قرارداد هوشمند در هنگام دریافت تراکنش "ثبت" از پیوستن به prosumer i و مصرف کننده j به کار می رود، بردار حالت ها را برای prosumer (خط 14) و مصرف کننده (خط 18) مقداردهی می کند.

Prosumer I با اجرای روش تزریق انرژی ، انرژی اضافی را به میکروگرید تزریق می کند (خطوط 21-26 الگوریتم 1 در پایان بخش 4). در خط 22 ، Prosumer I یک پیام رمزگذاری شده به DSO (MSGADDR D) ارسال می کند. این پیام حاوی مقدار انرژی تزریق شده است و توسط کلید خصوصی Prosumer i امضا می شود. DSO امضا را تأیید می کند ، بررسی می کند که آیا تزریق ادعا شده کامل است و یک معامله تأیید کننده (امضا شده توسط کلید خصوصی DSO) را به قرارداد هوشمند ارسال می کند (خط 23). قرارداد هوشمند امضای DSO (خط 24) را برای استناد به رویدادی که بردار دولت را برای Prosumer I با انرژی تزریقی E I (خط 25) به روز می کند ، تأیید می کند.

توجه داشته باشید که فقط DSO ، که از نظر جسمی کنترل انرژی را کنترل می کند ، می تواند تزریق یا تحویل انرژی را تأیید کند. بنابراین ، در اجرای ما از قرارداد هوشمند تجارت انرژی ، ما به امضای DSO نیاز داریم تا میزان انرژی تزریق شده در بردار دولت را برای Prosumer I به روز کند. بنابراین ، هکرها ، چه در داخل یا خارج از blockchain ، نمی توانند با آن دستکاری کنند. پس از تزریق ، وضعیت Prosumer I به فاز 1 ، P I 1 تغییر می کند ، و مقدار انرژی تزریق شده I I 1 بر روی E تنظیم شده است.

Prosumer I قصد خود را برای فروش انرژی S I T در هیئت مدیره با اجرای عملکرد "درخواست Sell" (خط 30) منتشر می کند. دولت در P I 2 تغییر می کند. B I 2 ، انرژی در هیئت مدیره برای فروش ، تنظیم شده است و I I 2 به E I-S I T کاهش یافته است. هنگامی که مرحله تطبیق با عملکرد "تطبیق" شروع می شود (خط 41) ، حالت به P I 3 تغییر می کند. مقدار انرژی همسان (در واقع فروخته شده) مانند خطوط 42-49 است. انرژی بی نظیر (باقی مانده پس از فروش) ، S I T - S M I ، به "تزریق" بازگردانده می شود. بنابراین ، مقدار انرژی با بردار دولت i i 3 است. هنگامی که تطبیق کامل شد و DSO عملکرد "تجارت" (خط 57) را اجرا می کند ، Prosumer I دریافت S M I · P T را از قرارداد هوشمند (خط 59) دریافت می کند و به P I 4 تغییر می کند. prosumer من می توانم انرژی اضافی را تزریق کنم.

Consumer J قصد خرید خود را برای خرید مقدار انرژی d j t با ارسال معامله ای که عملکرد "درخواست" را اجرا می کند (خط 35). مصرف کننده J با ارسال معامله ای که عملکرد "انتقال" را انجام می دهد (خط 37) مقدار d j t · p m a x را به قرارداد هوشمند سپرده می دهد. وضعیت مصرف کننده J به C J 1 با B J 1 = D J تغییر می کند. در مرحله تطبیق ، عملکرد "تطبیق" اجرا می شود (خط 41) و وضعیت مصرف کننده J به C J 2 با مقدار همسان انرژی M I 2 = D M J (خطوط 42-49 برای محاسبه) تغییر می کند.

هنگامی که تطبیق کامل است و DSO عملکرد "تجارت" (خط 57) را اجرا می کند ، مصرف کننده بازپرداخت D J T · P M A X - D M J · P T را از قرارداد هوشمند (خط 62) دریافت می کند که P T قیمت فاز T استهمانطور که توسط معادله تعیین می شود (6). وضعیت مصرف کننده J به C J 3 تغییر می کند. Consumer J مالکیت مقدار انرژی p j = d m j را بدست می آورد. مصرف کننده J می تواند با استفاده از این مالکیت انرژی را از DSO دریافت کند و سپس دولت به C J 4 تغییر کند.

  • نویسنده : آقای نوید بابایی پویا
  • منبع : akhileshyadav.tech
  • بدون دیدگاه

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.