jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:46:56 AM |
|
If all the nodes have to compute it, then all the nodes have to compute it.
So once again - do you want 1000+ TPS or do you want these "arbitrary script" type txs (as I don't believe that you are going to be able to have both)? you have convinced me for one CIYAM. another blockchain another day. i definitely think that nxt's proof of stake lays a foundation for a much better DAC than pow. someone should definitely develop a turing complete nxt, just not on this chain. What if we limited it to 100 Turing scripts per block?
|
|
|
|
xyzzyx
Sr. Member
Offline
Activity: 490
Merit: 250
I don't really come from outer space.
|
|
February 05, 2014, 06:47:28 AM |
|
Why would 1 millisecond execution time impact 1000 TPS transaction times? Maybe reduce it to half millisecond time budget to give some room
Don't think in terms of real time. The VM is virtual. So is the time.
|
"An awful lot of code is being written ... in languages that aren't very good by people who don't know what they're doing." -- Barbara Liskov
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 05, 2014, 06:48:08 AM |
|
If it is about bandwidth why was everyone so worked up about inefficiencies of subleq?
So interpreted subleq VM is not a CPU bottleneck?
You are worried about bandwidth and amount of AM?
I do think that "subleq" would end up becoming a CPU bottleneck but I am now going on the assumption we have an *efficient* instruction set (so am now ignoring the CPU issue) but I think that even assuming no CPU issue the bandwidth usage would become an even bigger problem.
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:48:59 AM |
|
Why would 1 millisecond execution time impact 1000 TPS transaction times? Maybe reduce it to half millisecond time budget to give some room
Don't think in terms of real time. The VM is virtual. So is the time. Yes, but it is running on similar class servers, so we can estimate time to correspond to number of opcodes interpreted. Wont be exact, but as long as we charge by opcodes executed, all the scripts will behave in expected manner
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
February 05, 2014, 06:50:07 AM |
|
If all the nodes have to compute it, then all the nodes have to compute it.
So once again - do you want 1000+ TPS or do you want these "arbitrary script" type txs (as I don't believe that you are going to be able to have both)? you have convinced me for one CIYAM. another blockchain another day. i definitely think that nxt's proof of stake lays a foundation for a much better DAC than pow. someone should definitely develop a turing complete nxt, just not on this chain. Thought experiment time. Let's say each node gets to run an arbitrary program in a VM, but only 1 instruction per block. Will that impact 1000 TPS transaction times? How about 2 instructions per block? I think you see where this is going. N instructions per block (where N is variable based on the speed of the underlying hardware)? Will that impact 1000 TPS transaction times? It would make the problem even worse
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
February 05, 2014, 06:50:40 AM |
|
So the script will be able to access any AM in the blockchain. The app needs to seed the script with the required block#, etc. Will the scripts have an easy way to access alias data also? If so, that could be another way to pass data to the script
Scripts will have easy way to access any data on the blockchain.
|
|
|
|
xyzzyx
Sr. Member
Offline
Activity: 490
Merit: 250
I don't really come from outer space.
|
|
February 05, 2014, 06:51:15 AM |
|
Thought experiment time. Let's say each node gets to run an arbitrary program in a VM, but only 1 instruction per block. Will that impact 1000 TPS transaction times?
How about 2 instructions per block?
I think you see where this is going.
N instructions per block (where N is variable based on the speed of the underlying hardware)?
Will that impact 1000 TPS transaction times?
It would make the problem even worse I am a poor communicator.
|
"An awful lot of code is being written ... in languages that aren't very good by people who don't know what they're doing." -- Barbara Liskov
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:51:20 AM |
|
If it is about bandwidth why was everyone so worked up about inefficiencies of subleq?
So interpreted subleq VM is not a CPU bottleneck?
You are worried about bandwidth and amount of AM?
I do think that "subleq" would end up becoming a CPU bottleneck but I am now going on the assumption we have an *efficient* instruction set (so am now ignoring the CPU issue) but I think that even assuming no CPU issue the bandwidth problem will be an even bigger problem. I agree bandwidth is a big problem, but 1Mbps is supposed to available everywhere and much much more in Belarus I am worried about beefy hub servers. We need lots of them to support 1000TPS and if we are going to have all those servers anyway, might as well use the CPU power. I have a feeling without running Turing scripts they will get bored at 1% load factor
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:52:30 AM |
|
So the script will be able to access any AM in the blockchain. The app needs to seed the script with the required block#, etc. Will the scripts have an easy way to access alias data also? If so, that could be another way to pass data to the script
Scripts will have easy way to access any data on the blockchain. Good morning Belarus!!!
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
February 05, 2014, 06:52:35 AM |
|
If the network didnt check the forgers work than forgers could just publish false answers every time and claim the transaction fees anway. meaning they would have no incentive to actually execute the code.
Algos could be designed to be easy to check. Like factoring numbers: difficult to factor, but easy to check that the product of factors is the original. Proof of computation! So one (or a few) beefy nodes have a large computation burden while many smaller nodes have a lower burden. (Can't be done for all algos. This will incentivize and select for those which can be done more intelligently.) Maybe but i don't know any good reason to expect this to be possible.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
Eadeqa
|
|
February 05, 2014, 06:52:51 AM |
|
If the network didnt check the forgers work than forgers could just publish false answers every time and claim the transaction fees anway. meaning they would have no incentive to actually execute the code.
The whole idea has security implications that we haven't even considered yet. This will turn out to be real bad for Nxt if malicious nodes are able to steal money. There are many other things in the pipeline: - Distributed Storage - In progress - Multi-signatures - In progress - Blockchain Shrinking - In progress - Two-phase Payments - In progress Software supported escrow transactions - Voting System - In progress - Reputation System - Will be implemented after Voting System Account trust rating system. Check if sellers on the distributed exchange have a good history, if stock issuers pay dividends and if gateways honor their asset redemptions. - Decentralized Mixing Service - Concept not ready - Cryptographers please contact core dev team members - Distributed Computing - Concept not ready - Smart Contracts - Concept not ready Why not work on these? It appears cfb has very short attention spam. Last week it was zerocoin, and now it's built in VM. I hope he doesn't follow through this and focuses on finishing things already listed. Maybe more trusted developers should be added to the team. Looking at his posting history, I will vote for "CIYAM Open".
|
|
|
|
LiQio
Legendary
Offline
Activity: 1181
Merit: 1002
|
|
February 05, 2014, 06:53:38 AM |
|
Thought experiment time. Let's say each node gets to run an arbitrary program in a VM, but only 1 instruction per block. Will that impact 1000 TPS transaction times?
How about 2 instructions per block?
I think you see where this is going.
N instructions per block (where N is variable based on the speed of the underlying hardware)?
Will that impact 1000 TPS transaction times?
It would make the problem even worse I am a poor communicator. *backslapping* - i got it
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
February 05, 2014, 06:55:01 AM |
|
Thought experiment time. Let's say each node gets to run an arbitrary program in a VM, but only 1 instruction per block. Will that impact 1000 TPS transaction times?
How about 2 instructions per block?
I think you see where this is going.
N instructions per block (where N is variable based on the speed of the underlying hardware)?
Will that impact 1000 TPS transaction times?
It would make the problem even worse I am a poor communicator. Oh so you are saying that the amount of operations required would be something of a time limit. it couldn't be included in a block until after enough blocks had passed inorder to make sure that low power cpus could keep up. that would address the transaction per second problem but it would address other problems.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:55:06 AM |
|
If the network didnt check the forgers work than forgers could just publish false answers every time and claim the transaction fees anway. meaning they would have no incentive to actually execute the code.
The whole idea has security implications that we haven't even considered yet. This will turn out to be real bad for Nxt if malicious nodes are able to steal money. There are many other things in the pipeline: - Distributed Storage - In progress - Multi-signatures - In progress - Blockchain Shrinking - In progress - Two-phase Payments - In progress Software supported escrow transactions - Voting System - In progress - Reputation System - Will be implemented after Voting System Account trust rating system. Check if sellers on the distributed exchange have a good history, if stock issuers pay dividends and if gateways honor their asset redemptions. - Decentralized Mixing Service - Concept not ready - Cryptographers please contact core dev team members - Distributed Computing - Concept not ready - Smart Contracts - Concept not ready Why not work on these? It appears cfb has very short attention spam. Last week it was zerocoin, and now it's built in VM. I hope he doesn't follow through this and focuses on finishing things already listed. Maybe more trusted developers should be added to the team. Looking at his posting history, I will vote for "CIYAM Open". Etherium Edit: I think it would be really cool to do to Etherium what XCP did to mastercoin Edit2: Plus I think CfB was getting bored doing easy stuff, this is not so easy
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
February 05, 2014, 06:56:17 AM |
|
If the network didnt check the forgers work than forgers could just publish false answers every time and claim the transaction fees anway. meaning they would have no incentive to actually execute the code.
The whole idea has security implications that we haven't even considered yet. This will turn out to be real bad for Nxt if malicious nodes are able to steal money. There are many other things in the pipeline: - Distributed Storage - In progress - Multi-signatures - In progress - Blockchain Shrinking - In progress - Two-phase Payments - In progress Software supported escrow transactions - Voting System - In progress - Reputation System - Will be implemented after Voting System Account trust rating system. Check if sellers on the distributed exchange have a good history, if stock issuers pay dividends and if gateways honor their asset redemptions. - Decentralized Mixing Service - Concept not ready - Cryptographers please contact core dev team members - Distributed Computing - Concept not ready - Smart Contracts - Concept not ready Why not work on these? It appears cfb has very short attention spam. Last week it was zerocoin, and now it's built in VM. I hope he doesn't follow through this and focuses on finishing things already listed. Maybe more trusted developers should be added to the team. Looking at his posting history, I will vote for "CIYAM Open". +1
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
February 05, 2014, 06:56:40 AM |
|
CfB, what is your opinion of subleq? It seems we just need to implement one opcode.
There already exists Higher_subleq (assembly language) and C compiler, so that sure sounds like the quickest path. The CPU model they use doesn't seem too crazy.
James
We don't need as less instructions as possible. We need a usable language.
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 06:58:19 AM |
|
CfB, what is your opinion of subleq? It seems we just need to implement one opcode.
There already exists Higher_subleq (assembly language) and C compiler, so that sure sounds like the quickest path. The CPU model they use doesn't seem too crazy.
James
We don't need as less instructions as possible. We need a usable language. OK, then one of the 28 to 32 instruction ones Edit: does this mean you don't consider C a usable language?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 05, 2014, 06:59:03 AM |
|
We don't need as less instructions as possible. We need a usable language.
Indeed I had thought that was what you *meant* (rather than what you actually said). Do you agree that it should have op codes for things like SHA256 and what about the whole problem of the impact of running said scripts on the TPS rate?
|
|
|
|
xyzzyx
Sr. Member
Offline
Activity: 490
Merit: 250
I don't really come from outer space.
|
|
February 05, 2014, 07:00:41 AM |
|
Oh so you are saying that the amount of operations required would be something of a time limit. it couldn't be included in a block until after enough blocks had passed inorder to make sure that low power cpus could keep up. that would address the transaction per second problem but it would address other problems.
Yes. The one requesting the work could say "I want this calculated with these parameters, and I don't need the result until X blocks" or something similar. Referenced transactions could be utilized to make sure payment is only done when a good result is verified.
|
"An awful lot of code is being written ... in languages that aren't very good by people who don't know what they're doing." -- Barbara Liskov
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 05, 2014, 07:04:54 AM |
|
We don't need as less instructions as possible. We need a usable language.
Indeed I had thought that was what you *meant* (rather than what you actually said). Do you agree that it should have op codes for things like SHA256 and what about the whole problem of the impact of running said scripts on the TPS rate? I have suggested that scripts be able to access a subset of NXT core, that would include Curve25... and SHA256 can be easily added if it is not there already
|
|
|
|
|