Bitcoin Forum
November 14, 2024, 07:30:18 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 [2844] 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 ... 7012 »
  Print  
Author Topic: [ANN][DASH] Dash (dash.org) | First Self-Funding Self-Governing Crypto Currency  (Read 9723490 times)
ddink7
Legendary
*
Offline Offline

Activity: 1120
Merit: 1000



View Profile
August 29, 2014, 04:27:57 PM
 #56861

Why you guy are so scared ? Little price drop huh ? Lets talk price right now.
What are your predictions ?
Le me tellyou mine :
Two weeks after RC5 one DRK is going to cost 0.045 BTCand rising !

I don't see how RC5 is going to drive the price up. Unless some big holders stop dumping their coins the bearish trend will continue.

RC5 will mean DarkSend+ is open source and then the marketing will commence... Or soon after that anyway...

Nobody trust close source . RC5 and the open source is going to be the start of the race !

I'm thinking about opening the source at release of RC5. I've actually been having various close friends of mine look at the source and no one sees anything seriously wrong with it besides some organizational issues (which I'm working on now). I believe we're ready to go.



Can we infer from this that the Kristov review is going well and possibly nearing completion?

Dash - Digital Cash
https://www.dash.org/
safepalm
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
August 29, 2014, 04:32:03 PM
 #56862

I've been a long time lurker and I've recently set up a couple of masternodes.

On https://drk.mn/ I can see them as 'Active' but the port check status is 'Closed'.

Can someone tell me if this is OK or if I should be worried?  Normally the masternode should not appear as 'Active' if the port is really closed, I guess?



When does it say it was last checked? How long have they been up? Did you get 1 when after grepping your ip?

It was last checked about 30 minutes ago, the masternodes have been up 2 and 3 hours respectively (I restarted the first one because I thought I screwed up).  Both masternodes are listed with :1 behind the ip.


The port 9999 must be open on the masternodes. Can you telnet the port and obtain a connection?

I figured it out; I had an issue with my port configuration.  Everything is looking good now.  Thanks to those who helped!
oblox
Legendary
*
Offline Offline

Activity: 1442
Merit: 1018


View Profile
August 29, 2014, 04:50:13 PM
 #56863


Initial Board of directors membership:

1. Evan Duffield
2. Edward Moncada
3. Fernando Gutierrez Mosquera
4. Christopher Carlo Rimoldi
5. Harold Boo

I believe #3 is btc user fernando and #4 is eltito. What do we know about #2 and #5?

Also: is there a public charter, vision, mission statement?


Correct about Fernado and Eltito. Edward represents some of the largest Darkcoin investors and Harold is a long term Darkcoin supporter and attorney who helped setup the foundation. We've setup the foundation to equally represent all aspects of the coin (Development, Legal, Investment and Community). We'll be releasing much more detailed information with RC5



Its that time again, when we have a little giggle and pat our backs for hodling.

Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Not without completely overhauling it. If you don't understand why, please look back a page or two where I dabbled on this.
Minotaur26
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000


View Profile
August 29, 2014, 05:03:41 PM
 #56864


Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Open source is about tranparency and confidence.

BTC foundation I don't really know.

Confused masses need to learn how to take care of themselves  Roll Eyes

An official legal entity introduces formality to the coin, so that the foundation can act on the best interest of darkcoin, and do things like hire pr services, lobby, promote Darkcoin with potential investor, services, exchanges, etc.  It will help to advance the coin in a formal way.  A serious project, cant grow working just out of an internet forum. It also gives the project a new level of formality that protects investors. In the hypothetical case that the developers would do something wrong, you could sue the foundation and they would be liable, that shows a level of commitment that will raise confidence. As opposed to other coins where you don’t even know who the developers are.  The introduction of the foundation is a major step in the right direction and will lead to a structured effort to promote the coin. Looking forward to helping in the foundation and contributing anyway I can. Very exciting.
Lauda
Legendary
*
Offline Offline

Activity: 2674
Merit: 2965


Terminated.


View Profile WWW
August 29, 2014, 05:05:59 PM
 #56865

Well I never though that the market cap proves if the coin is useful or whatever. Look at Litecoin, it's development is 'crappy', and it has no features what so ever, yet the market cap is high.
Why is this? They gained some adoption and a wide audience that holds and believes in the coin.
DarkCoin shall need more marketing after future releases, and we should be set.

"The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
😼 Bitcoin Core (onion)
Jestah
Sr. Member
****
Offline Offline

Activity: 426
Merit: 250


View Profile
August 29, 2014, 05:07:53 PM
 #56866


Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Open source is about tranparency and confidence.

BTC foundation I don't really know.

Confused masses need to learn how to take care of themselves  Roll Eyes

An official legal entity introduces formality to the coin, so that the foundation can act on the best interest of darkcoin, and do things like hire pr services, lobby, promote Darkcoin with potential investor, services, exchanges, etc.  It will help to advance the coin in a formal way.  A serious project, cant grow working just out of an internet forum. It also gives the project a new level of formality that protects investors. In the hypothetical case that the developers would do something wrong, you could sue the foundation and they would be liable, that shows a level of commitment that will raise confidence. As opposed to other coins where you don’t even know who the developers are.  The introduction of the foundation is a major step in the right direction and will lead to a structured effort to promote the coin. Looking forward to helping in the foundation and contributing anyway I can. Very exciting.

Thank you for that explanation.  Smiley
luigi1111
Legendary
*
Offline Offline

Activity: 1105
Merit: 1000



View Profile
August 29, 2014, 05:24:19 PM
 #56867

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.
tombtc
Sr. Member
****
Offline Offline

Activity: 471
Merit: 250


View Profile
August 29, 2014, 05:33:55 PM
 #56868

Does that mean Edward the pro poker player is the no.1 richest wallet Smiley He liked to play with numbers, didn't he?
splawik21
Legendary
*
Offline Offline

Activity: 1372
Merit: 1005


DASH is the future of crypto payments!


View Profile
August 29, 2014, 05:36:16 PM
 #56869

How is it possible start masternode on ver 9.12.32???
http://scr.hu/1ame/r0980

EDIT: LOL I`ve received 1,6DRK for MN payment super Smiley)
https://chainz.cryptoid.info/drk/block.dws?127223.htm

BE SMART, USE DASH ( ͡° ͜ʖ ͡°)
fernando
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500


View Profile
August 29, 2014, 05:45:59 PM
 #56870


Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Open source is about tranparency and confidence.

BTC foundation I don't really know.

Confused masses need to learn how to take care of themselves  Roll Eyes

An official legal entity introduces formality to the coin, so that the foundation can act on the best interest of darkcoin, and do things like hire pr services, lobby, promote Darkcoin with potential investor, services, exchanges, etc.  It will help to advance the coin in a formal way.  A serious project, cant grow working just out of an internet forum. It also gives the project a new level of formality that protects investors. In the hypothetical case that the developers would do something wrong, you could sue the foundation and they would be liable, that shows a level of commitment that will raise confidence. As opposed to other coins where you don’t even know who the developers are.  The introduction of the foundation is a major step in the right direction and will lead to a structured effort to promote the coin. Looking forward to helping in the foundation and contributing anyway I can. Very exciting.

We have only published one of announcements required by law and you are already thinking in suing the foundation!!! I'm scared  Wink

Can't say much until the announcement with details, but we are gonna need a lot of help, thanks for offering  Cheesy
erok
Hero Member
*****
Offline Offline

Activity: 896
Merit: 1000


Avatars are overrated.


View Profile
August 29, 2014, 05:46:05 PM
 #56871

Well I never though that the market cap proves if the coin is useful or whatever. Look at Litecoin, it's development is 'crappy', and it has no features what so ever, yet the market cap is high.
Why is this? They gained some adoption and a wide audience that holds and believes in the coin.
DarkCoin shall need more marketing after future releases, and we should be set.
It is because it is really the only other market on most exchanges. So when that happens you have people that like to play with the price differences when liquidating. If the litecoin price is higher when converted back to btc then you are better off liquidating into ltc for that conversion. Due to it being the only other option on most exchanges it sees huge volume sometimes. If darkcoin was a market on its own in all the exchanges it would see more volume just due to arbitrage between btc and ltc and drk. Probably for the better since volume would naturally increase.

"the destruction of privacy widens the existing power imbalance between the ruling factions and everyone else" -- Julian Assange
Minotaur26
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000


View Profile
August 29, 2014, 05:56:12 PM
 #56872


Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Open source is about tranparency and confidence.

BTC foundation I don't really know.

Confused masses need to learn how to take care of themselves  Roll Eyes

An official legal entity introduces formality to the coin, so that the foundation can act on the best interest of darkcoin, and do things like hire pr services, lobby, promote Darkcoin with potential investor, services, exchanges, etc.  It will help to advance the coin in a formal way.  A serious project, cant grow working just out of an internet forum. It also gives the project a new level of formality that protects investors. In the hypothetical case that the developers would do something wrong, you could sue the foundation and they would be liable, that shows a level of commitment that will raise confidence. As opposed to other coins where you don’t even know who the developers are.  The introduction of the foundation is a major step in the right direction and will lead to a structured effort to promote the coin. Looking forward to helping in the foundation and contributing anyway I can. Very exciting.

We have only published one of announcements required by law and you are already thinking in suing the foundation!!! I'm scared  Wink

Can't say much until the announcement with details, but we are gonna need a lot of help, thanks for offering  Cheesy

Lol, sorry, was just trying to explain how an important step this is, but yeah we should get legal insurance, I have experience with that.   Anyway, I am very happy that  Fernando is on the board, he is intelligent, straightforward, driven and hands on guy, and will represent us the community very well.
KryptoFoo
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250


View Profile
August 29, 2014, 05:56:34 PM
 #56873

Quote
Kristov Atlas ‏@anonymouscoin  10m
Impressively low costs for #Darkcoin privacy. Cost for two rounds of DarkSend+ on 1,000 DRK ($2,450): 0.025 DRK ($0.06). That's 0.0025%

https://twitter.com/anonymouscoin/status/505410731928748032
eltito
Full Member
***
Offline Offline

Activity: 322
Merit: 105



View Profile
August 29, 2014, 06:16:03 PM
 #56874


Initial Board of directors membership:

1. Evan Duffield
2. Edward Moncada
3. Fernando Gutierrez Mosquera
4. Christopher Carlo Rimoldi
5. Harold Boo

I believe #3 is btc user fernando and #4 is eltito. What do we know about #2 and #5?

Also: is there a public charter, vision, mission statement?




Yes, that will be coming out soon.
turk-fx
Full Member
***
Offline Offline

Activity: 216
Merit: 100


View Profile
August 29, 2014, 06:20:01 PM
 #56875


Initial Board of directors membership:

1. Evan Duffield
2. Edward Moncada
3. Fernando Gutierrez Mosquera
4. Christopher Carlo Rimoldi
5. Harold Boo

I believe #3 is btc user fernando and #4 is eltito. What do we know about #2 and #5?

Also: is there a public charter, vision, mission statement?


Correct about Fernado and Eltito. Edward represents some of the largest Darkcoin investors and Harold is a long term Darkcoin supporter and attorney who helped setup the foundation. We've setup the foundation to equally represent all aspects of the coin (Development, Legal, Investment and Community). We'll be releasing much more detailed information with RC5



Its that time again, when we have a little giggle and pat our backs for hodling.

Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.






It shows that there is no shinnanigans going on like added premine or malicuious attacks, added code helps the dev gain profit etc...

DARK Coin - Next innovation in Cypto world
My darkcoin address -> XtvnzfFJ7U7S8PHsEnTGAVKreTPmJWZoMv
Minotaur26
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000


View Profile
August 29, 2014, 06:20:46 PM
 #56876


Initial Board of directors membership:

1. Evan Duffield
2. Edward Moncada
3. Fernando Gutierrez Mosquera
4. Christopher Carlo Rimoldi
5. Harold Boo

I believe #3 is btc user fernando and #4 is eltito. What do we know about #2 and #5?

Also: is there a public charter, vision, mission statement?




Yes, that will be coming out soon.

This is great, we have a professional poker player on the board! Darkcoin and poker a marriage made in heaven!  I hope he can help us introduce darkcoin to poker sites!  Grin I am so happy.
Lebubar
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000



View Profile
August 29, 2014, 06:21:00 PM
 #56877


Initial Board of directors membership:

1. Evan Duffield
2. Edward Moncada
3. Fernando Gutierrez Mosquera
4. Christopher Carlo Rimoldi
5. Harold Boo

I believe #3 is btc user fernando and #4 is eltito. What do we know about #2 and #5?

Also: is there a public charter, vision, mission statement?




Yes, that will be coming out soon.

baddw
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500



View Profile
August 29, 2014, 07:10:25 PM
 #56878

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.

BTC/XCP 11596GYYq5WzVHoHTmYZg4RufxxzAGEGBX
DRK XvFhRFQwvBAmFkaii6Kafmu6oXrH4dSkVF
Eligius Payouts/CPPSRB Explained  I am not associated with Eligius in any way.  I just think that it is a good pool with a cool payment system Smiley
g4q34g4qg47ww
Sr. Member
****
Offline Offline

Activity: 478
Merit: 250


View Profile
August 29, 2014, 07:12:41 PM
 #56879

I've been travelling and hadn't been keeping up with the thread. Popped in and read the last couple pages and am really excited. If the foundation publishes homework assignments I would be very happy to help.
coins101
Legendary
*
Offline Offline

Activity: 1456
Merit: 1000



View Profile
August 29, 2014, 07:23:15 PM
 #56880


Someone please enlighten my noob brain......

Please can someone explain to me why this and open source is good news?   Isn't the purpose of the BTC foundation to enrich a select few?  Also, I expect a ton of copy/paste coins based on DRK to further dilute and confuse the masses.


Open source is about tranparency and confidence.

BTC foundation I don't really know.

Confused masses need to learn how to take care of themselves  Roll Eyes

An official legal entity introduces formality to the coin, so that the foundation can act on the best interest of darkcoin, and do things like hire pr services, lobby, promote Darkcoin with potential investor, services, exchanges, etc.  It will help to advance the coin in a formal way.  A serious project, cant grow working just out of an internet forum. It also gives the project a new level of formality that protects investors. In the hypothetical case that the developers would do something wrong, you could sue the foundation and they would be liable, that shows a level of commitment that will raise confidence. As opposed to other coins where you don’t even know who the developers are.  The introduction of the foundation is a major step in the right direction and will lead to a structured effort to promote the coin. Looking forward to helping in the foundation and contributing anyway I can. Very exciting.

We have only published one of announcements required by law and you are already thinking in suing the foundation!!! I'm scared  Wink

Can't say much until the announcement with details, but we are gonna need a lot of help, thanks for offering  Cheesy

Back in December, someone asked me to help set-up a bitcoin foundation affiliation for the UK. I turned it down.

Now, if there was a DRK Foundation Affiliation for Europe............ Grin

Only joking. That's a few years away.

But, get ready for the regulatory letters - remember the Bitcoin Foundation got a letter saying they needed to register for a money services licence?

http://www.forbes.com/sites/jonmatonis/2013/06/23/bitcoin-foundation-receives-cease-and-desist-order-from-california/
Pages: « 1 ... 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 [2844] 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 ... 7012 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!