Pages:
Author

Topic: Slimcoin | First Proof of Burn currency | Decentralized Web - page 17. (Read 137085 times)

newbie
Activity: 12
Merit: 0
If i understood well if we would have premined coins, it will be possible to distribute those SLM to the burnt addresses (the balances on it) so no one is loosing nothing? What about to exclude PoW, and keep only PoS and PoB, with awards in some reasonable ratio, just thinking, bur with PoW i am good as well. I am telling this as seems CPU mining is not too attractive for miners, on the others side a few people with big servers can take over mining.

Besides mining, are there no other ways to get your Slimcoin? Will there be an airdrop or bounty?
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
If i understood well if we would have premined coins, it will be possible to distribute those SLM to the burnt addresses (the balances on it) so no one is loosing nothing?
Correct, a swap is a premine with the exact amount of the balances of all active addresses, which is distributed in the genesis block.

But the PoB process in SLM works a bit differently. It's not that everybody has is own "burn balance" on an address. All burnt coins are sent to a single "burn address". That means, that to calculate the "score" for PoB minting, the algorithm needs to access the transactions to the burn address.

This means that in a swap, to preserve the "PoB power" of everybody, these transactions have to be stored also in the genesis block. What adds some complications is the "decay" mechanism (i.e. that your PoB power decays over time). If we simply stored the original burn transactions in the genesis block, then those who burnt coins in 2014 would have equal power to those who burnt in 2020, which is not the intention of the coin creators.

So some additional calculations are necessary, to reflect the "decay" process.

Quote
What about to exclude PoW, and keep only PoS and PoB, with awards in some reasonable ratio, just thinking, bur with PoW i am good as well. I am telling this as seems CPU mining is not too attractive for miners, on the others side a few people with big servers can take over mining.
I would be strongly against a PoW elimination. It is an additional layer of security which can prevent nothing-at-stake attacks. Also it is deeply interwoven with PoB, so PoB would have to be implemented in a completely new way if PoW was eliminated.
hero member
Activity: 819
Merit: 502
I am neutral on it - as I already wrote to johnwritestar per PM, there are opportunities (get rid of the whole old code, be able to change some parameters without a "regular" hardfork) and challenges.

One of the challenges all community members should consider is that if we swap the balances 1:1 to a completely new blockchain, then all Proof of Burn values would be reset to zero. That means that those who burnt coins to be able to earn coins, would lose their "burnt balance".

There can however be a solution based on an additional pre-mine which represents the "effective" burnt coins of every user. In this case the genesis block would contain, apart from the swap distribution, also the transactions from the "burners" to the burn address. This however requires some additional calculations, but it should be completely doable.

(Please comment if my formulation is not clear enough - I think it's a very important issue which should be solved before taking any decision.)

I also would be in favour to the following three changes in the case of a swap:

- Reduce the minimum amount of a transaction output to 1 coin unit ("slimtoshi", i.e. the equivalent of the satoshi, afaik it's 0.000001 SLM). Right now, it's 0.01 SLM, which is a pretty high value and could lead to problems in the future.
- Reduce the mandatory transaction fee from 0.01 per kB to 0.0001 per kB. This would still disincentive spam, but it would not make transactions with tokens too expensive.
- Reduce PoS reward from 10%/year to 1 or 2%/year. This could be controversial for PoS minters, so I wouldn't change that if there is no complete agreement in the community.

If i understood well if we would have premined coins, it will be possible to distribute those SLM to the burnt addresses (the balances on it) so no one is loosing nothing? What about to exclude PoW, and keep only PoS and PoB, with awards in some reasonable ratio, just thinking, bur with PoW i am good as well. I am telling this as seems CPU mining is not too attractive for miners, on the others side a few people with big servers can take over mining.
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
I am neutral on it - as I already wrote to johnwritestar per PM, there are opportunities (get rid of the whole old code, be able to change some parameters without a "regular" hardfork) and challenges.

One of the challenges all community members should consider is that if we swap the balances 1:1 to a completely new blockchain, then all Proof of Burn values would be reset to zero. That means that those who burnt coins to be able to earn coins, would lose their "burnt balance".

There can however be a solution based on an additional pre-mine which represents the "effective" burnt coins of every user. In this case the genesis block would contain, apart from the swap distribution, also the transactions from the "burners" to the burn address. This however requires some additional calculations, but it should be completely doable.

(Please comment if my formulation is not clear enough - I think it's a very important issue which should be solved before taking any decision.)

I also would be in favour to the following three changes in the case of a swap:

- Reduce the minimum amount of a transaction output to 1 coin unit ("slimtoshi", i.e. the equivalent of the satoshi, afaik it's 0.000001 SLM). Right now, it's 0.01 SLM, which is a pretty high value and could lead to problems in the future.
- Reduce the mandatory transaction fee from 0.01 per kB to 0.0001 per kB. This would still disincentive spam, but it would not make transactions with tokens too expensive.
- Reduce PoS reward from 10%/year to 1 or 2%/year. This could be controversial for PoS minters, so I wouldn't change that if there is no complete agreement in the community.
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
In fact i am for whatever just to move somewhere Smiley

Then I hope we'll be moving Wink
hero member
Activity: 819
Merit: 502
I'm working on the idea to upgrade SLM to PPC v.0.9.0. The developer that has taken a deep look into the code during the last 10 days asked me whether we prefer to make a swap or keep the old blockchain, as there are many difficulties to overcome in case we decide to keep the old blockchain so maybe a swap can be an option to consider. What do you think?

Swap would be a good start, as SLM is long time stuck this way

Swap is a good option because we have a chance to escape some of original complexity of the code, but the blockchain won't be that old anymore, which decreases its value somehow.

So for the moment we have 1 person for the swap, 1 person for the old blochain (me) and 1 person that is indifferent (got the opinion in PM).

In fact i am for whatever just to move somewhere Smiley
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
I'm working on the idea to upgrade SLM to PPC v.0.9.0. The developer that has taken a deep look into the code during the last 10 days asked me whether we prefer to make a swap or keep the old blockchain, as there are many difficulties to overcome in case we decide to keep the old blockchain so maybe a swap can be an option to consider. What do you think?

Swap would be a good start, as SLM is long time stuck this way

Swap is a good option because we have a chance to escape some of original complexity of the code, but the blockchain won't be that old anymore, which decreases its value somehow.

So for the moment we have 1 person for the swap, 1 person for the old blochain (me) and 1 person that is indifferent (got the opinion in PM).
hero member
Activity: 819
Merit: 502
I'm working on the idea to upgrade SLM to PPC v.0.9.0. The developer that has taken a deep look into the code during the last 10 days asked me whether we prefer to make a swap or keep the old blockchain, as there are many difficulties to overcome in case we decide to keep the old blockchain so maybe a swap can be an option to consider. What do you think?

Swap would be a good start, as SLM is long time stuck this way
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
I'm working on the idea to upgrade SLM to PPC v.0.9.0. The developer that has taken a deep look into the code during the last 10 days asked me whether we prefer to make a swap or keep the old blockchain, as there are many difficulties to overcome in case we decide to keep the old blockchain so maybe a swap can be an option to consider. What do you think?
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
I don't know what you mean with "seeding node", is that a masternode thing? Or do you mean Peercoin's "checkpoint node"? (This is something independent from the PoS variant.)

No I mean the nodes mentioned here: https://chainz.cryptoid.info/slm/#!network

I would be more in favour of reducing inflation to Peercoin's model (1%/year, maybe 2% is also still ok). This is a simple change, it needs a hardfork however (but we'll need one anyway if we update the code to PPC 0.Cool. It would give the opportunity to follow Peercoin code closely. I must say that I like Peercoin's PoS model every time more, it is really well thought out and it is in some way even more secure than "modern" approaches like Cardano.

PoS in my opinion has definitively a high importance for coin security. Small PoW-only coins suffer from a very severe vulnerability to 51% attacks, and PoB alone is not enough to protect from these attacks.
Agreed, we should reduce to 1% year like in Peercoin then.

Quote
Quote
I have a written proposal from one of developers I mentioned previously on Discord. I think we need to discuss it.
Ok, will have a look at it.
Alright, do you want me to post the link publicly here or on Discord or it's better we discuss it privately or on Reddit?
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
Thank you very much for extensive explanation. So there is no "seeding node" functionality in any of PoSes.
I don't know what you mean with "seeding node", is that a masternode thing? Or do you mean Peercoin's "checkpoint node"? (This is something independent from the PoS variant.)

Quote
In such case we should probably consider PoW/PoB as 10% of inflation is just huge considering there is no visible advantage for the coin.
I would be more in favour of reducing inflation to Peercoin's model (1%/year, maybe 2% is also still ok). This is a simple change, it needs a hardfork however (but we'll need one anyway if we update the code to PPC 0. 8+). It would give the opportunity to follow Peercoin code closely. I must say that I like Peercoin's PoS model every time more, it is really well thought out and it is in some way even more secure than "modern" approaches like Cardano.

PoS in my opinion has definitively a high importance for coin security. Small PoW-only coins suffer from a very severe vulnerability to 51% attacks, and PoB alone is not enough to protect from these attacks.

Quote
I have a written proposal from one of developers I mentioned previously on Discord. I think we need to discuss it.
Ok, will have a look at it.
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
PoS1 means that people are receiving free internet money without doing any work that is useful for our coin (just for holding it), as they just need to open and close their wallet sometimes.

PoS2 means that to make money they'd provide nodes to SLM, which we need for a better connectivity.
To clarify this "PoS version salad" Smiley

What's called "PoS1" frecuently is the original Peercoin PoS. In this variant, the reward of a stake is limited to a fixed percentage of it per year. In PPC it's 1%, in SLM, it's 10% of the stake. This means that as long as you find a block with a stake once in a year (or once in 90 days? I'm currently in doubt ...) at least, you will get your maximum reward. So if you want to maximize reward, it's not necessary to stay online with the client. (So yes, what you write is correct - you have to open your client and stake only once in a while. However, if you don't find a block e.g. because your stake is too small, you won't get reward.)

Blackcoin introduced two new versions they called "PoS2" and "PoS3". In these variants, coin age is no longer used to calculate rewards, nor the probability to find blocks - only the pure coin holdings. See: https://www.rstr.io/files/pos2.pdf. "PoS2" is also pretty similar to the PoS used in NXT. It is basically the "most simple PoS protocol possible", so it's a bit ironic they call it "PoS2".

The advantage (for network security) is that nodes have to stay always online to get maximum rewards. The disadvantage, however, is that PoS2 is more vulnerable to nothing at stake attacks, because in the case of a blockchain fork people will get more rewards if they try to stake on all forks. These NaS attacks are difficult to perform but theoretically devastating. Peercoin in PPC0.5 (or 0.6?) introduced a change where coin age was taken out for the probability to find blocks, but stays there for the reward calculation. This combines advantages of both approaches.

Peercoin 0.9's changes are not the same Blackcoin introduced. In fact, the system is more similar to "PoS1", because rewards are still limited to ~1%/stake per year. The change is that the reward can increase to more than 1% temporarily if the PoS rewards over a longer time have not reached the 1% mark. This can happen if a significant percentage of Peercoin holders do not stake. The system thus approaches a constant 1% inflation. The goal is obviously to incentive staking participation, as was the goal for PoS2. But the technique used is different, and is less vulnerable to nothing-at-stake.

Thank you very much for extensive explanation. So there is no "seeding node" functionality in any of PoSes. In such case we should probably consider PoW/PoB as 10% of inflation is just huge considering there is no visible advantage for the coin.

I have a written proposal from one of developers I mentioned previously on Discord. I think we need to discuss it.
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
PoS1 means that people are receiving free internet money without doing any work that is useful for our coin (just for holding it), as they just need to open and close their wallet sometimes.

PoS2 means that to make money they'd provide nodes to SLM, which we need for a better connectivity.
To clarify this "PoS version salad" Smiley

What's called "PoS1" frecuently is the original Peercoin PoS. In this variant, the reward of a stake is limited to a fixed percentage of it per year. In PPC it's 1%, in SLM, it's 10% of the stake. This means that as long as you find a block with a stake once in a year (or once in 90 days? I'm currently in doubt ...) at least, you will get your maximum reward. So if you want to maximize reward, it's not necessary to stay online with the client. (So yes, what you write is correct - you have to open your client and stake only once in a while. However, if you don't find a block e.g. because your stake is too small, you won't get reward.)

Blackcoin introduced two new versions they called "PoS2" and "PoS3". In these variants, coin age is no longer used to calculate rewards, nor the probability to find blocks - only the pure coin holdings. See: https://www.rstr.io/files/pos2.pdf. "PoS2" is also pretty similar to the PoS used in NXT. It is basically the "most simple PoS protocol possible", so it's a bit ironic they call it "PoS2".

The advantage (for network security) is that nodes have to stay always online to get maximum rewards. The disadvantage, however, is that PoS2 is more vulnerable to nothing at stake attacks, because in the case of a blockchain fork people will get more rewards if they try to stake on all forks. These NaS attacks are difficult to perform but theoretically devastating. Peercoin in PPC0.5 (or 0.6?) introduced a change where coin age was taken out for the probability to find blocks, but stays there for the reward calculation. This combines advantages of both approaches.

Peercoin 0.9's changes are not the same Blackcoin introduced. In fact, the system is more similar to "PoS1", because rewards are still limited to ~1%/stake per year. The change is that the reward can increase to more than 1% temporarily if the PoS rewards over a longer time have not reached the 1% mark. This can happen if a significant percentage of Peercoin holders do not stake. The system thus approaches a constant 1% inflation. The goal is obviously to incentive staking participation, as was the goal for PoS2. But the technique used is different, and is less vulnerable to nothing-at-stake.
legendary
Activity: 2254
Merit: 1290
Thanks for your explanations. So I interpret basically you would recommend to first port the modern Bitcoin code (or better, PPC 0.8+) to Slimcoin, and then add the watchonly address functionality and the peerassets-based tokens.
Ah, I see from a later post that you do have the right model.

Cheers

Graham
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
PPC 0.9 (the newest version) has a new staking mechanism which differs substantially from the "PoS 1" concept, so from my understanding, it would be better to use 0.8 as a base and then (if necessary) backport improvements not related to consensus from 0.9.

PoS1 means that people are receiving free internet money without doing any work that is useful for our coin (just for holding it), as they just need to open and close their wallet sometimes.

PoS2 means that to make money they'd provide nodes to SLM, which we need for a better connectivity.

If the above 2 statement are right, is there PoS2 in 0.9 version of PPC or both in versions 0.8 and 0.9?
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
If so I need to begin looking for a developer because the PoD token is something I want to become reality.
Would you please let me know what are the requirements for the developer you mentioned? And in how much time should I find him?
Basically what we would need is a developer with Python and blockchain skills. PeerAssets knowledge would be ideal (so maybe someone from the Peercoin proyect could help?). On the other hand the code of both PeerAssets and my additions is pretty simple so requirements are not too high.

I can't give still a release date of the PoD prototype, but I estimate 2-3 months from now, maybe less if there are no additional complications. I'm currently working on a structural improvement of the original "centralized" PoD token code to make it better to maintain (this one), and then will add the new validation code which would implement what we discussed at Reddit. The new PoD token uses a more complex validation algorithm but the rest of the additions of the "old token" will be used for it as well.
Quote
Another question: is the watchonly addresses functionality already included in PPC0.8+ code or it has to be added after?
Yes, it's included in PPC 0.8 (as PPC 0.8 is based on Bitcoin 0.16). Thus, with a port of the Slimcoin PoB functions to PPC 0.8 we should have the functionality we need.

PPC 0.9 (the newest version) has a new staking mechanism which differs substantially from the "PoS 1" concept, so from my understanding, it would be better to use 0.8 as a base and then (if necessary) backport improvements not related to consensus from 0.9.
sr. member
Activity: 697
Merit: 272
Slimcoin - the Proof of Donation inventors!
I also want to emphasize that my efforts on the PoD tokens will only lead to a prototype. After the prototype is finished, a more skilled developer should look at the code and improve it.

If so I need to begin looking for a developer because the PoD token is something I want to become reality.
Would you please let me know what are the requirements for the developer you mentioned? And in how much time should I find him?

Another question: is the watchonly addresses functionality already included in PPC0.8+ code or it has to be added after?
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist

Unfortunately ... I have been reluctantly forced to admit to myself that it's not really feasible to add watchonly address functionality to Slimcoin in a sufficiently robust and reliable enough implementation for DeFi use. [...]

It's not something I'd want either to guarantee or to provide long-term support for and, from a practical perspective, PeerAssets would have to have a robust, reliable underpinning implementation with solid support.
Thanks for your explanations. So I interpret basically you would recommend to first port the modern Bitcoin code (or better, PPC 0.8+) to Slimcoin, and then add the watchonly address functionality and the peerassets-based tokens.

One addition however I want to make: Original PeerAssets did not use importaddress at all, so it's not a totally mandatory feature. However, with importaddress, in my token code the validation process becomes much faster. If you don't use importaddress, if you validate a specific token transaction, you first have to retrieve all transactions of all Peerassets tokens at once via the "listtransactions" RPC command from the client, because the Peercoin (or Slimcoin) client cannot use the P2TH addresses (which mark all transactions belonging to a certain token, or "deck" in PeerAssets terminology) as filters, as they're unspendable (like the burn address) and so they can only be imported as watchonly addresses. This means that the duration of this step of validation depends on the quantity of PeerAsset tokens, and if there are many tokens in usage, it can lead to a serious delay.

Original PeerAssets code circunvents this problem a bit because it includes an interface which instead of the Peercoin client uses a block explorer to "validate" transactions. So there is a fast way to validate transactions. However, for serious DeFi usage I don't think this approach is recommendable, as it makes the whole process dependant on the block explorer's veracity.

I also want to emphasize that my efforts on the PoD tokens will only lead to a prototype. After the prototype is finished, a more skilled developer should look at the code and improve it. So for the current work which is left, a "hacked" version of watchonly addresses into the SLM client would be very useful for me. For the final release of the token system, and for the addition of watchonly addresses into the client, we could wait after the PPC 0.8 port has been done.
legendary
Activity: 2254
Merit: 1290
So, I've had to recourse to the other option, bringing the (more complete) earlier branch up to date. In addition, the earlier branch included caching of watched address values, something that's going to be functionally vital.
Cool, thank you for that. I've downloaded your new additions but they don't compile on my machine (Debian 11), are your editions ready for testing or should I wait a bit more?
Unfortunately ... I have been reluctantly forced to admit to myself that it's not really feasible to add watchonly address functionality to Slimcoin in a sufficiently robust and reliable enough implementation for DeFi use. The watchonly address functionality in Peercoin is there by virtue of Sunny King's later merge of Bitcoin 0.8.6. It's not a Peercoin-specific addition, it was inherited via that merge which occurred a substantial period of time after the 2014 Slimcoin fork of PPCoin.

It's not that watchonly addresses can't be hacked into Slimcoin after a fashion, the problem is that the functionality would then have been hacked into Slimcoin.

The extended isMine functionality didn't even have a solid test suite until Sep 2017 https://github.com/bitcoin/bitcoin/commit/7a1e873b27b790c965d9927ecd465710dc103136#diff-f70eb687f49d254115fb55bce1c23a1c and by that time, the architecture of the Bitcoin codebase had changed substantially, with the script-handling code having been split off into a separate directory and reorganised into subprocessing components (hence the first change in that diff is to src/script/ismine.cpp).

It's not something I'd want either to guarantee or to provide long-term support for and, from a practical perspective, PeerAssets would have to have a robust, reliable underpinning implementation with solid support.

Quote
I guess that's something related to boost-iostreams, I have installed Boost version 1.71 (including -dev). I saw support for Boost 1.70+ was your last commit, so it may be related to that.
Yes, it's a Boost 1.71 thing. I have a fix.

Cheers

Graham
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
So, I've had to recourse to the other option, bringing the (more complete) earlier branch up to date. In addition, the earlier branch included caching of watched address values, something that's going to be functionally vital.
Cool, thank you for that. I've downloaded your new additions but they don't compile on my machine (Debian 11), are your editions ready for testing or should I wait a bit more?

If it helps you, this is the error message:

Code:
src/bitcoinrpc.cpp: In member function ‘bool SSLIOStreamDevice::connect(const string&, const string&)’:
src/bitcoinrpc.cpp:4570:43: error: ‘SSLStream’ {aka ‘class boost::asio::ssl::stream >’} has no member named ‘get_io_service’
 4570 |         ip::tcp::resolver resolver(stream.get_io_service());
      |                                           ^~~~~~~~~~~~~~
make: *** [Makefile:1681: build/bitcoinrpc.o] Error 1
I guess that's something related to boost-iostreams, I have installed Boost version 1.71 (including -dev). I saw support for Boost 1.70+ was your last commit, so it may be related to that.
Pages:
Jump to: