Bitcoin Forum
April 26, 2024, 07:56:19 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »
721  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:44:20 PM
I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day. At a arbitrarily selected value of $100, that's $2,000,000 per day, compared with only $288,000 for Darkcoin, the only thing I have besides Bitcoin. A real dilemma for me, as Monero seems to be the most legitimate CN coin.

Doesn't seem like such a high rate of emission when you consider that there are ~28000 Litecoins mined every day. If the higher price of LTC can be sustained, I see no reason why XMR cannot go much higher.

It's much much higher than LTC presently, but that's not really the point I guess. LTC isn't $100 after all. Tongue

Please correct me if I'm mistaken, but purely in terms of coins mined per day - isn't LTC higher?  Monero is roughly at 21,000 coins per day and dropping daily. Litecoin is fixed around 28,000 per day until the next block reward halving.

I am referencing the data in the rpietila XMR Economics thread: https://bitcointalk.org/index.php?topic=702140.140

 

No you are correct on absolute numbers of coins emitted, I was referring to inflation figures (which ARE relevant, but we can argue HOW relevant Tongue).

However, given LTC's numbers, it could only support an XMR price of about .014! 0.0105*(28,000/21,000)

(Almost) 3x is an acceptable short term return.

(actually about 3.25x) I agree and think that's not a bad target short term. I'm trying to present it in opposition to the argument (whether anyone actually presented said argument directly) that LTC's daily influx could support much higher prices.
722  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:38:34 PM
I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day. At a arbitrarily selected value of $100, that's $2,000,000 per day, compared with only $288,000 for Darkcoin, the only thing I have besides Bitcoin. A real dilemma for me, as Monero seems to be the most legitimate CN coin.

Doesn't seem like such a high rate of emission when you consider that there are ~28000 Litecoins mined every day. If the higher price of LTC can be sustained, I see no reason why XMR cannot go much higher.

It's much much higher than LTC presently, but that's not really the point I guess. LTC isn't $100 after all. Tongue

Please correct me if I'm mistaken, but purely in terms of coins mined per day - isn't LTC higher?  Monero is roughly at 21,000 coins per day and dropping daily. Litecoin is fixed around 28,000 per day until the next block reward halving.

I am referencing the data in the rpietila XMR Economics thread: https://bitcointalk.org/index.php?topic=702140.140

 

No you are correct on absolute numbers of coins emitted, I was referring to inflation figures (which ARE relevant, but we can argue HOW relevant Tongue).

However, given LTC's numbers, it could only support an XMR price of about .014! 0.0105*(28,000/21,000)

Edit: forgive my fail formula (which smooth quoted next page). Number was correct, formula not.
723  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:23:38 PM
Combining posts...
A very fast initial distribution, followed by a long, slow emission seems vastly superior from an investment standpoint. It just appears to be better for all involved. The developers can get a reasonable stake for a low cost, to justify their time investment, early adopters get rewarded nicely, and prospective investors can be confident that inflation won't dilute their investment. The only ones who suffer are miners , and considering that no matter what your emission, mining will generally just break even due to economics, what is really lost there?

No, the difference is that this structure is compatible with a pump-and-dump scam. So buyers always have to be wary of it, which depresses the price and ultimately serves as a competitive disadvantage against cleanly launched coins.

Only systems that are structurally incompatible with fraud don't suffer from the overhang of potential fraud.



Basically the argument is that "bunch of coins mined over a few months to a year" = more participants than "bunch of coins mined in a few days", which should lead to better distribution as well as much better perception. It's only one piece of the distribution schedule, but it is largely responsible for public perception (and XMR can get negative perception as well for its defined curve, just that it didn't go way outside of what was defined like DRK did).

I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day. At a arbitrarily selected value of $100, that's $2,000,000 per day, compared with only $288,000 for Darkcoin, the only thing I have besides Bitcoin. A real dilemma for me, as Monero seems to be the most legitimate CN coin.

Doesn't seem like such a high rate of emission when you consider that there are ~28000 Litecoins mined every day. If the higher price of LTC can be sustained, I see no reason why XMR cannot go much higher.

It's much much higher than LTC presently, but that's not really the point I guess. LTC isn't $100 after all. Tongue

Is simple as this, if 50% of XMR would be minted in first month, few people would buy them and hold and price would go x10 or x100 in few months and not many people would got into coin at all, community would be weak. And some other coin would take XMR spot. As it is is perfect since will keep coin at low price for longer period of time + noone got coins super cheap. What you think is better is at quite some other coins, so i think is better you chose those.

This is kinda nonsense, as you are pretty apparently comparing to DRK (at 50% of current supply, which isn't even true anymore), but their community (of which I am a part as well) is quite big and active. They have the longest thread in the entire altcoin section. The other part of it is, absolutely some people got XMR at super cheap prices. I was one of them.

You are spot on about fast emission keeping price relatively low for early adopters/accumulators.
724  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:14:17 PM
I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day.

It is 20k new coins so people have something to buy. If there would be 2000, everyone would fight for them and there might be huge riots on the world. Developers thinked it all over to be perfect.
New investors buy from a pool of all available coins, not just newly minted ones. So it's actually better to have a supply of 5,000,000 and an emission of 1000 than it is to have a supply of 1,000,000 and an emission of 20,000. I really can't see any advantage to dumping 86% of your supply over 4 years, from the perspective of a few months into that timeline. Who is benefiting there? Early adopters, developers and new investors are all disadvantaged, it would seem to me.

I think the price "hurts" longer, which arguably benefits accumulators more.
725  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:09:31 PM
A very fast initial distribution, followed by a long, slow emission seems vastly superior from an investment standpoint. It just appears to be better for all involved. The developers can get a reasonable stake for a low cost, to justify their time investment, early adopters get rewarded nicely, and prospective investors can be confident that inflation won't dilute their investment. The only ones who suffer are miners, and considering that no matter what your emission, mining will generally just break even due to economics, what is really lost there?

This definition could vary a bunch. DRK was obviously VERY fast (but only about 10% of the longer term supply), XMR is just "fast" with 50% in two years. Its supply will certainly outpace DRK's sometime next year.

So you could argue XMR's distribution is faster, however DRK has to contend with major accusations that never cease from those fateful first 24 hours. I think the present price would be much higher if that hadn't occurred.
726  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 10:01:50 PM
I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day. At a arbitrarily selected value of $100, that's $2,000,000 per day, compared with only $288,000 for Darkcoin, the only thing I have besides Bitcoin. A real dilemma for me, as Monero seems to be the most legitimate CN coin.

Definitely something to consider. XMR does have a rather rapid, smooth (get it?) distribution, so inflation is constantly and rapidly slowing down.

I really wish Monero inflation wasn't so high. I'm thinking of investing, but it's hard to imagine any real price increases when there's 20,000 XMR being mined per day. At a arbitrarily selected value of $100, that's $2,000,000 per day, compared with only $288,000 for Darkcoin, the only thing I have besides Bitcoin. A real dilemma for me, as Monero seems to be the most legitimate CN coin.

You do know that the block reward is shrinking for every block though right?
Yes, but in the chart that Rpietila posted, even a year from now the emission was still insanely high.

So take the emission, imagine what you think daily influx could be, calculate expected price, and decide if it's attractive relative to current prices.
727  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 09:58:51 PM
What are some ridiculously long term predictions for this coin? What price do you expect in 20 years time or so? I think in 2050, we'll see a legit FIAT crash from dollar and euro, with asia becoming the ruler fiat, and crypto growing strong on the sidelines. My only 2 long term bets are BTC and XMR thus far.

Possibly in 2070, 100-1000 XMR could be enough to buy a little island... Smiley

You know how many little islands there are for sale vs how many XMR will exist in 50 years?   Cheesy

Wish so bad I was around the internet before stupid people could connect  Roll Eyes  Undecided

Good luck with your island there guy  Kiss

At this moment with current XMR rate there are not so many islands for sale cheaper than 100K-1000K XMR. The growth of Earth population is slowing down and can stabilize may be around 10-12 billion by 2050 if no major disaster happens. But anyway the rate of the islands development is quite high so almost obvious that they are going to be much more expensive.

Widely adopted XMR is gonna be very expensive as well and so difficult to assume that it will rise 1000 or more times in just few years.

Bitcoin is not widely adopted and yet is 250x XMR. 1000x isn't hard at all to imagine given "wide adoption".

Given real "wide adoption" BTC has 100-1000x to go. If XMR achieves that "wide adoption" that is 25000-250000x by your numbers.




I agree with your conclusions, but I don't think we're using "my" numbers. I was trying to point out that a "mere" 1000x isn't hard to imagine. You provided the "wide adoption" numbers as far as I can tell Wink (I somewhat implied 4x current BTC value would be the absolute baseline for such a thing, but am in agreement the real value would be much higher).

I just meant the number for BTC/XMR. That's obvious from the market prices though.

Of course, this is all "speculation"


Right, it's just market prices, thus my confusion.

As for speculation, I think we're in the right place! Tongue
728  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 09:47:28 PM
What are some ridiculously long term predictions for this coin? What price do you expect in 20 years time or so? I think in 2050, we'll see a legit FIAT crash from dollar and euro, with asia becoming the ruler fiat, and crypto growing strong on the sidelines. My only 2 long term bets are BTC and XMR thus far.

Possibly in 2070, 100-1000 XMR could be enough to buy a little island... Smiley

You know how many little islands there are for sale vs how many XMR will exist in 50 years?   Cheesy

Wish so bad I was around the internet before stupid people could connect  Roll Eyes  Undecided

Good luck with your island there guy  Kiss

At this moment with current XMR rate there are not so many islands for sale cheaper than 100K-1000K XMR. The growth of Earth population is slowing down and can stabilize may be around 10-12 billion by 2050 if no major disaster happens. But anyway the rate of the islands development is quite high so almost obvious that they are going to be much more expensive.

Widely adopted XMR is gonna be very expensive as well and so difficult to assume that it will rise 1000 or more times in just few years.

Bitcoin is not widely adopted and yet is 250x XMR. 1000x isn't hard at all to imagine given "wide adoption".

Given real "wide adoption" BTC has 100-1000x to go. If XMR achieves that "wide adoption" that is 25000-250000x by your numbers.




I agree with your conclusions, but I don't think we're using "my" numbers. I was trying to point out that a "mere" 1000x isn't hard to imagine. You provided the "wide adoption" numbers as far as I can tell Wink (I somewhat implied 4x current BTC value would be the absolute baseline for such a thing, but am in agreement the real value would be much higher).
729  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 09:09:05 PM
What are some ridiculously long term predictions for this coin? What price do you expect in 20 years time or so? I think in 2050, we'll see a legit FIAT crash from dollar and euro, with asia becoming the ruler fiat, and crypto growing strong on the sidelines. My only 2 long term bets are BTC and XMR thus far.

Possibly in 2070, 100-1000 XMR could be enough to buy a little island... Smiley

You know how many little islands there are for sale vs how many XMR will exist in 50 years?   Cheesy

Wish so bad I was around the internet before stupid people could connect  Roll Eyes  Undecided

Good luck with your island there guy  Kiss

At this moment with current XMR rate there are not so many islands for sale cheaper than 100K-1000K XMR. The growth of Earth population is slowing down and can stabilize may be around 10-12 billion by 2050 if no major disaster happens. But anyway the rate of the islands development is quite high so almost obvious that they are going to be much more expensive.

Widely adopted XMR is gonna be very expensive as well and so difficult to assume that it will rise 1000 or more times in just few years.

Bitcoin is not widely adopted and yet is 250x XMR. 1000x isn't hard at all to imagine given "wide adoption".
730  Alternate cryptocurrencies / Altcoin Discussion / Re: The Serious Altcoin Discussion/News Thread - No FUD, Shilling or Trolling. on: August 29, 2014, 09:06:13 PM
What are your opinions on Burst? Does it look like a coin with a positive future? https://bitcointalk.org/index.php?topic=731923.0

Nice sig. Tongue

I'm rather surprised the price isn't more pumped with all the interest it's been getting.

It seems to me to be a bigger rat race than even regular POW, so I'm not sure how I feel about it yet.
731  Alternate cryptocurrencies / Speculation (Altcoins) / Re: [XMR] Monero Speculation on: August 29, 2014, 08:30:26 PM
Is there a rich list for XMR?

I obtained about 40k back when this coin was still young, I'm curious if that makes me an XMR whale or a small fish.

Does anyone see this coin going back to 60+ price?

Do tell how a rich list would work in an untraceable currency?

That said, you have ~1.3% of current supply. I'd argue whale.
732  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 29, 2014, 08:17:29 PM
Sporkage is just putting the rules you mention into action. Same as if they were hardcoded in the first place.

Of course they had to be hardcoded in the first place for the spork to even work, but the fact that the software can be influenced by an external "switch" that can be turned on or off at any time is not in the spirit of cryptocurrencies.  I am fine with it for betas/RCs/development/whatever, but the final product should definitely not have any spork switches.


I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley

This is certainly believable, and I guess it would be a problem if a given miners/pools "chose" the same MNs over and over again, excluding other MNs. 1. However, it is better for them to be paying MNs than not at all.

Personally I've always thought the "election" process was convoluted and prone to error (given that not all MNs can necessarily always be seen by all nodes on the network) and that the coinbase transaction should simply pay the MNs who provably performed the mixing during that particular block.  Split it up among them proportionately.  The clients will choose which MNs to send to at random; or if they mess with the code to always favor certain MNs, that's fine too (although they will probably be losing some privacy if they choose to always use their own MN = shooting themselves in the foot = hopefully nobody is so stupid as to do this).  The MNs are paid for providing a service, and if they provide that service in a given block, then they should be paid in that block.  JM2C

1. I believe this should have been a fairly easy "enforcement" switch to code, but in reality wouldn't have done too much. I believe the cause of the forking to have been nodes thinking different MNs should be paid, and rejecting the blocks that paid, but didn't pay the "right" node. However, just making so 20% had to be split off or the block rejected would allow the miner to just pay themselves in a separate transaction.

I think you have an interesting idea in doing that PoSvc thing (which I believe "flare" has talked about at dct): you should be able to determine which masternode signed each denomination transaction included in the block.

It sounds very cool and elegant at first, but it too has vectors that must be considered. Nothing stops you from choosing a masternode; they just sit around waiting for inputs. So you could constantly denominate the smallest # of inputs (to minimize fees) using your own node, which would nearly guarantee its inclusion in every block for payment. This only wouldn't make sense if fees were higher than the payout.

Additionally, what happens if no denominate transaction occurs in a particular block? Is the mining node then able to keep the entire reward for himself? What then happens if he simply refused to include those transactions in his block (I'm not sure how you can force them to include transactions?).

Several other ideas are rolling around in my head, mostly in relation to masternodes somehow/sometimes having block minting authority. I need to think about it some more though.


Ok, good points.... keeping up a synchronized, agreed-upon list of MNs throughout the network is the real crux here.  Especially since it definitely needs to account for MNs dropping out of the network from time to time.  Which shouldn't really happen, but it will happen for various reasons.  So yeah, that idea definitely has some flaws that would be hard to work through.

How about this.  Each block, a group of MNs is "nominated" by the block hash.  The hash simply matches a few bits of the MN's public address... target this so that each block hash should "nominate" 5-10 MNs on average.  Then all of the nominated MNs will be required to create "ping" transactions and push them to the network within 2 blocks.  These transactions will be included in these next 2 blocks.  Take the hash of the 2nd block after the original "nomination" block, and use it to determine the winner (among the nominees who have correctly "pinged" back) of the MN prize that will be generated by the coinbase transaction in the next, 3rd block.  If for some reason a block hash doesn't match any MNs (or no MNs happen to "ping" in time -- which is equivalent in result), then there would be a fallback option such as awarding the prize to a different MN that wasn't chosen in the previous block, but was nominated and "pinged" back correctly.

This gets rid of the problem of having to keep a current, up-to-date list of all MNs throughout the network.  The MNs themselves are responsible for letting the network know that they are out there by the "ping" transactions, and they can be called upon at any time due to the random nature of the nomination process, so therefore they must be ready to quickly respond at any time.  If they miss a "ping" then they will be penalized by not being eligible for the reward the next time they are nominated.  All MN-payment-eligible addresses will have their public addresses in the blockchain immediately prior (1 or 2 blocks) to the block which pays them out, and the reward will be awarded to one of the nominees in a deterministic fashion, which eliminates confusion and rejection of blocks due to nodes not being aware of a particular MN on the network.

There might be some problems that crop up with this process due to orphan blocks.  Perhaps the ping-response-time should be set to 5 or even 10 blocks instead of 2.  But I have been chewing on this kind of idea for a while now, and I think it could work for the MNs.

Well as fate would have it, I didn't dream about this at all...

It seems to me that the distribution of masternode public keys is probably not very uniform, and therefore a (pseudo) random matching based on block hashes could result in rather uneven payments? It may be possible to mitigate this, though not 100% sure. Perhaps some additional variables in the matching algorithm could help. If it can be structured in a way to get a reasonably normal distribution, then it's actually rather elegant.
One other consideration is that it'd still be highly probable that producing an output not matching any MNs is possible. Do we just say "too bad" for those ineligible blocks?

Match on several bits along the length of the entire public address.  The address is a hash function.  Its output should be sufficiently random.

I addressed the "no match" problem above.  If there isn't a match, choose a winner among the non-winning addresses from the previous block.  If there was only one address in that block, then go back to the previous block, recursively until a block is found with multiple addresses, and choose one of the non-winning addresses from that block, using the same choosing algorithm.

I am thinking that this choosing algorithm might simply be an ordering.  Like say the block hash used to choose the winning address among the nominee addresses is A7Bg34xyz.  Take the first digit in this hash, the 7.  This means choose the 7th character in the nominee addresses.  Sort the nominee addresses by this 7th character (and carry over to the 8th character to settle ties).  Now that they are ordered, take the second digit in the hash, the 3.  This means choose the 3rd nominee address as the winner.  If there aren't 3 qualified nominees, choose the 2nd, or the 1st, etc.

The algorithm for nominating MNs could be similar, to provide for added randomness.  Take the same block hash, A7Bg34xyz.  Take the first digit in the hash, 7, and the next character after it, B.  This tells us that the 7th character in the address needs to be a 'B'.  Now go to the next digit in the hash, 3, and take the next character after it, 4.  This tells us that the 3rd character in the address needs to be a '4'.  So all MNs whose public addresses match the pattern xx4xxxBxxxxxxxx would be nominated by that block.  This algorithm could obviously be tweaked in many ways in order to generate the right number of MN addresses with each block.  Maybe the pattern match would need to be broadened to be any pattern of 4xxxB anywhere in the address.  Or only in the first 15 characters of the address.  Or the last 15 characters of the address.  Etc.  

There are a lot of variations to play with.  But it is hard for me to see a way for anybody to game this somehow by generating their address in order to be paid more or less often.  I guess if they had multiple MNs then they could generate the address of each so that there is no overlap with their other addresses, so they would never be nominated at the same time as the others.  Which would be ok.  If there was a lot of overlap then they could have multiple MNs nominated at once, which would increase their chances of winning the payment for a block in which they have multiple nominated MNs.  So it's hard for me to see a real winner there.... it seems to be equal.  Better chances of winning when nominated, versus being nominated more often.  Given that the process for both nomination and choosing the winner are essentially random as long as no single entity is controlling the mining, I don't see how you could argue that one of these options is definitely better than the other.

I like it. I'm curious how much junk it'd add to blocks with "alive pings", etc. If no MNs matched/pinged from the previous block(s), you could potentially pay a MN that had been offline for a while, but I think that's a relatively minor issue (you couldn't really code it out either, as requiring "re-pinging" would take an extra block, leaving you with no one to pay for the present block).

You still need the old MN list though, for accounting and verification purposes (hot/cold would also be impossible without it). The block finding node needs to verify all the pings are from acceptable masternodes before including them in his block. This seems like it could take us back to old sync problem, BUT since the list wouldn't need to keep track of whether or not the MNs were alive, only that they were capable of existing (i.e., signed message from DRK address with 1,000 input tx designating new MN pubkey), perhaps the sync issue would be mitigated?

That leaves us with the possible conundrum of verification discrepancies. The other nodes have to verify his block against the list or the block finder could include addresses that aren't MNs (his own made up addresses; it shouldn't be hard at all to generate on-the-fly addresses that fit the requirements with 5/1,000 expected to fit). Does the paying block finder (n+2 in your proposal I think) also verify his payee is in the list? He wouldn't need to if all the peers had verified the n block as being valid, but that could potentially bring us the forking problem again. I think he should, particularly if it's a "reused block", but his peers don't need to/shouldn't; more below (sorry this is getting kind of scattered).


I think there are compromises that could make it more than acceptable. Consider: what if there are "allowances" in the "ping" block to cover potential discrepancies in the list? Like 75% or so of the included pings must exist in the list or peers would reject it. Something like that should make potential forks from list discrepancies very rare at worst, non-existent at best. Then, at block n+2, the payer could again verify his payee is in the list (so he doesn't pay the "naughty" address the n finder included to try to pay himself), but his peers wouldn't (obviously payee must be from block n), avoiding forks over list discrepancies there! Additionally, in the case of a "rerun", the payer would be able to check his payee is still a valid node.

For this to work, the payee wouldn't be deterministic, but chosen at random from n by n+2 block finder. He could of course pay himself, but only if he was in the list to start with (so it seems very marginally beneficial to him). The other consideration is that if "Pool A" found both n and n+2, he could get away with paying whoever, but that seems minor to me again (others might disagree).


Thoughts? Perhaps an MN list without the "alive" state included would be stable enough so as to not cause many (if any) discrepancies and thus forks, and all my thinking is for naut? (It's fun following these trains of thought regardless though Grin)

Edit: sorry for WoT folks; baddw and I are just out on the playground here.

No, you don't really need the list anymore.  The "ping" transaction must be signed by a valid MN holding 1000 DRK.  Verifying this would be no more time-consuming than verifying any other transaction.  (If I try to spend 100BTC from an address that doesn't have 100BTC, this transaction is rejected by any and every node on the network.  If I try to make a MN "ping" from an address with less than 1000 DRK and/or that has not previously announced itself as a cold-wallet MN, it will be rejected as well.  If a bad miner tries to include a "ping" from an address that is not a verified valid MN, this block will be rejected for containing an invalid transaction.)

The paying block finder only has to verify that his payee has sent a valid "ping" transaction within the past 2 blocks.  Again, the "list" doesn't come into play.  If you wanted to create a "list" of MNs then you would simply scan the blockchain for all valid "ping" transactions within the past X amount of time (2-3 days, maybe?)  And you would drop any who should have responded to a more recent "nomination" but didn't.  After a full scan of the blockchain, you would have a full list of all MNs ever seen on the network, and when is the last time that they should have pinged, and when is the last time that they actually pinged.  

Trying to keep a complete, correct, fully-up-to-date "list" in real-time is an exercise in futility.  Without some centralized gatekeeper, the updated list cannot be propagated and agreed across the network quickly enough to reliably keep up with MN payments and not have some of them rejected by some nodes.  It is this difficulty in immediate and constant consensus that the blockchain was created to solve.  The blockchain can provide a method to create a reliable-enough, complete-enough, up-to-date-enough "list" of un-rejectable MNs much as it is already used to create a "list" of un-rejectable unspent outputs.

Am I missing something here? Where is such an "announcement" stored? A masternode can only sign its ping with its provided private key, which has no relation to a DRK address holding 1k except via signed message by the actual address giving authority for said masternode key to act on its behalf.

Perhaps the solution is to have additional space in the blockchain for storing these messages (this is what you were thinking all along, isn't it (you're a genius!))? They'd exist for all eternity unless pruned at some point in the future (though that would need some workaround to keep the blocks paying them in the past valid when the evidence of their being a masternode is removed), but I'm not sure that matters... You would actually be able to make a "list" of sorts then based on the messages in the blockchain, but it wouldn't vary at all from node to node! Assume the same address could initiate a stop command in a future block to not have his old MN clutter up the payments by never responding. However, I don't see any incentive for people to do this, so there needs to be some mechanism where the block finder can insert the stop message on behalf of the masternode. You might think the lingering nodes wouldn't be an issue, but something absolutely has to be able to issue a "stop" command in case the 1,000 DRK move. Unless you could possibly modify the protocol to have nodes reject any tx formed out of the 1,000 DRK input without a "masternode stop" command included in a prior block? If you allow for removal after X number of missed pings, you have the (tiny) vector of the block finder being able to remove a masternode if he found the right blocks, but I don't know of any incentive to do this.

Now we're just stuck with n block finder (that happens to have his node in the list of candidates) pretending he didn't get pings from some or all of the other candidates. Perhaps this vector is small enough to just discard.

This is actually sounding like a workable solution! Everyone give it up for baddw! (*crickets*, no one is listening to us banter)

I wrote most of this before fully comprehending what you wrote in your last paragraph, which is basically suggesting the same thing I'm going over, right?

Edit: by "list", I only mean abstractly in the form the blockchain provides/would provide..

Edit2: some typos, also sorry again thread for the huge mess this has become Tongue

Edit3: just noticed in a previous post (quoted above) I spelled "naught" as "naut". Subliminal coin advertising, anyone? Grin
733  Alternate cryptocurrencies / Altcoin Discussion / Re: The Serious Altcoin Discussion/News Thread - No FUD, Shilling or Trolling. on: August 29, 2014, 07:20:08 PM
1. It worked out well for Linux, it was developed by people giving countless hours to code it and never were paid.

2. I guess we have different opinions on what true worth is.

1. It worked out WAY better for Microsoft and Apple.

2. Now we're talking about "true" worth? What does that even mean? [NTS] Stuff is worth what someone is willing to pay.

Actually no. With the exception of the desktop and Apple's share of the mobile virtually everywhere else (from in vehicle systems to web servers to supercomputers) it is operating systems with Linux kernels such as GNU/Linux and Android/Linux that dominate. In the mobile market the latter is literally gaining on Apple by leaps and bounds. Virtually all of Microsoft’s and Apple's competitors from Goolge to eBay from Facebook to Twitter are built on top of FLOSS operating systems. The best part is the financial markets buy or sell AAPL or MSFT on any major financial market and the trade will be executed using servers running GNU/Linux. Yes this includes software originally written by projects started non other than Richard Stallman https://en.wikipedia.org/wiki/Richard_Stallman and this means even Bill Gates has to rely on FLOSS operating systems in order to sell his MSFT shares to fund his foundation.

Oh. Sorry I wasn't clear. I don't support MS or Apple (support might be a loose term; I own not a single Apple product, but do own some MS products). FLOSS obviously is getting more and more use in all corners. I much prefer Android over iOS (I also don't get the "gaining on" unless you mean people's opinions of it? It is way more widely used than iOS.) and will probably do the same with a Linux flavor for PC in the future (have to support and use MS at work + I like PC games).

I was referring to them making 100s of billions of dollars.

Edit: (below) sorry for off-topic. Let's get back to altcoins.
734  Alternate cryptocurrencies / Altcoin Discussion / Re: The Serious Altcoin Discussion/News Thread - No FUD, Shilling or Trolling. on: August 29, 2014, 05:32:59 PM
1. It worked out well for Linux, it was developed by people giving countless hours to code it and never were paid.

2. I guess we have different opinions on what true worth is.

1. It worked out WAY better for Microsoft and Apple.

2. Now we're talking about "true" worth? What does that even mean? [NTS] Stuff is worth what someone is willing to pay.
735  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 29, 2014, 05:24:19 PM
Sporkage is just putting the rules you mention into action. Same as if they were hardcoded in the first place.

Of course they had to be hardcoded in the first place for the spork to even work, but the fact that the software can be influenced by an external "switch" that can be turned on or off at any time is not in the spirit of cryptocurrencies.  I am fine with it for betas/RCs/development/whatever, but the final product should definitely not have any spork switches.


I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley

This is certainly believable, and I guess it would be a problem if a given miners/pools "chose" the same MNs over and over again, excluding other MNs. 1. However, it is better for them to be paying MNs than not at all.

Personally I've always thought the "election" process was convoluted and prone to error (given that not all MNs can necessarily always be seen by all nodes on the network) and that the coinbase transaction should simply pay the MNs who provably performed the mixing during that particular block.  Split it up among them proportionately.  The clients will choose which MNs to send to at random; or if they mess with the code to always favor certain MNs, that's fine too (although they will probably be losing some privacy if they choose to always use their own MN = shooting themselves in the foot = hopefully nobody is so stupid as to do this).  The MNs are paid for providing a service, and if they provide that service in a given block, then they should be paid in that block.  JM2C

1. I believe this should have been a fairly easy "enforcement" switch to code, but in reality wouldn't have done too much. I believe the cause of the forking to have been nodes thinking different MNs should be paid, and rejecting the blocks that paid, but didn't pay the "right" node. However, just making so 20% had to be split off or the block rejected would allow the miner to just pay themselves in a separate transaction.

I think you have an interesting idea in doing that PoSvc thing (which I believe "flare" has talked about at dct): you should be able to determine which masternode signed each denomination transaction included in the block.

It sounds very cool and elegant at first, but it too has vectors that must be considered. Nothing stops you from choosing a masternode; they just sit around waiting for inputs. So you could constantly denominate the smallest # of inputs (to minimize fees) using your own node, which would nearly guarantee its inclusion in every block for payment. This only wouldn't make sense if fees were higher than the payout.

Additionally, what happens if no denominate transaction occurs in a particular block? Is the mining node then able to keep the entire reward for himself? What then happens if he simply refused to include those transactions in his block (I'm not sure how you can force them to include transactions?).

Several other ideas are rolling around in my head, mostly in relation to masternodes somehow/sometimes having block minting authority. I need to think about it some more though.


Ok, good points.... keeping up a synchronized, agreed-upon list of MNs throughout the network is the real crux here.  Especially since it definitely needs to account for MNs dropping out of the network from time to time.  Which shouldn't really happen, but it will happen for various reasons.  So yeah, that idea definitely has some flaws that would be hard to work through.

How about this.  Each block, a group of MNs is "nominated" by the block hash.  The hash simply matches a few bits of the MN's public address... target this so that each block hash should "nominate" 5-10 MNs on average.  Then all of the nominated MNs will be required to create "ping" transactions and push them to the network within 2 blocks.  These transactions will be included in these next 2 blocks.  Take the hash of the 2nd block after the original "nomination" block, and use it to determine the winner (among the nominees who have correctly "pinged" back) of the MN prize that will be generated by the coinbase transaction in the next, 3rd block.  If for some reason a block hash doesn't match any MNs (or no MNs happen to "ping" in time -- which is equivalent in result), then there would be a fallback option such as awarding the prize to a different MN that wasn't chosen in the previous block, but was nominated and "pinged" back correctly.

This gets rid of the problem of having to keep a current, up-to-date list of all MNs throughout the network.  The MNs themselves are responsible for letting the network know that they are out there by the "ping" transactions, and they can be called upon at any time due to the random nature of the nomination process, so therefore they must be ready to quickly respond at any time.  If they miss a "ping" then they will be penalized by not being eligible for the reward the next time they are nominated.  All MN-payment-eligible addresses will have their public addresses in the blockchain immediately prior (1 or 2 blocks) to the block which pays them out, and the reward will be awarded to one of the nominees in a deterministic fashion, which eliminates confusion and rejection of blocks due to nodes not being aware of a particular MN on the network.

There might be some problems that crop up with this process due to orphan blocks.  Perhaps the ping-response-time should be set to 5 or even 10 blocks instead of 2.  But I have been chewing on this kind of idea for a while now, and I think it could work for the MNs.

Well as fate would have it, I didn't dream about this at all...

It seems to me that the distribution of masternode public keys is probably not very uniform, and therefore a (pseudo) random matching based on block hashes could result in rather uneven payments? It may be possible to mitigate this, though not 100% sure. Perhaps some additional variables in the matching algorithm could help. If it can be structured in a way to get a reasonably normal distribution, then it's actually rather elegant.
One other consideration is that it'd still be highly probable that producing an output not matching any MNs is possible. Do we just say "too bad" for those ineligible blocks?

Match on several bits along the length of the entire public address.  The address is a hash function.  Its output should be sufficiently random.

I addressed the "no match" problem above.  If there isn't a match, choose a winner among the non-winning addresses from the previous block.  If there was only one address in that block, then go back to the previous block, recursively until a block is found with multiple addresses, and choose one of the non-winning addresses from that block, using the same choosing algorithm.

I am thinking that this choosing algorithm might simply be an ordering.  Like say the block hash used to choose the winning address among the nominee addresses is A7Bg34xyz.  Take the first digit in this hash, the 7.  This means choose the 7th character in the nominee addresses.  Sort the nominee addresses by this 7th character (and carry over to the 8th character to settle ties).  Now that they are ordered, take the second digit in the hash, the 3.  This means choose the 3rd nominee address as the winner.  If there aren't 3 qualified nominees, choose the 2nd, or the 1st, etc.

The algorithm for nominating MNs could be similar, to provide for added randomness.  Take the same block hash, A7Bg34xyz.  Take the first digit in the hash, 7, and the next character after it, B.  This tells us that the 7th character in the address needs to be a 'B'.  Now go to the next digit in the hash, 3, and take the next character after it, 4.  This tells us that the 3rd character in the address needs to be a '4'.  So all MNs whose public addresses match the pattern xx4xxxBxxxxxxxx would be nominated by that block.  This algorithm could obviously be tweaked in many ways in order to generate the right number of MN addresses with each block.  Maybe the pattern match would need to be broadened to be any pattern of 4xxxB anywhere in the address.  Or only in the first 15 characters of the address.  Or the last 15 characters of the address.  Etc.  

There are a lot of variations to play with.  But it is hard for me to see a way for anybody to game this somehow by generating their address in order to be paid more or less often.  I guess if they had multiple MNs then they could generate the address of each so that there is no overlap with their other addresses, so they would never be nominated at the same time as the others.  Which would be ok.  If there was a lot of overlap then they could have multiple MNs nominated at once, which would increase their chances of winning the payment for a block in which they have multiple nominated MNs.  So it's hard for me to see a real winner there.... it seems to be equal.  Better chances of winning when nominated, versus being nominated more often.  Given that the process for both nomination and choosing the winner are essentially random as long as no single entity is controlling the mining, I don't see how you could argue that one of these options is definitely better than the other.

I like it. I'm curious how much junk it'd add to blocks with "alive pings", etc. If no MNs matched/pinged from the previous block(s), you could potentially pay a MN that had been offline for a while, but I think that's a relatively minor issue (you couldn't really code it out either, as requiring "re-pinging" would take an extra block, leaving you with no one to pay for the present block).

You still need the old MN list though, for accounting and verification purposes (hot/cold would also be impossible without it). The block finding node needs to verify all the pings are from acceptable masternodes before including them in his block. This seems like it could take us back to old sync problem, BUT since the list wouldn't need to keep track of whether or not the MNs were alive, only that they were capable of existing (i.e., signed message from DRK address with 1,000 input tx designating new MN pubkey), perhaps the sync issue would be mitigated?

That leaves us with the possible conundrum of verification discrepancies. The other nodes have to verify his block against the list or the block finder could include addresses that aren't MNs (his own made up addresses; it shouldn't be hard at all to generate on-the-fly addresses that fit the requirements with 5/1,000 expected to fit). Does the paying block finder (n+2 in your proposal I think) also verify his payee is in the list? He wouldn't need to if all the peers had verified the n block as being valid, but that could potentially bring us the forking problem again. I think he should, particularly if it's a "reused block", but his peers don't need to/shouldn't; more below (sorry this is getting kind of scattered).


I think there are compromises that could make it more than acceptable. Consider: what if there are "allowances" in the "ping" block to cover potential discrepancies in the list? Like 75% or so of the included pings must exist in the list or peers would reject it. Something like that should make potential forks from list discrepancies very rare at worst, non-existent at best. Then, at block n+2, the payer could again verify his payee is in the list (so he doesn't pay the "naughty" address the n finder included to try to pay himself), but his peers wouldn't (obviously payee must be from block n), avoiding forks over list discrepancies there! Additionally, in the case of a "rerun", the payer would be able to check his payee is still a valid node.

For this to work, the payee wouldn't be deterministic, but chosen at random from n by n+2 block finder. He could of course pay himself, but only if he was in the list to start with (so it seems very marginally beneficial to him). The other consideration is that if "Pool A" found both n and n+2, he could get away with paying whoever, but that seems minor to me again (others might disagree).


Thoughts? Perhaps an MN list without the "alive" state included would be stable enough so as to not cause many (if any) discrepancies and thus forks, and all my thinking is for naut? (It's fun following these trains of thought regardless though Grin)

Edit: sorry for WoT folks; baddw and I are just out on the playground here.
736  Alternate cryptocurrencies / Altcoin Discussion / Re: The Serious Altcoin Discussion/News Thread - No FUD, Shilling or Trolling. on: August 29, 2014, 04:00:11 PM
I posted this before but it fits well here,  just my thoughts about crypto.
[...]

Cryptos talk about helping people.  How?  From what I have seen so far is that if you have money to buy into IPO's,  calls for participation or mining equipment then cryptos are for you. How does this help people in third world countries? It looks the same system that we have now, those that have money get more while those that don't get left behind. [1] If crypto devs really cared they would either fund their own projects or ask for donations with no promise of return. Look at most coin threads and most of the talk is about the price of the coin, "my coin went up to. 00005, heading to da moon!", sorry but until average joe [2] uses your coin to buy fuel, clothes etc then your coin is worthless.

To the devs with huge egos the same goes to you, until your world changing creation actually does, lose the attitude the only people you are impressing are the sheep.

1. This seems incredibly naive to me, to be a dev you must be all philanthropy? Nary a hope of supporting yourself with your work? People don't really donate in meaningful capacities here. Even XMR, the altcoin that has more "bitcoiners" interested than any other, is struggling for donations (the people doing the coding generally don't work for free). Check out miner developers: they make orders of magnitude more keeping their miners closed and/or private because no one donates anything meaningful.

Even if all they wanted to do was give away their time and "help people", it'd arguably be better for them to behave the same as before and donate their earnings to projects they feel are worthwhile, rather than giving it away for free to all the crypto-community and letting them keep the profits. Are you giving away your mining earnings? Market appreciation earnings?

2. Interesting sentiment. The market doesn't agree with you though.
737  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 29, 2014, 02:42:24 PM
Sporkage is just putting the rules you mention into action. Same as if they were hardcoded in the first place.

Of course they had to be hardcoded in the first place for the spork to even work, but the fact that the software can be influenced by an external "switch" that can be turned on or off at any time is not in the spirit of cryptocurrencies.  I am fine with it for betas/RCs/development/whatever, but the final product should definitely not have any spork switches.


I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley

This is certainly believable, and I guess it would be a problem if a given miners/pools "chose" the same MNs over and over again, excluding other MNs. 1. However, it is better for them to be paying MNs than not at all.

Personally I've always thought the "election" process was convoluted and prone to error (given that not all MNs can necessarily always be seen by all nodes on the network) and that the coinbase transaction should simply pay the MNs who provably performed the mixing during that particular block.  Split it up among them proportionately.  The clients will choose which MNs to send to at random; or if they mess with the code to always favor certain MNs, that's fine too (although they will probably be losing some privacy if they choose to always use their own MN = shooting themselves in the foot = hopefully nobody is so stupid as to do this).  The MNs are paid for providing a service, and if they provide that service in a given block, then they should be paid in that block.  JM2C

1. I believe this should have been a fairly easy "enforcement" switch to code, but in reality wouldn't have done too much. I believe the cause of the forking to have been nodes thinking different MNs should be paid, and rejecting the blocks that paid, but didn't pay the "right" node. However, just making so 20% had to be split off or the block rejected would allow the miner to just pay themselves in a separate transaction.

I think you have an interesting idea in doing that PoSvc thing (which I believe "flare" has talked about at dct): you should be able to determine which masternode signed each denomination transaction included in the block.

It sounds very cool and elegant at first, but it too has vectors that must be considered. Nothing stops you from choosing a masternode; they just sit around waiting for inputs. So you could constantly denominate the smallest # of inputs (to minimize fees) using your own node, which would nearly guarantee its inclusion in every block for payment. This only wouldn't make sense if fees were higher than the payout.

Additionally, what happens if no denominate transaction occurs in a particular block? Is the mining node then able to keep the entire reward for himself? What then happens if he simply refused to include those transactions in his block (I'm not sure how you can force them to include transactions?).

Several other ideas are rolling around in my head, mostly in relation to masternodes somehow/sometimes having block minting authority. I need to think about it some more though.


Ok, good points.... keeping up a synchronized, agreed-upon list of MNs throughout the network is the real crux here.  Especially since it definitely needs to account for MNs dropping out of the network from time to time.  Which shouldn't really happen, but it will happen for various reasons.  So yeah, that idea definitely has some flaws that would be hard to work through.

How about this.  Each block, a group of MNs is "nominated" by the block hash.  The hash simply matches a few bits of the MN's public address... target this so that each block hash should "nominate" 5-10 MNs on average.  Then all of the nominated MNs will be required to create "ping" transactions and push them to the network within 2 blocks.  These transactions will be included in these next 2 blocks.  Take the hash of the 2nd block after the original "nomination" block, and use it to determine the winner (among the nominees who have correctly "pinged" back) of the MN prize that will be generated by the coinbase transaction in the next, 3rd block.  If for some reason a block hash doesn't match any MNs (or no MNs happen to "ping" in time -- which is equivalent in result), then there would be a fallback option such as awarding the prize to a different MN that wasn't chosen in the previous block, but was nominated and "pinged" back correctly.

This gets rid of the problem of having to keep a current, up-to-date list of all MNs throughout the network.  The MNs themselves are responsible for letting the network know that they are out there by the "ping" transactions, and they can be called upon at any time due to the random nature of the nomination process, so therefore they must be ready to quickly respond at any time.  If they miss a "ping" then they will be penalized by not being eligible for the reward the next time they are nominated.  All MN-payment-eligible addresses will have their public addresses in the blockchain immediately prior (1 or 2 blocks) to the block which pays them out, and the reward will be awarded to one of the nominees in a deterministic fashion, which eliminates confusion and rejection of blocks due to nodes not being aware of a particular MN on the network.

There might be some problems that crop up with this process due to orphan blocks.  Perhaps the ping-response-time should be set to 5 or even 10 blocks instead of 2.  But I have been chewing on this kind of idea for a while now, and I think it could work for the MNs.

Well as fate would have it, I didn't dream about this at all...

It seems to me that the distribution of masternode public keys is probably not very uniform, and therefore a (pseudo) random matching based on block hashes could result in rather uneven payments? It may be possible to mitigate this, though not 100% sure. Perhaps some additional variables in the matching algorithm could help. If it can be structured in a way to get a reasonably normal distribution, then it's actually rather elegant.
One other consideration is that it'd still be highly probable that producing an output not matching any MNs is possible. Do we just say "too bad" for those ineligible blocks?
738  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 29, 2014, 05:57:53 AM
Sporkage is just putting the rules you mention into action. Same as if they were hardcoded in the first place.

Of course they had to be hardcoded in the first place for the spork to even work, but the fact that the software can be influenced by an external "switch" that can be turned on or off at any time is not in the spirit of cryptocurrencies.  I am fine with it for betas/RCs/development/whatever, but the final product should definitely not have any spork switches.


I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley

This is certainly believable, and I guess it would be a problem if a given miners/pools "chose" the same MNs over and over again, excluding other MNs. 1. However, it is better for them to be paying MNs than not at all.

Personally I've always thought the "election" process was convoluted and prone to error (given that not all MNs can necessarily always be seen by all nodes on the network) and that the coinbase transaction should simply pay the MNs who provably performed the mixing during that particular block.  Split it up among them proportionately.  The clients will choose which MNs to send to at random; or if they mess with the code to always favor certain MNs, that's fine too (although they will probably be losing some privacy if they choose to always use their own MN = shooting themselves in the foot = hopefully nobody is so stupid as to do this).  The MNs are paid for providing a service, and if they provide that service in a given block, then they should be paid in that block.  JM2C

1. I believe this should have been a fairly easy "enforcement" switch to code, but in reality wouldn't have done too much. I believe the cause of the forking to have been nodes thinking different MNs should be paid, and rejecting the blocks that paid, but didn't pay the "right" node. However, just making so 20% had to be split off or the block rejected would allow the miner to just pay themselves in a separate transaction.

I think you have an interesting idea in doing that PoSvc thing (which I believe "flare" has talked about at dct): you should be able to determine which masternode signed each denomination transaction included in the block.

It sounds very cool and elegant at first, but it too has vectors that must be considered. Nothing stops you from choosing a masternode; they just sit around waiting for inputs. So you could constantly denominate the smallest # of inputs (to minimize fees) using your own node, which would nearly guarantee its inclusion in every block for payment. This only wouldn't make sense if fees were higher than the payout.

Additionally, what happens if no denominate transaction occurs in a particular block? Is the mining node then able to keep the entire reward for himself? What then happens if he simply refused to include those transactions in his block (I'm not sure how you can force them to include transactions?).

Several other ideas are rolling around in my head, mostly in relation to masternodes somehow/sometimes having block minting authority. I need to think about it some more though.


Ok, good points.... keeping up a synchronized, agreed-upon list of MNs throughout the network is the real crux here.  Especially since it definitely needs to account for MNs dropping out of the network from time to time.  Which shouldn't really happen, but it will happen for various reasons.  So yeah, that idea definitely has some flaws that would be hard to work through.

How about this.  Each block, a group of MNs is "nominated" by the block hash.  The hash simply matches a few bits of the MN's public address... target this so that each block hash should "nominate" 5-10 MNs on average.  Then all of the nominated MNs will be required to create "ping" transactions and push them to the network within 2 blocks.  These transactions will be included in these next 2 blocks.  Take the hash of the 2nd block after the original "nomination" block, and use it to determine the winner (among the nominees who have correctly "pinged" back) of the MN prize that will be generated by the coinbase transaction in the next, 3rd block.  If for some reason a block hash doesn't match any MNs (or no MNs happen to "ping" in time -- which is equivalent in result), then there would be a fallback option such as awarding the prize to a different MN that wasn't chosen in the previous block, but was nominated and "pinged" back correctly.

This gets rid of the problem of having to keep a current, up-to-date list of all MNs throughout the network.  The MNs themselves are responsible for letting the network know that they are out there by the "ping" transactions, and they can be called upon at any time due to the random nature of the nomination process, so therefore they must be ready to quickly respond at any time.  If they miss a "ping" then they will be penalized by not being eligible for the reward the next time they are nominated.  All MN-payment-eligible addresses will have their public addresses in the blockchain immediately prior (1 or 2 blocks) to the block which pays them out, and the reward will be awarded to one of the nominees in a deterministic fashion, which eliminates confusion and rejection of blocks due to nodes not being aware of a particular MN on the network.

There might be some problems that crop up with this process due to orphan blocks.  Perhaps the ping-response-time should be set to 5 or even 10 blocks instead of 2.  But I have been chewing on this kind of idea for a while now, and I think it could work for the MNs.

Will think about this as I dream tonight, and respond in the morning! Grin
739  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 29, 2014, 02:28:55 AM
Sporkage is just putting the rules you mention into action. Same as if they were hardcoded in the first place.

Of course they had to be hardcoded in the first place for the spork to even work, but the fact that the software can be influenced by an external "switch" that can be turned on or off at any time is not in the spirit of cryptocurrencies.  I am fine with it for betas/RCs/development/whatever, but the final product should definitely not have any spork switches.


I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley

This is certainly believable, and I guess it would be a problem if a given miners/pools "chose" the same MNs over and over again, excluding other MNs. 1. However, it is better for them to be paying MNs than not at all.

Personally I've always thought the "election" process was convoluted and prone to error (given that not all MNs can necessarily always be seen by all nodes on the network) and that the coinbase transaction should simply pay the MNs who provably performed the mixing during that particular block.  Split it up among them proportionately.  The clients will choose which MNs to send to at random; or if they mess with the code to always favor certain MNs, that's fine too (although they will probably be losing some privacy if they choose to always use their own MN = shooting themselves in the foot = hopefully nobody is so stupid as to do this).  The MNs are paid for providing a service, and if they provide that service in a given block, then they should be paid in that block.  JM2C

1. I believe this should have been a fairly easy "enforcement" switch to code, but in reality wouldn't have done too much. I believe the cause of the forking to have been nodes thinking different MNs should be paid, and rejecting the blocks that paid, but didn't pay the "right" node. However, just making so 20% had to be split off or the block rejected would allow the miner to just pay themselves in a separate transaction.

I think you have an interesting idea in doing that PoSvc thing (which I believe "flare" has talked about at dct): you should be able to determine which masternode signed each denomination transaction included in the block.

It sounds very cool and elegant at first, but it too has vectors that must be considered. Nothing stops you from choosing a masternode; they just sit around waiting for inputs. So you could constantly denominate the smallest # of inputs (to minimize fees) using your own node, which would nearly guarantee its inclusion in every block for payment. This only wouldn't make sense if fees were higher than the payout.

Additionally, what happens if no denominate transaction occurs in a particular block? Is the mining node then able to keep the entire reward for himself? What then happens if he simply refused to include those transactions in his block (I'm not sure how you can force them to include transactions?).

Several other ideas are rolling around in my head, mostly in relation to masternodes somehow/sometimes having block minting authority. I need to think about it some more though.
740  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | DarkSend+ Is Live! on: August 28, 2014, 11:46:29 PM
Enforcement, in itself, is just a workaround to ensure compliance. In other words, enforcement is not a good solution. What is needed is a protocol-based solution that works without forking and is non-voluntary.
+1

Why not use MN with X11+ as pool.


I understand the need for enforcement, but I actually don't like it.

The lurking thought is that it demonstrates a level of control over the network.  That has many unintended consequences.

For example,

* Those who would spin, could spin a view around the reality of decentralisation
* Those who would regulate, could spin a view around administration of a network

If we do it, I hope we can nuke that part of the code soon after it serves its purpose.

ALL nodes on the network are responsible for enforcing the propriety of ALL blocks mined in ALL Bitcoin-derived crypto-currencies.  Hash doesn't match the block? Reject.  Block contains an invalid transaction? (e.g. improperly signed?)  Reject.  Block doesn't conform to formatting specifications? Reject.

Of course it represents a level of control over the network.  That is the entire point: that the network behaves according to a specified set of rules, which are clearly implemented in the software and spelled out in the source code.  Each node (whether mining, masternode, or just an end-user wallet) acts independently to implement all of these rules, and to reject bad blocks and/or transactions before they propagate throughout the network.

Enforcing Masternode payments should not be rocket science.  But it will require a hard fork.  The spork method (which, IIRC, basically requires a 'switch' being thrown by Evan) implies a method of control that could possibly make people uncomfortable.

I don't believe enforcement was ever difficult to implement, I think the problems resulted from the payment/election code sometimes causing different nodes to believe different masternodes should be paid. So when enforcement was switched on (via hard fork), little forks started emerging because there wasn't consensus.

That is what I understand to have been happening; could've been something else though. Smiley
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!