Webbased wallet service for Peercoins - Coinpunk

Just read about a new type of wallet which is running in the browser (see www.coinpunk.org/beta.html). It sounds very promising to me and would also serve iPad/iPhone users. We could host it on a subdomain on the forum if Fuzzy is ok with that Update: Fuzzy is!

The client is written in HTML5 and open source. So no issues with different operation systems, just having a browser would make it work. Ultimate portability. Would even work on iPhones and iPADs without the need to get it in to their app catalog. So this would tap a new source of users for Peercoin. Also possibility to unify desktop and mobile client (as the next step).

Would it be good to help/contact them and/or create a version that supports Peercoins?
Personally I think this would be a great asset for the Peercoin community to have.

Bounty?
Please vote and let me know what you think. If there is a lot of interest and pledges I’ll open up a thread in the Bounty section and give it go and contact the original developers whether they are supportive.
More information about Fuzzy’s development fund in another post in this thread.

Developers
Would also love to hear from developers at what price they would consider to give this a go in order to make it work for Peercoins. PM me if you don’t want to have it out in the open. It would just give me an indication of the feasibility of this and whether to initiate a bounty thread.

Poll
The poll runs for 30 days and you can change your vote. You can only see the results after you’ve voted. If enough interest, I won’t wait for 30 days posting a bounty thread though.

Hosting
The primary idea is to have the server side hosted here at peercointalk.org (or any other trusted place). The users would only be exposed to the webbased client (e.g. webwallet.peercointalk.org).
This would make it actually way easier for newbies as they don’t need to download a client and install it on a PC. Just go to the browser and login (blockchain.info style wallet).

Use cases
Have a look at my post below about other potential use cases (e.g. selfhosting)

Yeah this would be good to have and what I have been saving the development fund for such purposes hence my vote for that.

Yes i am more than happy to host it on subdomain of forum something like webwallet.peercointalk.org but if this was the case I would love to see someone alter the open source code here from the community to claim the bounty or funds set for this… though a requirement to test, debug, make unique for peercoin and maintain the code should also be incorporated into the bounty to stop sloppy quick work to just claim the reward and not maintain the service.

Fuzzybear

Well it’s one man who’s doing it, and he seems resistant to being bought out or corrupted (has decided never to monetize) which is a good thing. Since it’s under heavy dev with one breaking fork already you should definitely contact him and talk to him before doing anything.

However I see limited usefulness because it’s for advanced users. It still relies on the bitcoind daemon running in the background and if you use that why not use the bitcoin-qt GUI? In other words it is just a front end to the original bitcoin client which requires sysadmin skills to setup. Webservers are not and never will be for the common man. https://github.com/kyledrake/coinpunk/blob/master/docs/INSTALL.md

Yes, I (or someone else) will definitely contact him before we start working on this. At this stage I’m just checking the level of interest in the community. If we even don’t get to 20+ posts backing this, we might spend our time on something else first.

I really don’t think this is for advanced users, on the contrary. Only if you want to host it yourself, you need to be an advanced user (e.g. be able to setup your own VPS).

The idea is to have the server side hosted here at peercointalk.org (or any other trusted place). The users would only be exposed to the webbased client (e.g. webwallet.peercointalk.org).
This would make it actually way easier for newbies as they don’t need to download a client and install it on a PC. Just go to the browser and login (blockchain.info style wallet).

Unlike keeping your PPCs at the exchange, you would actually be able to mint blocks as there is a full client behind your webwallet.

[quote=“FuzzyBear, post:2, topic:1872”]Yeah this would be good to have and what I have been saving the development fund for such purposes hence my vote for that.

Yes i am more than happy to host it on subdomain of forum something like webwallet.peercointalk.org but if this was the case I would love to see someone alter the open source code here from the community to claim the bounty or funds set for this… though a requirement to test, debug, make unique for peercoin and maintain the code should also be incorporated into the bounty to stop sloppy quick work to just claim the reward and not maintain the service.

Fuzzybear[/quote]
Great to have your support, Fuzzybear. And I agree that the bounty should be split between delivery and maintenance. Let’s work through those details when we have enough support for this idea.

Edit: Just sent an email to Kyle, the developer. Just checking his interest and where he’s at.

Apologies for the bump, but I’m really hoping for a few more voters, even if you don’t like my proposal.

Just a few more words about it:
I think this fits perfectly into the discussion about store of value, attracting more users while retaining usability.
In case it was not clear, you can self-host if you really trust now one, but it is not user-friendly. But I think this solution is as safe as 3rd party mobile wallet solution can be.

BTW Haven’t heard back from developer yet. Does someone has a better inroad than just his advertised email address which is probably been spammed.

I think an online wallet (like blockchain.info is for bitcoin?) is a great idea.
I did not vote in the poll, as I did not know what Fuzzy’s development fund was

Another thing is: how much does an online wallet cost to set up? Without that, estimating a donation is not possible

[quote=“RobertLloyd, post:7, topic:1872”]I think an online wallet (like blockchain.info is for bitcoin?) is a great idea.
I did not vote in the poll, as I did not know what Fuzzy’s development fund was

Another thing is: how much does an online wallet cost to set up? Without that, estimating a donation is not possible[/quote]
Information about Fuzzy’s development fund can be found here: http://www.peercointalk.org/index.php?topic=1906.0

There is definitely a cost to hosting those online wallets. When multiple wallets can be shared on one server/processor the costs will be shared and be relatively low. The costs can be funded by advertisements served to every online webwallet holder whether service is used or by a low monthly fee. Hard to put a dollar amount on it, but when pressed I think it shouldn’t cost more than 1 or 2 dollars a month per wallet in a shared hosted service (like blockchain.info) as far as I understand the architecture of the coinpunk.org product we are talking about.

And if you are really want to take the plunge in the deep and setup your own server for hosting (called self-hosting), it would just cost to do that.

Hope this additional information helps to gain your vote and that of a few others.

Next step assuming enough interest, is to commit people and/or Fuzzy’s development fund to contribute to an appropiate bounty. The bounty would pay to fork a Peercoin specific branch of the web-based wallet and maintain the code going forward for a while. We might include some ‘features’ for those contributing to the bounty and ongoing development.

[quote=“bkchain, post:26, topic:1434”]I took quick look at coinpunk, quite interesting. Didn’t check into details yet (current status, feasability, etc…).

I also had another option in mind, based on http://carbonwallet.com/.

Advantages:

[ul][li]Much more easy to develop/adapt[/li]
[li]Client-side only![/li]
[li]Most of functionalities are the same (sign, send TX from browser)[/li]
[li]Almost nothing to setup server-side[/li]
[li]Security is client side => server-side doesn’t need to worry too much about security, backup, etc… SSL to avoid man in the middle and opensource should be enough hopefully.[/li]
[li]I was planning to extend it so that user can also generate a watch-only seed (not sure if I could keep it at only 12-words tho…) that he could use most of the time on unsafe computers (see BIP0032 & electrum for details)[/li]
[li]Compatible with a future electrum PPC port (if we keep the same seed system).[/li]
[li]Later some account system could still be added (but it might prove unecessary?)[/li]
[li]Also possibility to make tx sign offline (in combination with public seed account to send it?)[/li]
[li]Easy to use same seed for many altcoin[/li][/ul]

Let me know what you think.[/quote]
I took this discussion from the thread here: https://www.peercointalk.org/index.php?topic=2001.msg18022#msg18022
Didn’t want to post off-topic in his thread and I tought this thread would be a better place to have discussion of which webwallet to port and why (and I can use a few bumps here :smiley: )
Just like to elaborate a bit more. Why would one use a webwallet for Peercoins? Common arguments against it are; this is against decentralisation and it is inheretly unsecure as you need to trust a 3rd party.

So with this in mind I like to describe three use case for users I think still do want something like a webwallet:

  1. The more than average technical user who is able to setup and maintain one or more servers at home but also hits the road from time-time and is therefore looking for flexibility to manage the wallet remotely (e.g. receiving or sending payments at PoS). This user is still keen to maintain a decentral model and maximum security. Coinpunk would work for them.
    Edit 7/2
    1b) The users with more than an average number of Peercoins who don’t want to go through the technical hassle of setting up servers, cold storage or just want to keep their funds at hand when on the road and wants to select a technical oriented trusted third party themselves (e.g. family member, accountant, etc.). They can point their chosen trusted third party to host and setup their personal webwallet on a dedicated server with Coinpunk.

  2. The average users who like to do easy PoS payments with relatively small amounts (up to $1000/day). This user probably have at least two wallets, one to keep their savings secure either on a device (e.g. PC) at home or in cold storage. They would use the webwallet on their mobile device to do easy PoS payments and accept a certain risk by trusting a 3rd party provider (e.g. peercointalk.org or bkchain.org). They can use any Peercoin webwallet Carbonwallet.com style (when ported) including Coinpunk (when ported).

  3. The average user without a PC who accepts the risk of a malicious 3rd party stealing all their money. They would trust e.g. Peercointalk.org or another host with a track record. This user only has one or more mobile device (no PC at home) and therefore needs a mobile client. With the HTML5 implementation Coinpunk would be compatible with many devices (including iPads) going forward assuming they have a modern browser.

Above use cases describe why I think Coinpunk is a product to invest in as a community as it covers all three use cases pretty good.

Against Coinpunk is that the product is in beta and probably not that mature as carbonwallet.com (or other Bitcoin webwallets). This can be seen as an opportunity to make a more specific Peercoin like experience instead of just a copy/paste of a Bitcoin product. Or as an issue as we won’t be able to easily piggy-back on future developments of the Bitcoin version.

As far as I have read both coinpunk.com and carbonwallet.com are deterministic wallets (https://en.bitcoin.it/wiki/deterministic_wallet), which also means that you don’t need a private key on the server side. Encryption and key generations all happens on the client side.

Let me know what you think what is more important for the average Peercoin user (specific Peercoin product probably needing a higher bounty to maintain or Bitcoin clone which is potentially cheaper to run).

Would also like to hear whether you identify with one of the use cases?

And don’t forget to vote if you haven’t done already!

Edit 7/2: added use case 1b, technically similar setup as 1 but kind of dedicated self hosting for non-technical users not trusting TTP’s in the current market.

[quote=“Cybnate, post:9, topic:1872”][quote=“bkchain, post:26, topic:1434”]I took quick look at coinpunk, quite interesting. Didn’t check into details yet (current status, feasability, etc…).

I also had another option in mind, based on http://carbonwallet.com/.

Advantages:

[ul][li]Much more easy to develop/adapt[/li]
[li]Client-side only![/li]
[li]Most of functionalities are the same (sign, send TX from browser)[/li]
[li]Almost nothing to setup server-side[/li]
[li]Security is client side => server-side doesn’t need to worry too much about security, backup, etc… SSL to avoid man in the middle and opensource should be enough hopefully.[/li]
[li]I was planning to extend it so that user can also generate a watch-only seed (not sure if I could keep it at only 12-words tho…) that he could use most of the time on unsafe computers (see BIP0032 & electrum for details)[/li]
[li]Compatible with a future electrum PPC port (if we keep the same seed system).[/li]
[li]Later some account system could still be added (but it might prove unecessary?)[/li]
[li]Also possibility to make tx sign offline (in combination with public seed account to send it?)[/li]
[li]Easy to use same seed for many altcoin[/li][/ul]

Let me know what you think.[/quote]
I took this discussion from the thread here: https://www.peercointalk.org/index.php?topic=2001.msg18022#msg18022
Didn’t want to post off-topic in his thread and I tought this thread would be a better place to have discussion of which webwallet to port and why (and I can use a few bumps here :smiley: )
Just like to elaborate a bit more. Why would one use a webwallet for Peercoins? Common arguments against it are; this is against decentralisation and it is inheretly unsecure as you need to trust a 3rd party.

So with this in mind I like to describe three use case for users I think still do want something like a webwallet:

  1. The more than average technical user who is able to setup and maintain one or more servers at home but also hits the road from time-time and is therefore looking for flexibility to manage the wallet remotely (e.g. receiving or sending payments at PoS). This user is still keen to maintain a decentral model and maximum security. Coinpunk would work for them.

  2. The average users who like to do easy PoS payments with relatively small amounts (up to $1000/day). This user probably have at least two wallets, one to keep their savings secure either on a device (e.g. PC) at home or in cold storage. They would use the webwallet on their mobile device to do easy PoS payments and accept a certain risk by trusting a 3rd party provider (e.g. peercointalk.org or bkchain.org). They can use any Peercoin webwallet Carbonwallet.com style (when ported) including Coinpunk (when ported).

  3. The average user without a PC who accepts the risk of a malicious 3rd party stealing all their money. They would trust e.g. Peercointalk.org or another host with a track record. This user only has one or more mobile device (no PC at home) and therefore needs a mobile client. With the HTML5 implementation Coinpunk would be compatible with many devices (including iPads) going forward assuming they have a modern browser.

Above use cases describe why I think Coinpunk is a product to invest in as a community as it covers all three use cases pretty good.

Against Coinpunk is that the product is in beta and probably not that mature as carbonwallet.com (or other Bitcoin webwallets). This can be seen as an opportunity to make a more specific Peercoin like experience instead of just a copy/paste of a Bitcoin product. Or as an issue as we won’t be able to easily piggy-back on future developments of the Bitcoin version.

As far as I have read both coinpunk.com and carbonwallet.com are deterministic wallets (https://en.bitcoin.it/wiki/deterministic_wallet), which also means that you don’t need a private key on the server side. Encryption and key generations all happens on the client side.

Let me know what you think what is more important for the average Peercoin user (specific Peercoin product probably needing a higher bounty to maintain or Bitcoin clone which is potentially cheaper to run).

Would also like to hear whether you identify with one of the use cases?

And don’t forget to vote if you haven’t done already![/quote]

Ok, thanks for your explanation!
I’ll check coinpunk into details when I have little bit more time, probably next week.

I could & I would definitively add PPC to http://coinplorer.com (blockexplorer & more currently, + web wallet coming soon for all supported currencies)… if the daemon returned proper JSON on getblock/decoderawtransaction (the same way bitcoind does, ie not with a “include trx in block” parameter, 2 distinct methods).

Basically, I do the following to import the whole blockchains:
getblockhash/getblock
==> getrawtransaction/decoderawtransaction

Including the transactions in block could be fine too, but it’s easier for me if it’s compatible with bitcoind 0.8

Correct the daemon and you’ll have your web wallet :slight_smile:

[quote=“crazydownloaded, post:11, topic:1872”]I could & I would definitively add PPC to http://coinplorer.com (blockexplorer & more currently, + web wallet coming soon for all supported currencies)… if the daemon returned proper JSON on getblock/decoderawtransaction (the same way bitcoind does, ie not with a “include trx in block” parameter, 2 distinct methods).

Basically, I do the following to import the whole blockchains:
getblockhash/getblock
==> getrawtransaction/decoderawtransaction

Including the transactions in block could be fine too, but it’s easier for me if it’s compatible with bitcoind 0.8

Correct the daemon and you’ll have your web wallet :)[/quote]
Thanks for your offer, it would be good to have Peercoin added to coinplorer.com especially if it comes with a webwallet.
The issue you are describing is likely to be solved with the 0.4 wallet release somewhere in the next months.

Haven’t spoken to a developer but I highly suspect that the new 0.4 wallet would also make it easier to port Coinpunk. Instead of putting out bounties now, we might just wait a bit longer for the bitcoind 0.8 compatibility, which probably will make things a lot easier to port for Peercoin. But happy to be advised otherwise.

[quote=“Cybnate, post:12, topic:1872”]Thanks for your offer, it would be good to have Peercoin added to coinplorer.com especially if it comes with a webwallet.
The issue you are describing is likely to be solved with the 0.4 wallet release somewhere in the next months.[/quote]
That’s really good news! Don’t hesitate to email me when the git is up to date, so I can upgrade my daemons and start importing the blockchain!

FYI, here is the mess I’m talking about, absolute crap:

./ppcoind getblock df7566f91087349515ac086137269db894bc4a022f3576b86ba34d83d271c907 true { "hash" : "df7566f91087349515ac086137269db894bc4a022f3576b86ba34d83d271c907", "size" : 1085, "height" : 98590, "version" : 1, "merkleroot" : "6fc6d36ec8cd674b2556453b7027662e1e40b1b32688f0ad519230643f31dc53", "time" : "2014-02-26 19:29:08 UTC", "nonce" : 0, "bits" : "1c1d7d9c", "difficulty" : 8.68058157, "mint" : 0.24000000, "previousblockhash" : "8ad402f20872fe08149675b5b8666dceeb8cf69dd197c1ae77e5eda1130b3302", "flags" : "proof-of-stake", "proofhash" : "000000c06e880d9d9fe5394728546380a7de5c11d5ee35ec70f5afd815d713a0", "entropybit" : 1, "modifier" : "ada037c21be53c51", "modifierchecksum" : "d405545e", "tx" : [ "4558329bfea6018d25763a6d11928d39dde7df5c72eac7f571ef039ce625181d base", "2014-02-26 19:29:08 UTC", " 0000000000000000000000000000000000000000000000000000000000000000 -1", " out 0.00 ", "5151bb375953bf2cdef7ebb092b30cf4018e70423296807956f5bbb92ef35e84 stake", "2014-02-26 19:29:08 UTC", " 40492b69791ed6bff54331a1974dbbbc1359e5a35e1e313988d7f154ff3f8bce 1", " out 0.00 ", " out 62.67 0384c17587 OP_CHECKSIG", "5a8a08c662a28206ded2eb943ce9c4fa3dc1d1b6dcea1bb357bbe6ee2f9ea213 user", "2014-02-26 19:26:01 UTC", " e2126b280a13633f463da685bed0fde20ac036544440b18ee98ac269c1d21175 1", " 1aa5ef398e8aa0d40d0ea7f8a5e846ae432cdac25e8783bc2d7582e6be29b7f1 1", " f606d7f44f0cbb8c36de86e4d27fba0d62f0817f972bf230d7f4131bd552c4bc 1", " 8c6e16c663fd6eda3761e9a57c5446b1571e969b10809269cde89295ec91a7a5 0", " out 0.151922 OP_DUP OP_HASH160 d103b5ea88 OP_EQUALVERIFY OP_CHECKSIG", " out 606.68 OP_DUP OP_HASH160 646bd95468 OP_EQUALVERIFY OP_CHECKSIG" ] }

Is the web wallet going to generate proof of stake minted coins for the owner?

Nope, not mine, except maybe if someone releases a JS library that makes it easy, and even though I’m not sure I will even implement this: complicated, insecure, etc.

The most secure webwallet is the one which you can host yourself. That’s where the coinpunk architecture stands out. At the same time the same product can be used for hosting by a 3rd party. So it addresses several use cases and security requirements and is open source. That’s why I think this is a product to go with.

We just need to find someone who can port and extend the code for use with Peercoins and maintain the code for a period of time, either with or without the Bitcoind v0.8 which we all hope will be included in wallet v0.4.

Ok, with some further guidance from the community and a bit of research, I’m convinced that Omniwallet instead of Coinpunk is indeed the best way to go for Peercoin (and Primecoin). It is also open source from front-end to backend and you would have the ability to host the wallet on your server or an environment you trust unlike some other similar products which recently posted on this forum.

So I hope that I convince readers of this thread and all of you who voted will consider a donation towards the omniwallet development. This is not the same as the Android wallet, which is Peercoin and Android specific as I understand.
Donating can be done here: peer4commit.com and click Support button of Omniwallet. I have already seeded it with 5 PPC and will further add to it when more people start supporting it.

FYI With Omniwallet you can have multiple coins and the client is webbased, so it will work on Android, iPad/iPhone, Windows Phone etc. Check out the Omniwallet thread here: http://www.peercointalk.org/index.php?topic=2434.0

In the end, was there a bounty on web wallet?

No, it went to Omniwallet development. See peer4commit.com

But given your contributions I’m keen to advertise your work on developing a webwallet for Peercoins when open source. this can be through peer4commit or the peer4tasks we are working on. In the mean time I suggest that you advertise your address for donations and invite testers for your Alpha wallet.