This is a neat. However, there is nothing explaining fundamental operation I can find except the source code itself, and it seems to me that it suffers from pretty serious scale limitations. I.e its ability to deliver on the value proposition in its current form is low.
Also, your proof of work is Sha256 which means that the moment this thing goes live and there is any value attached it won't work. You have to switch to a memory hard proof of work to even begin doing this.
Finally, most of what you are trying to accomplish can already be done using SPV onto existing digital currency networks. Pushing the entire network into the browser doesn't really help. The cynic in me wants to say this is an ICO pump for people who don't know any better.
I'd double down on the simplicity aspect - for a lot of people cryptocurrency is a weird thing to get into and hard to understand. You guys have taken something as ultra-complex as mining and blockchain and stuck it in the browser, no small task. Make your focus a cryptocurrency for everyone - include demos of how cryptocurrency itself works.
Well, it is not good to do Proof-of-Work in the browser. It's inefficient and people will not keep mining if they have very small chances of getting a block.
I don't know how this could be solved, maybe you should experiment with other forms of ledger consensus that would fit better in a browser environment and at the same would not exclude normal people from participating in benefit of specialized miners.
The network part of this thing is amazing by itself.
I have a soft spot for removing barriers and making things accessible so this really resonates with me. With a single click of a button I'm connected to the network and have started mining. Pretty awesome!
I also love how the P2P is visualized in a straight-forward way. I definitely think this will help demystify blockchain technology. You immediately realize that you're part of a decentralized network and that blockchain nodes are nothing else than other nodes like you.
Left this running all day at about 30kh/s and got 200 coins
Couple of hints:
* Have a way of backing up your private keys! Many people delete browser local storage and this is not a safe or long term place for them to live!
NAG THE USER TO DO THIS. 99% of the people here betanet will lose their keys, fo sure
* Consider hierarchical deterministic (HD) generated keys, so a single seed can generate all future keys
* Consider brainwallet seed (must be long, suggest at least 256 bits entropy), custom dictionary words
Most cryptocurrencies use secp256k1 or ed25519 for ecdsa/xeddsa as their curve, this is using P-256.
Satoshi was suspicious of the NIST curves, thats why he didn't use P-256 for bitcoin.
You will need something better than SHA256 for PoW function too, others have identified memory hard hash as idea. Look at Momentum (ProtoShares), EtHash (Ethereum) and CryptoNight (Bytecoin/Monero) as approaches to this. All have rolled their own in this space, keep you tx hashes standard but use something creative for PoW function.
The protocol we've deployed in our Betanet is not final. The Betanet is just about getting early community feedback and testing in the wild. There will be lots of breaking changes.
We will not use NIST curves in our mainnet for the reasons you mentioned. We are working on an implementation of ed25519 in WebAssembly.
We will not use sha256 as in our mainnet. We are already working on a WebAssembly implementation of a memory hard POW.
We want to bring blockchain technology to the masses. So in the long run we are explicitly targeting users who are not yet familiar with cryptocurrencies.
Following from that we will put a lot of effort in creating user interfaces that take users by the hand and explain important aspects like "How to keep your private key secure".
Interestingly, I'm getting a significantly higher hash rate in Chrome than in Firefox (12,000 vs. 600). This is despite the fact that Firefox has a higher priority on my OS (High vs. Normal) and they're both using the same amount of CPU.
What hash rates are you seeing on your machine/browser?
I was getting ~4KH/sec then I've done some tuning and got to 20KH/sec with Chrome.
I plugged in the power cord, changed from Balanced performance to High performance option.
Also enabled GPU for use with Chrome instead of integrated graphics.
Before anyone gets too excited because the page doenst make this clear, you are all mining on the Test block chain, not the release block chain, the coins are worthless, they are fine for playing around with though.
There is a disclaimer under the "Connect to Network" button stating "Testnet Mining does not create permanent Nimiqs."
Do you think this we should make that more prominent?
Ok, you have a roadmap, but I'm left with more questions than answers, e.g.: if a blockchain relies on every node having a ledger of the whole transactions, and bitcoin's ledger now occupies more than 100GB, then how is this supposed to work when the ledger becomes big?
You only need the full blockchain to initially verify the proof of work chain, you can then run in pruning mode which requires having the latest blocks and unspent outputs.
I like how it starts you up instantly and how simple mining, helping the network and transactions seem to be. Really well done. I found a quick block too and sending/receiving transactions and getting the confirmations seems nice and fast. As a user it makes me pretty happy.
However, turning your coins 'permanent' somehow doesn't seem nearly as intuitive. I have no real idea how these coins are now tied to me. I found my block on chrome, and launching the site in incognito mode / firefox doesn't show the funds in my wallet. This would make me worry about deleting my browser history/cookies/etc and I'd have no idea how to access these coins on another computer. How do I go about making these coins tied to me beyond some form of browser storage, and why isn't that process explained somewhere? Right now it feels like a mild breeze might erase my wallet and the coins in it. Is this something that'll be dealt with in the future?
I like the idea of reducing the barrier to entry in the multitude of markets, but I'm also a bit cynical in that any web-based wallet seems extremely risky to me in terms of the potential for attacks and stolen coins.
This seems really interesting! For someone without too much knowledge about blockchain and digital currencies: How does this compare to Bitcoin and Ethereum?
[+] [-] buttershakes|8 years ago|reply
Also, your proof of work is Sha256 which means that the moment this thing goes live and there is any value attached it won't work. You have to switch to a memory hard proof of work to even begin doing this.
Finally, most of what you are trying to accomplish can already be done using SPV onto existing digital currency networks. Pushing the entire network into the browser doesn't really help. The cynic in me wants to say this is an ICO pump for people who don't know any better.
[+] [-] Capira|8 years ago|reply
[+] [-] larma|8 years ago|reply
[+] [-] gallerdude|8 years ago|reply
I'd double down on the simplicity aspect - for a lot of people cryptocurrency is a weird thing to get into and hard to understand. You guys have taken something as ultra-complex as mining and blockchain and stuck it in the browser, no small task. Make your focus a cryptocurrency for everyone - include demos of how cryptocurrency itself works.
[+] [-] fiatjaf|8 years ago|reply
I don't know how this could be solved, maybe you should experiment with other forms of ledger consensus that would fit better in a browser environment and at the same would not exclude normal people from participating in benefit of specialized miners.
The network part of this thing is amazing by itself.
[+] [-] elionchin|8 years ago|reply
[+] [-] hopfog|8 years ago|reply
I also love how the P2P is visualized in a straight-forward way. I definitely think this will help demystify blockchain technology. You immediately realize that you're part of a decentralized network and that blockchain nodes are nothing else than other nodes like you.
[+] [-] Capira|8 years ago|reply
[+] [-] fslkjhjdfhgj4j|8 years ago|reply
Couple of hints:
* Have a way of backing up your private keys! Many people delete browser local storage and this is not a safe or long term place for them to live! NAG THE USER TO DO THIS. 99% of the people here betanet will lose their keys, fo sure
* Consider hierarchical deterministic (HD) generated keys, so a single seed can generate all future keys
* Consider brainwallet seed (must be long, suggest at least 256 bits entropy), custom dictionary words
Most cryptocurrencies use secp256k1 or ed25519 for ecdsa/xeddsa as their curve, this is using P-256. Satoshi was suspicious of the NIST curves, thats why he didn't use P-256 for bitcoin.
You will need something better than SHA256 for PoW function too, others have identified memory hard hash as idea. Look at Momentum (ProtoShares), EtHash (Ethereum) and CryptoNight (Bytecoin/Monero) as approaches to this. All have rolled their own in this space, keep you tx hashes standard but use something creative for PoW function.
[+] [-] Capira|8 years ago|reply
The protocol we've deployed in our Betanet is not final. The Betanet is just about getting early community feedback and testing in the wild. There will be lots of breaking changes.
We will not use NIST curves in our mainnet for the reasons you mentioned. We are working on an implementation of ed25519 in WebAssembly.
We will not use sha256 as in our mainnet. We are already working on a WebAssembly implementation of a memory hard POW.
We want to bring blockchain technology to the masses. So in the long run we are explicitly targeting users who are not yet familiar with cryptocurrencies. Following from that we will put a lot of effort in creating user interfaces that take users by the hand and explain important aspects like "How to keep your private key secure".
[+] [-] codefined|8 years ago|reply
What hash rates are you seeing on your machine/browser?
[+] [-] sayhello|8 years ago|reply
https://github.com/nimiq-network/core/blob/master/src/main/p...
Chrome implements the WebCrypto API https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_...
I think it uses this interface: https://cs.chromium.org/chromium/src/third_party/WebKit/Sour...
[+] [-] victorantos|8 years ago|reply
[+] [-] shakna|8 years ago|reply
> ICE failed, add a TURN server and see about:webrtc for more details
[+] [-] luxcem|8 years ago|reply
[+] [-] scrumper|8 years ago|reply
[+] [-] slice_of_life|8 years ago|reply
[+] [-] himlion|8 years ago|reply
[+] [-] fasouto|8 years ago|reply
[+] [-] Capira|8 years ago|reply
[+] [-] cubano|8 years ago|reply
[+] [-] geoah|8 years ago|reply
[+] [-] fiatjaf|8 years ago|reply
[+] [-] Mao_Zedang|8 years ago|reply
[+] [-] Capira|8 years ago|reply
[+] [-] kaffeemitsahne|8 years ago|reply
[+] [-] larma|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] joantune|8 years ago|reply
Also, how do the 'instant' transactions work?
[+] [-] herve76|8 years ago|reply
[+] [-] Franciscouzo|8 years ago|reply
[+] [-] postozoan|8 years ago|reply
However, turning your coins 'permanent' somehow doesn't seem nearly as intuitive. I have no real idea how these coins are now tied to me. I found my block on chrome, and launching the site in incognito mode / firefox doesn't show the funds in my wallet. This would make me worry about deleting my browser history/cookies/etc and I'd have no idea how to access these coins on another computer. How do I go about making these coins tied to me beyond some form of browser storage, and why isn't that process explained somewhere? Right now it feels like a mild breeze might erase my wallet and the coins in it. Is this something that'll be dealt with in the future?
[+] [-] nyxtom|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] schickling|8 years ago|reply
[+] [-] larma|8 years ago|reply
[+] [-] asciimo|8 years ago|reply
[+] [-] anc84|8 years ago|reply
[+] [-] disko|8 years ago|reply
Thanks!
[+] [-] derpydev|8 years ago|reply
6ED123AD11CC9DFF874ED0622562F205957561C6
[+] [-] ogrim|8 years ago|reply
[+] [-] carlosgj94|8 years ago|reply
BF09BC3C46E808332F102B69FE585074AFEDF980
[+] [-] fiatjaf|8 years ago|reply
[+] [-] daxfohl|8 years ago|reply
[+] [-] kristianp|8 years ago|reply
[+] [-] chenster|8 years ago|reply
[+] [-] himlion|8 years ago|reply
[+] [-] wildbunny|8 years ago|reply
[+] [-] eriknstr|8 years ago|reply
[+] [-] chenster|8 years ago|reply