<p>In Ethereum world 
it's a very simple 
solidity contract: </p>

<p>for time you will 
check the <code>block.number</code></p>

<p>and you can pre-define 
what amount you want to 
spent for some special 
arbitrary condition.</p>

CC BY-SA 3.0
2015-08-21T19:21:48.040Z
2015-08-21T19:21:48.040Z
Roman Mandeleil
<p>They don't need to support those. As mentioned by Roman you could build the entire LN in one contract. You can even implement the LN Relative OP_CHECKLOCKTIMEVERIFY requirement in a much better way.</p>

<p>In fact you can add more functionality than is possible with the Bitcoin LN, you could allow people to add more Ether to their side of the channel with offchain transactions.</p>

<p>Tx malleability also doesn't need to be solved (a very difficult probelm in Bitcoin) because it doesn't pertain. A LN contract wouldn't have to chain offchain transactions in any way, just passing signed offchain 'notes' of a sort that contain information relating to amounts, blocknumber for available release, etc...</p>

<p>It is also somewhat trivial to add the hub and spokes part where a random value R is hashed to create H and allow payments to hop through multiple parties (but in Ethereum you could do it without the problem of locking up funds that they need an extra OP CODE to solve).</p>

<p>Disclosure: I'm actually working on this in my spare time.</p>

CC BY-SA 3.0
2017-06-13T13:50:41.223Z
regarding your work, how far did you get?
Janus Troelsen
CC BY-SA 4.0
2019-03-16T23:02:55.120Z
Any cons? E.g. would Etherium be fast enough to make micropayments practical?
Aleksandr Levchuk
CC BY-SA 3.0
2015-08-21T21:09:15.250Z
2015-08-21T21:09:15.250Z
Robert McCone
<p>The <a href="http://lightning.network/" rel="noreferrer">Lightning Network</a> of micropayment channels is a concept first conceived by Joseph Poon and Thaddeus Dryja. It requires a few features of bitcoin that are not available yet.</p>

<ul>
<li>OP_CHECKLOCKTIMEVERIFY - to make scriptPubKeys which cannot be spent until some predefined time.</li>
<li>OP_CHECKSEQUENCEVERIFY - to make scriptPubKeys which cannot be spent until some set time after the original transaction. (Also called OP_RELATIVECHECKLOCKTIMEVERIFY)</li>
<li>Segregated Witness - Referencing which output you are spending by (TXID, n) should not reference the malleable signatures of the transaction with the output.</li>
</ul>

<p>Does Ethereum support these, or equivalent, features?</p>

<ethereum><micropaymentchannels><lightning-network>
Does Ethereum support the features necessary to create the Lightning Network?
morsecoder
# Does Ethereum support the features necessary to create the Lightning Network?

(Asked by: username_0 on 2015-08-21)

The [Lightning Network](http://lightning.network/) of micropayment channels is a concept first conceived by Joseph Poon and Thaddeus Dryja. It requires a few features of bitcoin that are not available yet.

* OP\_CHECKLOCKTIMEVERIFY - to make scriptPubKeys which cannot be spent until some predefined time.
* OP\_CHECKSEQUENCEVERIFY - to make scriptPubKeys which cannot be spent until some set time after the original transaction. (Also called OP\_RELATIVECHECKLOCKTIMEVERIFY)
* Segregated Witness - Referencing which output you are spending by (TXID, n) should not reference the malleable signatures of the transaction with the output.

Does Ethereum support these, or equivalent, features?

**Tags:** ethereum, micropaymentchannels, lightning-network


---

## 2 answers

### Answer by username_2 on 2015-08-21. Score: 5 | Accepted answer

They don't need to support those. As mentioned by Roman you could build the entire LN in one contract. You can even implement the LN Relative OP\_CHECKLOCKTIMEVERIFY requirement in a much better way.

In fact you can add more functionality than is possible with the Bitcoin LN, you could allow people to add more Ether to their side of the channel with offchain transactions.

Tx malleability also doesn't need to be solved (a very difficult probelm in Bitcoin) because it doesn't pertain. A LN contract wouldn't have to chain offchain transactions in any way, just passing signed offchain 'notes' of a sort that contain information relating to amounts, blocknumber for available release, etc...

It is also somewhat trivial to add the hub and spokes part where a random value R is hashed to create H and allow payments to hop through multiple parties (but in Ethereum you could do it without the problem of locking up funds that they need an extra OP CODE to solve).

Disclosure: I'm actually working on this in my spare time.

> **Comments:**
> **username_3**: regarding your work, how far did you get?  
> **username_4**: Any cons? E.g. would Etherium be fast enough to make micropayments practical?  

---

### Answer by username_1 on 2015-08-21. Score: 0

In Ethereum world
it's a very simple
solidity contract:

for time you will
check the `block.number`

and you can pre-define
what amount you want to
spent for some special
arbitrary condition.


---

