Author

Topic: NXT :: descendant of Bitcoin - Updated Information - page 357. (Read 2761645 times)

sr. member
Activity: 396
Merit: 250
full member
Activity: 224
Merit: 100
Good job Jean-Luc for implementing client side transaction signing and confirming the need for SSL between client and server for security!

I've missed that. Could you point me to where he said that?

its due to the use of an "ultralight" client versus a "light" client.  The API that JLP has just completed allows for an "ultralight" client to submit  transactions to a node, where the node prepares the transaction and gives bytes for the ultralight client to sign.  So if clients implement this "ultralight" functionality, then not only is SSL a must, but then these ultralight clients must implicitly trust that the VPS operators wont screw them over.

Contrast a "light" client that figures everything out on its own, but since doesnt maintain a blockchain, it submits the completed signed transaction to a VPS where SSL then is not that huge of a deal.

It doesn't make sense to write what you call an ultralight client then.

The only difference between what you call a light and an ultralight client are these lines of code:

 public byte[] getBytes() {

        ByteBuffer buffer = ByteBuffer.allocate(getSize());
        buffer.order(ByteOrder.LITTLE_ENDIAN);
        buffer.put(type.getType());
        buffer.put(type.getSubtype());
        buffer.putInt(timestamp);
        buffer.putShort(deadline);
        buffer.put(senderPublicKey);
        buffer.putLong(Convert.nullToZero(recipientId));
        buffer.putInt(amount);
        buffer.putInt(fee);
        buffer.putLong(Convert.nullToZero(referencedTransactionId));
        buffer.put(signature != null ? signature : new byte[64]);
        if (attachment != null) {
            buffer.put(attachment.getBytes());
        }
        return buffer.array();

    }

(ok, a bit more due to the attachment bytes...)

Why would you not implement this yourself in a client and have a trustless solution?
full member
Activity: 196
Merit: 100
Pls someone answer.  If in some time,we had lots of nodes supporting the network,could we just get rid of nodecoins??Or would they be part of Nxt in their most basic structure???
Once issued, nodecoins will exist for 27 years as they are given out 100 per block.
nodecoins are NOT part of NXT core. It is not part of NXT basic structure.
It is simply an asset I created using NXT core.
anybody can do this

Clearly NXT is a very disruptive tech. It can disrupt itself!

There are literally more than 47 to the 10th power of potential assets that can be created. That a lot of assets. nodecoin is just one asset.

Still think nodecoin does not add value to NXT? Just the discussion it has created has now gotten a bunch of people thinking about how they can create their own coin and issue it on AE. Dont deny it, I know you are. I charge 2% of coins as they are mined, if you need my help.

James

Jesus.  We will have our own little coin market cap war inside NXT.  It's a recursive fight to the death.  I thought AE would just be a way to trade coins peer-to-peer and avoid transaction fees altogether.  As soon as you devalue NXT to be the transaction fee token instead of a 1st gen coin, it is automatically devalued to be less than the coins being traded on it.  This coin will self-destruct in five seconds...
sr. member
Activity: 316
Merit: 250
Simcoin Puny Humans Communicator

It is a temporary solution I see nodecoin as. James made it to solve our forging problem that has been discussed a million times. Nodecoins would definitely solve short term
forging issues until we have thousands of businesses supporting the network for their own sakes. But nodecoin must be traded in for a fixed amount of Nxt like a points system.
James of course should be rewarded well by one of the committees if this is approved

OK, there's 525,600 minutes in a year.  Say everybody gets 5 nodecoins per block.  That's 2.6 million node coins per year.  If their value under a "points" system is 0.01 NXT (completely arbitrary, who knows what the market price would be), that's the same as creating a new stash of 26,000 NXT per year - that's an inflation rate of 0.0000026%.  At the current nickel per NXT, that's $1300 per year raised for servers.  If NXT goes up by a factor of 10, that's $13K per year.

Let me just say, if NXT goes up by a factor of 10, there are PLENTY of stakeholders here (me included) that would pay a voluntary "donation" / tax of 0.0000026% to support the computer network that made it happen.

this is my point. This to me is an infrastructure committee bounty. And again James should be compensated well if we can implement this. Again this is temporary. Nxt needs to

pay for this support because it is an infant.
sr. member
Activity: 396
Merit: 250
full member
Activity: 238
Merit: 100
Good job Jean-Luc for implementing client side transaction signing and confirming the need for SSL between client and server for security!

I've missed that. Could you point me to where he said that?

its due to the use of an "ultralight" client versus a "light" client.  The API that JLP has just completed allows for an "ultralight" client to submit  transactions to a node, where the node prepares the transaction and gives bytes for the ultralight client to sign.  So if clients implement this "ultralight" functionality, then not only is SSL a must, but then these ultralight clients must implicitly trust that the VPS operators wont screw them over and steal their NXT.  As a VPS operator, this worries me.  What if the VPSs I run get hacked?  Then I'll get blamed.

Contrast a "light" client that figures everything out on its own, but since doesnt maintain a blockchain, it submits the completed signed transaction to a VPS where SSL then is not that huge of a deal.
legendary
Activity: 1176
Merit: 1134
Pls someone answer.  If in some time,we had lots of nodes supporting the network,could we just get rid of nodecoins??Or would they be part of Nxt in their most basic structure???
Once issued, nodecoins will exist for 27 years as they are given out 100 per block.
nodecoins are NOT part of NXT core. It is not part of NXT basic structure.
It is simply an asset I created using NXT core.
anybody can do this

Clearly NXT is a very disruptive tech. It can disrupt itself!

There are literally more than 47 to the 10th power of potential assets that can be created. That a lot of assets. nodecoin is just one asset.

Still think nodecoin does not add value to NXT? Just the discussion it has created has now gotten a bunch of people thinking about how they can create their own coin and issue it on AE. Dont deny it, I know you are. I charge 2% of coins as they are mined, if you need my help.

James
legendary
Activity: 2142
Merit: 1010
Newbie
I should have local (trustless) signing online tomorrow (no password sent to the server). A big thank you to CFB, Antonios, BloodyRookie and Jaguar0625 for all their help with this Smiley
I want to make sure people understand that it is not "trustless" signing. Unfortunately, the way we are doing it, you still have to trust the server. You don't send the password to the server, but you sign an array of bytes that the server sent to you. How do you know that this array really represents the transaction you intended to sign? To be sure, the client would need to parse and verify it, so the client needs to know exactly how each transaction type should be represented as a byte array. This is not a secret, it is in the source code, but if you need to implement this logic on the client side, you might as well construct the byte array yourself, and not trust the server to do it for you correctly. So by letting the client be simple and lazy and let the server construct the byte array, you necessarily have to trust the server. Furthermore, you have to trust that the server response you received has not been modified in transit - and the issue of using SSL to talk to the server becomes important again.

Very good point. I completely overlooked that server can return malicious transaction bytes.
full member
Activity: 196
Merit: 100

It is a temporary solution I see nodecoin as. James made it to solve our forging problem that has been discussed a million times. Nodecoins would definitely solve short term
forging issues until we have thousands of businesses supporting the network for their own sakes. But nodecoin must be traded in for a fixed amount of Nxt like a points system.
James of course should be rewarded well by one of the committees if this is approved

OK, there's 525,600 minutes in a year.  Say everybody gets 5 nodecoins per block.  That's 2.6 million node coins per year.  If their value under a "points" system is 0.01 NXT (completely arbitrary, who knows what the market price would be - but a "free" coin had better be worth very little NXT), that's the same as creating a new stash of 26,000 NXT per year - that's an inflation rate of 0.0000026%.  At the current nickel per NXT, that's $1300 per year raised for servers.  If NXT goes up by a factor of 10, that's $13K per year.

Let me just say, if NXT goes up by a factor of 10, there are PLENTY of stakeholders here (me included) that would pay a voluntary "donation" / tax of 0.0000026% to support the computer network that made it happen.
sr. member
Activity: 288
Merit: 250
Pls someone answer.  If in some time,we had lots of nodes supporting the network,could we just get rid of nodecoins??Or would they be part of Nxt in their most basic structure???
full member
Activity: 224
Merit: 100
Good job Jean-Luc for implementing client side transaction signing and confirming the need for SSL between client and server for security!

I've missed that. Could you point me to where he said that? Found it. :-)
sr. member
Activity: 952
Merit: 253

The alternative is to get the price of running a node so cheap that nobody needs a reward to do it.   What we are doing here is creating a pseudo-POW to make up for perceived weaknesses in PoS.  If PoS is strong enough to stand on its own, then let it.  If we try to go pseudo-PoW to be a motivator, then REAL PoW will ALWAYS be a better alternative and who needs NXT?

Ricky, this is wrong.

This is not abut PoS vs PoW... this is about having a reliable network of nodes to secure the network...

You thought we were attacked when we started, just wait until we start to be perceived as a real threat...


I totally agree.  And I do not see how nodecoin funds nodes.  How does creating a free coin create real money that gets spent buying a server for a month?  Map for me the flow of money....

Quite simply...
If no reward other than forging is needed then people need no incentive...
If people are not running nodes, no investor steps up and for example we have to use inf-com funds to pay for nodes then we will be in trouble after a time...

If the number of nodes in the network needs to be stimulated / maintained.
Create an order for node coins on the AE at a price people think it worth it...
People will run nodes to generate node coins to fill the order and redeem the coins for NXT

We could even trial this...

Do I want to see node coin as a new free floating coin - No
Do I want to see it hardened as a way to stimulate and reward people to run nodes - Yes unless there is a better idea out there.
member
Activity: 84
Merit: 10
I can't believe the debate I am seeing here ala nodecoins! Good job James for creating the first mine-able coin on the Asset Exchange!

Good job Jean-Luc for implementing client side transaction signing and confirming the need for SSL between client and server for security!

legendary
Activity: 1092
Merit: 1010
So then why has my original suggestion been ignored about having nodecoins be redeemable for Nxt like a points/airline miles program? That way nobody disputes that the value
nodecoins have is in that it can increase my Nxt stake. The only problem I see is how to donate this fund and whether one of the committees will fund this. Any funding for this
will only be temporary because I can't imagine it would take more than a year for Nxt to be successful enough to not need nodecoins for incentive to forge.

I think going about this is just where the thinking goes wrong. Again, not attacking, but trying to illustrate a point.

Your post reveals a possible weakness in the NodeCoin idea: great.
But why does this need to be solved community wide?
That wóuld make NodeCoin a problem for Nxt.

If coins get created by a user, it's also up to the user to make it work, in whatever way he or she pleases. If that solution isn't good enough, the coin dies and fades away.
If not, it's viable.

Trying to shoehorn it into Nxt places the responsibility for it where it shouldn't be and opens a big can of ugly worms.

The creation of these coins is an open and free option. If it is truly so, then the execution of it should be the responsibility should be the creator's.

I am fully convinced that people can come up with a way to have the NodeCake and eat it.

It is a temporary solution I see nodecoin as. James made it to solve our forging problem that has been discussed a million times. Nodecoins would definitely solve short term
forging issues until we have thousands of businesses supporting the network for their own sakes. But nodecoin must traded in for a fixed amount of Nxt like a points system.
James of course should be rewarded well by one of the committees if this is approved

I believe nodecoin was exactly conceived as that. James can correct me if I am wrong.
It was conceived as a solution to a problem that we were and still are grappling with, which is why it ticks me off that James is getting so much flack for it.
He made something to try and solve a problem. I think we could at least appreciate that.

Be that as it may, and at the risk of sounding like a record: it's not just nodecoin that is the issue. What about AE and the fact that we have this option at all? Wink

NXTs as coins... NXTs r not coins, at least the creator of Nxt didn't want them to be coins. They r tokens that grant privileges to support Nxt. Deflation is not much better than inflation, "real" coins should be created on top of Nxt and be issued in quantities that keep their value constant. BCNext understands that this is very arguable, the community should decide if it wants to follow the path showed by him or stick to Bitcoin legacy with unchangeable supply of coins in hope to become rich by doing nothing.


legendary
Activity: 1176
Merit: 1134

The alternative is to get the price of running a node so cheap that nobody needs a reward to do it.   What we are doing here is creating a pseudo-POW to make up for perceived weaknesses in PoS.  If PoS is strong enough to stand on its own, then let it.  If we try to go pseudo-PoW to be a motivator, then REAL PoW will ALWAYS be a better alternative and who needs NXT?

Ricky, this is wrong.

This is not abut PoS vs PoW... this is about having a reliable network of nodes to secure the network...

You thought we were attacked when we started, just wait until we start to be perceived as a real threat...


I totally agree.  And I do not see how nodecoin funds nodes.  How does creating a free coin create real money that gets spent buying a server for a month?  Map for me the flow of money....
DOGE, AUR
full member
Activity: 224
Merit: 100
I should have local (trustless) signing online tomorrow (no password sent to the server). A big thank you to CFB, Antonios, BloodyRookie and Jaguar0625 for all their help with this Smiley
I want to make sure people understand that it is not "trustless" signing. Unfortunately, the way we are doing it, you still have to trust the server. You don't send the password to the server, but you sign an array of bytes that the server sent to you. How do you know that this array really represents the transaction you intended to sign? To be sure, the client would need to parse and verify it, so the client needs to know exactly how each transaction type should be represented as a byte array. This is not a secret, it is in the source code, but if you need to implement this logic on the client side, you might as well construct the byte array yourself, and not trust the server to do it for you correctly. So by letting the client be simple and lazy and let the server construct the byte array, you necessarily have to trust the server. Furthermore, you have to trust that the server response you received has not been modified in transit - and the issue of using SSL to talk to the server becomes important again.


Since, I've been there: Compared to implementing signing, getting the bytes for a transaction is childplay. I'd encourage client developers to make it complete and not use prepareTransaction, but implement it fully in the client.

EDIT:
As easy as this:

 public byte[] getBytes() {

        ByteBuffer buffer = ByteBuffer.allocate(getSize());
        buffer.order(ByteOrder.LITTLE_ENDIAN);
        buffer.put(type.getType());
        buffer.put(type.getSubtype());
        buffer.putInt(timestamp);
        buffer.putShort(deadline);
        buffer.put(senderPublicKey);
        buffer.putLong(Convert.nullToZero(recipientId));
        buffer.putInt(amount);
        buffer.putInt(fee);
        buffer.putLong(Convert.nullToZero(referencedTransactionId));
        buffer.put(signature != null ? signature : new byte[64]);
        if (attachment != null) {
            buffer.put(attachment.getBytes());
        }
        return buffer.array();

    }

From https://bitbucket.org/JeanLucPicard/nxt/src/1ff7dc8f579fed8804d6bb3fdda6a822fcd52162/src/java/nxt/TransactionImpl.java?at=master
legendary
Activity: 1176
Merit: 1134

So then why has my original suggestion been ignored about having nodecoins be redeemable for Nxt like a points/airline miles program? That way nobody disputes that the value
nodecoins have is in that it can increase my Nxt stake. The only problem I see is how to donate this fund and whether one of the committees will fund this. Any funding for this
will only be temporary because I can't imagine it would take more than a year for Nxt to be successful enough to not need nodecoins for incentive to forge.

I proposed almost the same thing yesterday.... only I renamed them to tokens, gave them a monthly value so we can set a bounty for running network nodes each month and the tokens would be redeemable against a buy order in the AE..

I do see the risk of a free floating coin being used a the node operating reward because if it becomes worthless then there is no incentive to run nodes and if the committees need to stimulate people to run nodes through node coin value are there are a lot in circulation then it becomes difficult to change the price / reward per coin... whereas if they have to be regularly redeemed there isn't this problem.
People can always just buy the evil nodecoins and burn them by sending them to the genesis acct!
That way, large stockpiles will never be created and the universe will be safe

Keep in mind, if nodecoins cant be used to reward people to run nodes, then other means can be used. It is not part of NXT core, it is just a NXT asset that I made
full member
Activity: 224
Merit: 100
nodecoin is a response to the need for people to get regular and predictable feedback for running a NXT node. It satisfies this requirement. As to what all the other side effects it creates, I am just a simple C programmer and when you start extrapolating things like the behaviors of large groups of people, well, I admit I cannot predict. AUR proves this.

Also, notice that if trying to boost the NXT network via nodecoin purchases doesnt work, what have we lost? Without nodecoin, there wouldnt even be that option. nodecoin price fluctuations do not impact NXT. nodecoin is not NXT. nodecoin is a NXT asset. If NXT relies on nodecoin for all of its network infrastructure incentive and nodecoin fails, then where are we? I think we would be where we are now, without nodecoin.

James

There's a saying that when you're up to your ass in alligators, it's hard to remember that you originally intended to drain the swamp.   That's what we've got here.  

The original problem is that everybody eventually comes to the realization that forging NXT isn't getting them rich like they expected Bitcoin mining would do, in fact, if they've got under 2000 NXT, they probably won't even mine a single block in a year (if all NXT owners had their client open and were forging too).   This is a disappointment and demotivator to them, and understandably so.  But hey, that what PoS as implemented by NXT is.  Everybody gets the same ROI / interest rate on their stake, and if you ain't got much stake, your equal share of the pie is gonna be really, really small.  

The original BCNext (and I believe correct) solution to the problem is to realize that NXT doesn't need super expensive computers to keep the node network going, that people will keep their clients open and bear the minimal expense as an altruistic item on their part, that instead of profit motive to run NXT we have community spirit.

Some people feel that a bigger motive / incentive is needed.  This is very noble and I am not cutting them down.  But I come back to my previously stated BCNext's First Law - For every attempt to create a new incentive in the zero-sum NXT system, an equal and opposite disincentive is created somewhere else in that system.  

Money in NXT is not created out of thin air every few minutes like it is in BCT.  There is only so much and if it goes into one person's pocket, it came out of somebody else's pocket.

So here's the bottom line question.  If nodecoin is created as a new source of value to motivate people to support the NXT network, WHOSE POCKET DID THIS VALUE COME FROM IN THE FORM OF NXT?

Hm, the part about BTC generating value out of thin air in not true. Every Bitcoin mined (inflation) takes money out of everyone's pocket - because their stake become relatively smaller - and into the miner's pocket.

My big concern is that people will come to see speculation in nodecoin to be more important to them than the value of NXT itself.   If this happens, we are screwed.  At that point NXT is just the fee required to access  AE and make vast fortunes running up the price of nodecoin they buy directly with BTC.  It is now in the speculator's interest to have/drive the exchange fee (NXT itself) as low as possible.  What is the motivator in this scenario to have my big stake in NXT retain a high value instead of being driven down to a low value?

Nodecoin is only one of many coins that will appear. In the future, your NXT stake will be securing hundreds of coins (just look how many alts of Bitcoin there are!), each one generating fees in NXT when the users and miners transfer and spend the coins.

It's a long game, but I think ultimately was a very smart decision to make NXT an ecosystem instead of purely a "PoS-coin". As an ecosystem, failure of a single service on-top of the NXT will not mean NXT is dead. If Bitcoin fails, it's dead. If nodecoin fails (+ any number of other coins ontop of NXT), NXT will still be intact.
sr. member
Activity: 294
Merit: 260
Wait... is it possible for a client to sent a transaction request to a VPS and the VPS to determine client balance and use that as the amount and change the destination account to his own account, and , then wrap all that up in transactionBytes for the client to sign and submit to the network?  if so this is a BAD idea, regardless of if you have legit SSL certs or not.

Yes, it's possible, if the client does not verify the transaction.

One could alleviate this issue if the JS client used multiple, independent, CORS-enabled NRS gateways to get transactionbytes from each and compare them. But this is a half-baked solution. The only way to have "trustless" signing, is to do what J-L said: To manually construct the transaction from the browser.
full member
Activity: 196
Merit: 100

The alternative is to get the price of running a node so cheap that nobody needs a reward to do it.   What we are doing here is creating a pseudo-POW to make up for perceived weaknesses in PoS.  If PoS is strong enough to stand on its own, then let it.  If we try to go pseudo-PoW to be a motivator, then REAL PoW will ALWAYS be a better alternative and who needs NXT?

Ricky, this is wrong.

This is not abut PoS vs PoW... this is about having a reliable network of nodes to secure the network...

You thought we were attacked when we started, just wait until we start to be perceived as a real threat...


I totally agree.  And I do not see how nodecoin funds nodes.  How does creating a free coin create real money that gets spent buying a server for a month?  Map for me the flow of money....
Jump to: