What makes millisatoshi real?
In the Lightning Network, it's possible to pay in units a thousandth of a satoshi, a millisatoshi.
But you can't redeem them directly on the main chain when closing a channel, it will be subject to a round error, your value will be 'trimmed' of some millisatoshis.
But how they can exist before that? Is that part of the LN based on trust? The nodes store the number somehow, but what if the decided to change it? How can the digital signatures 'cover' the value, if they sign only the data of a on-chain transaction?
lightning-network divisibility
add a comment |
In the Lightning Network, it's possible to pay in units a thousandth of a satoshi, a millisatoshi.
But you can't redeem them directly on the main chain when closing a channel, it will be subject to a round error, your value will be 'trimmed' of some millisatoshis.
But how they can exist before that? Is that part of the LN based on trust? The nodes store the number somehow, but what if the decided to change it? How can the digital signatures 'cover' the value, if they sign only the data of a on-chain transaction?
lightning-network divisibility
2
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32
add a comment |
In the Lightning Network, it's possible to pay in units a thousandth of a satoshi, a millisatoshi.
But you can't redeem them directly on the main chain when closing a channel, it will be subject to a round error, your value will be 'trimmed' of some millisatoshis.
But how they can exist before that? Is that part of the LN based on trust? The nodes store the number somehow, but what if the decided to change it? How can the digital signatures 'cover' the value, if they sign only the data of a on-chain transaction?
lightning-network divisibility
In the Lightning Network, it's possible to pay in units a thousandth of a satoshi, a millisatoshi.
But you can't redeem them directly on the main chain when closing a channel, it will be subject to a round error, your value will be 'trimmed' of some millisatoshis.
But how they can exist before that? Is that part of the LN based on trust? The nodes store the number somehow, but what if the decided to change it? How can the digital signatures 'cover' the value, if they sign only the data of a on-chain transaction?
lightning-network divisibility
lightning-network divisibility
edited Jan 8 at 17:53
Murch♦
35.4k27115332
35.4k27115332
asked Jan 8 at 10:57
Osias JotaOsias Jota
709215
709215
2
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32
add a comment |
2
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32
2
2
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32
add a comment |
2 Answers
2
active
oldest
votes
Millisatoshi's are the unit in which channel balances are accounted for. They are a necessary accounting unit, if the aim is to enable very small lightning payments amounts, which represents a protocol design choice. If I wish to send, let's say, 1 satoshi on lightning, the routing fee should necessarily be denominated in a sub-satoshi unit, or else fees could only be 1 or 0 satoshis.
However, there is a difference between accounting for and actually delivering this balance on the Bitcoin blockchain. Two nodes may negotiate a balance in millisatoshi's, but the signed commitment transactions cannot actually deliver this balance, only to the closest Sat value.
Millisatoshis are not captured in HTLC's of commitment transactions, since these are denominated in sat's. So in the case of a unilateral channel close, the delivered balance will differ from the one negotiated between two lightning peers. A collaborative channel close can also not deliver a balance denominated in fractional Sats.
Therefore, millisatoshi's are a real accounting unit, which enables very small lightning payments (and even smaller fee capture along the way), whilst trading off deliverable balance accuracy during channel closing (The rounding can go both ways).
There is no trust involved, it is clear to each participant independently what the channel balance is (mSat), and how much of the balance is deliverable(Sat) in the Blockchain during any Channel state.
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
add a comment |
Nothing makes Millisatoshi real.
They are indeed backed on trust. They are needed due to rounding issues. It is not an issue because otherwise during fee calculation people would also loose up to half a Satoshi due to rounding.
Actually due to fees and dust limits even small Satoshi amounts can not be claimed. I guess this should be seen as collateral of using lightning. It was even discussed to remove Millisatoshi from the protocol during the last spec meeting in Australia. But this would make implementing lightning much harder.
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
add a comment |
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "308"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f83475%2fwhat-makes-millisatoshi-real%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Millisatoshi's are the unit in which channel balances are accounted for. They are a necessary accounting unit, if the aim is to enable very small lightning payments amounts, which represents a protocol design choice. If I wish to send, let's say, 1 satoshi on lightning, the routing fee should necessarily be denominated in a sub-satoshi unit, or else fees could only be 1 or 0 satoshis.
However, there is a difference between accounting for and actually delivering this balance on the Bitcoin blockchain. Two nodes may negotiate a balance in millisatoshi's, but the signed commitment transactions cannot actually deliver this balance, only to the closest Sat value.
Millisatoshis are not captured in HTLC's of commitment transactions, since these are denominated in sat's. So in the case of a unilateral channel close, the delivered balance will differ from the one negotiated between two lightning peers. A collaborative channel close can also not deliver a balance denominated in fractional Sats.
Therefore, millisatoshi's are a real accounting unit, which enables very small lightning payments (and even smaller fee capture along the way), whilst trading off deliverable balance accuracy during channel closing (The rounding can go both ways).
There is no trust involved, it is clear to each participant independently what the channel balance is (mSat), and how much of the balance is deliverable(Sat) in the Blockchain during any Channel state.
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
add a comment |
Millisatoshi's are the unit in which channel balances are accounted for. They are a necessary accounting unit, if the aim is to enable very small lightning payments amounts, which represents a protocol design choice. If I wish to send, let's say, 1 satoshi on lightning, the routing fee should necessarily be denominated in a sub-satoshi unit, or else fees could only be 1 or 0 satoshis.
However, there is a difference between accounting for and actually delivering this balance on the Bitcoin blockchain. Two nodes may negotiate a balance in millisatoshi's, but the signed commitment transactions cannot actually deliver this balance, only to the closest Sat value.
Millisatoshis are not captured in HTLC's of commitment transactions, since these are denominated in sat's. So in the case of a unilateral channel close, the delivered balance will differ from the one negotiated between two lightning peers. A collaborative channel close can also not deliver a balance denominated in fractional Sats.
Therefore, millisatoshi's are a real accounting unit, which enables very small lightning payments (and even smaller fee capture along the way), whilst trading off deliverable balance accuracy during channel closing (The rounding can go both ways).
There is no trust involved, it is clear to each participant independently what the channel balance is (mSat), and how much of the balance is deliverable(Sat) in the Blockchain during any Channel state.
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
add a comment |
Millisatoshi's are the unit in which channel balances are accounted for. They are a necessary accounting unit, if the aim is to enable very small lightning payments amounts, which represents a protocol design choice. If I wish to send, let's say, 1 satoshi on lightning, the routing fee should necessarily be denominated in a sub-satoshi unit, or else fees could only be 1 or 0 satoshis.
However, there is a difference between accounting for and actually delivering this balance on the Bitcoin blockchain. Two nodes may negotiate a balance in millisatoshi's, but the signed commitment transactions cannot actually deliver this balance, only to the closest Sat value.
Millisatoshis are not captured in HTLC's of commitment transactions, since these are denominated in sat's. So in the case of a unilateral channel close, the delivered balance will differ from the one negotiated between two lightning peers. A collaborative channel close can also not deliver a balance denominated in fractional Sats.
Therefore, millisatoshi's are a real accounting unit, which enables very small lightning payments (and even smaller fee capture along the way), whilst trading off deliverable balance accuracy during channel closing (The rounding can go both ways).
There is no trust involved, it is clear to each participant independently what the channel balance is (mSat), and how much of the balance is deliverable(Sat) in the Blockchain during any Channel state.
Millisatoshi's are the unit in which channel balances are accounted for. They are a necessary accounting unit, if the aim is to enable very small lightning payments amounts, which represents a protocol design choice. If I wish to send, let's say, 1 satoshi on lightning, the routing fee should necessarily be denominated in a sub-satoshi unit, or else fees could only be 1 or 0 satoshis.
However, there is a difference between accounting for and actually delivering this balance on the Bitcoin blockchain. Two nodes may negotiate a balance in millisatoshi's, but the signed commitment transactions cannot actually deliver this balance, only to the closest Sat value.
Millisatoshis are not captured in HTLC's of commitment transactions, since these are denominated in sat's. So in the case of a unilateral channel close, the delivered balance will differ from the one negotiated between two lightning peers. A collaborative channel close can also not deliver a balance denominated in fractional Sats.
Therefore, millisatoshi's are a real accounting unit, which enables very small lightning payments (and even smaller fee capture along the way), whilst trading off deliverable balance accuracy during channel closing (The rounding can go both ways).
There is no trust involved, it is clear to each participant independently what the channel balance is (mSat), and how much of the balance is deliverable(Sat) in the Blockchain during any Channel state.
edited Jan 8 at 12:53
answered Jan 8 at 12:42
James C.James C.
1,8751214
1,8751214
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
add a comment |
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
2
2
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
Note: I think it is also important not to equate a lightning channel balance to confirmed, spendable Bitcoin UTXO's. A payment channel balance is not Bitcoin (Denominated in Sat's). It is the "opportunity" of capturing this balance (with a certain accuracy) in a confirmed transaction after a successful channel close, which is notably less security than a confirmed transaction. Since the channel balance is not Bitcoin, it doesn't necessarily need to denominated as such.
– James C.
Jan 8 at 12:49
add a comment |
Nothing makes Millisatoshi real.
They are indeed backed on trust. They are needed due to rounding issues. It is not an issue because otherwise during fee calculation people would also loose up to half a Satoshi due to rounding.
Actually due to fees and dust limits even small Satoshi amounts can not be claimed. I guess this should be seen as collateral of using lightning. It was even discussed to remove Millisatoshi from the protocol during the last spec meeting in Australia. But this would make implementing lightning much harder.
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
add a comment |
Nothing makes Millisatoshi real.
They are indeed backed on trust. They are needed due to rounding issues. It is not an issue because otherwise during fee calculation people would also loose up to half a Satoshi due to rounding.
Actually due to fees and dust limits even small Satoshi amounts can not be claimed. I guess this should be seen as collateral of using lightning. It was even discussed to remove Millisatoshi from the protocol during the last spec meeting in Australia. But this would make implementing lightning much harder.
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
add a comment |
Nothing makes Millisatoshi real.
They are indeed backed on trust. They are needed due to rounding issues. It is not an issue because otherwise during fee calculation people would also loose up to half a Satoshi due to rounding.
Actually due to fees and dust limits even small Satoshi amounts can not be claimed. I guess this should be seen as collateral of using lightning. It was even discussed to remove Millisatoshi from the protocol during the last spec meeting in Australia. But this would make implementing lightning much harder.
Nothing makes Millisatoshi real.
They are indeed backed on trust. They are needed due to rounding issues. It is not an issue because otherwise during fee calculation people would also loose up to half a Satoshi due to rounding.
Actually due to fees and dust limits even small Satoshi amounts can not be claimed. I guess this should be seen as collateral of using lightning. It was even discussed to remove Millisatoshi from the protocol during the last spec meeting in Australia. But this would make implementing lightning much harder.
answered Jan 8 at 11:08
Rene PickhardtRene Pickhardt
2,408117
2,408117
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
add a comment |
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
Why would it make it harder? It seems to be simpler to use the same data types as the main chain code.
– Osias Jota
Jan 8 at 11:10
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
BTW, thinking about it, I think it's not actually 'trust' the word we should use, but I'll wait for other answers to elaborate on that.
– Osias Jota
Jan 8 at 11:11
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
People could lose 999mSat because the amount isn't rounded but floored. (with the 1 sat over being collected by the miner as part of the transaction fee).
– Mark H
Jan 9 at 11:43
add a comment |
Thanks for contributing an answer to Bitcoin Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f83475%2fwhat-makes-millisatoshi-real%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
If I understand it correctly, you're asking: on a technical level, what is the difference between the partially signed transactions exchanged between LN nodes, before and after transacting a sub-satoshi amount?
– chytrik
Jan 8 at 11:32