- The energy consumer (buyer) plugs the charge cable into their car.
- The energy provider's (seller's) payment module detects a cable has been plugged in and switches to digital communication on the pilot line.
- The car's payment module detects that a cable has been plugged in and switches to digital communication on the pilot line.
- The energy provider's payment module sends an offer for an energy price in sat/(W*hour) and a nominal payment size in sat over the charge cable on the pilot line. Currently this is set to 1 sat/(W*hour) and 25 sat.
- If the price is below the car owner's user defined threshold, the car's payment module sends a message back over the charge cable on the pilot line indicating that it accepts the price. If the price is above the car owner's user defined threshold, the seller does not send and invoice and does not allow energy delivery and the process stops.
- If the car's payment module accepts the price, the energy provider sends an invoice for 50 sat for payment over the lightning network (the first invoice payment amount is twice the nominal payment size).
- The car's payment module connects using a cellular radio to the car owner's lightning network node (likely back at their home) and instructs it to pay the invoice.
- The energy provider's payment module monitors to see if a payment has been made.
- If the car's payment module pays the invoice, the seller allows energy to be delivered and sends another invoice for 25 sat.
- The energy provider monitors the delivery of electrical energy. If the next invoice is not paid by the time 25W*hour of energy is delivered, the energy provider stops the delivery of electrical energy.
- The car's payment module monitors the delivery of electrical energy. If it sees that the charge controller has stopped the delivery of electrical energy or is requesting invoices too quickly, it will wait to pay the invoice until it receives the energy it already paid for.
- If there is a disagreement in the measurement of the energy delivered, the energy provider may stop the delivery of electrical energy.
- If the charge controller does continue to deliver electrical energy, the car makes payment for the next invoice.
- This process repeats where the energy provider requests 25 sat payments and the car's payment module pays them, until the car battery has reached its charge limit or the car owner removes the charge cable.
- 1 sat = 0.00000001 BTC = 10-8 BTC
- The stream of micropayments results in a Don't Trust, Verify approach for the physical world. It is not fully trustless, but is trust minimized (to the size of the nominal payment).
- The above process has been simplified for ease of understanding. There are actually some adjustments that both the energy provider and consumer apply in order to account for network and processing latency, as well as small disagreements in measurement.
- The energy provider's payment module can have a lightning network node running on the same computer (how it's shown above), or it can connect to a remote lightning node.
- For energy providers that only serve a single customer at a time, it can be physically simpler to setup with the lightning network node running on the same computer as the payment module, but it's likely much more risky to have a lightning network node installed a small box freestanding in a parking lot.
- For energy providers servicing multiple customers simultaneously, or those that want their lightning node to be separately stored in a secure location, the payment module can connect (allowing invoice only activity) to a remote lightning node (not shown above) just like the car's payment module does.
- The energy provider's payment module can connect to the internet using either a cellular radio or ethernet.
- It's undesirable to have a full lightning network node inside the car for the following reasons:
- Can easily be stolen.
- Don't want to use cellular data for peer to peer messaging.
- Drains the car's battery.
- The car goes into sleep mode when parked and not charging.
- Would require management of a separate channel set and bitcoin balance that would only be used by the car.
- The 25 sat payment size is likely too small for most practical applications (results in the accumulation of many “base fees” unless direct channels are setup between the buyer and seller), but is currently used to demonstrate payment periods less than 20 seconds when charging at rates under 11kW.
- When the processes is stopped, the car owner has made some small overpayment, but that is limited to the nominal payment size.