Hacker News new | comments | ask | show | jobs | submit login
Show HN: Cipher – Mobile Ethereum Web3 DApp Browser (cipherbrowser.com)
76 points by raingrove on Jan 3, 2018 | hide | past | web | favorite | 49 comments

I really feel like the #1 problem for all crypto stuff is that it is completely unapproachable without having to learn a massive amount of new terms/vocabulary.

Look at this description: "The Power of Ethereum in the Palm of Your Hand Cipher Browser is the world's first full-featured mobile dapp browser and wallet for the Ethereum blockchain. Cipher allows you to interact with dapps powered by Ethereum on your mobile device and makes it easy for you to securely store, send and receive Ether and ERC20 tokens."

I have absolutely no idea what this is saying. Whoever can crack the nut of user experience for the layman (hell, even just technical folks who haven't spent the time to study all of these technologies/terms enough to know what the fuck they're talking about) is going to be very rich. Until then, this is just nerds catering to nerds.

Your feedback is legit. Unfortunately the app has to initially cater to the early adopters of Ethereum, but making Ethereum and Dapps approachable is the #1 goal of this project. I will be spending a lot of time on further simplifying the UI/UX of the app and the what you see on the website. If anyone wants to help, please let me know.

Sounds good. I would actually recommend just a literal glossary/"here's what all this stuff means if you're seeing it for the first time".

It would help if you define "Dapp" and give a few examples of "Dapps" that people might get value from.

An app whose data store is block chain based, as opposed to AWS infrastructure owned by whoever.

Decentralized App.

You seem to be the author. Can you explain why I would want to use this?

Are you running the light Geth client on the device?

It is a lot- but no harder to learn than the internet, or particularly esoteric apps. Eg www, http, web browser, snaps, stories, play store - all of these would mean nothing to a pre-internet person.

Lots of small UX improvements will add up to a lot, and if there’s genuine utility in dapps adoption people will overcome them

I think ethereal deliberately uses such fancy talk to wow people into buying ETH and pumping the value.

You do realize ETH is just the abbreviation/symbol for Ethereum (not "ethereal") right?

Yeah it's not like the good old days where I had to use my 'dial-up' 'modem' to connect to the 'world wide web' and go to AOL and use my 'keyword' to load a 'website' from their 'server' and 'download' my 'emails' - it was so simple back then without that jargon.

Usability isn't about only using existing terms, it's about explaining the process well during on-boarding.

Human language is malleable and we all now know 100x the technical terms we did in the 90s. The same will eventually happen with blockchain tech, you're just seeing it in the early stages.

Part of that is stating the value proposition for the user. Along with what it does, why would I use it?

It's actually the #1 benefit not the problem. It's not ready for the layman yet.

Maybe these two are one. It will be ready for the layman when these concepts are easily comprehended, with improved UX.

Dapp just means distributed app[lication]

Blockchains, distributed networks and especially the Ethereum community have called themselves web 3.0 and their primary javascript object to access web 3.0 functions is called web3

Think of the Ethereum network as a bunch of docker containers (nodes) that will execute random functions you throw at it and assume thats a good idea but either way you have to send ether for them to do it

Ether is a limited resource so therefore it has value because other people want to use it too. Ether is the gas on the ethereum network, and you have to use it as fuel to execute functions.

Still with me?

Okay great, before now it has been much more cumbersome to use any of this, and now you can do it from a mobile device

Erc20 is a standardized set of functions that make it easier to use the docker containers, it is the 20th one described and it caught on. This is analogous to REST protocols being made from a mere description in IETF RFCs. This particular standard primarily allows for the creation of new tokens. With this protocol, The docker containers will recognize the new unit of account and also execute the transfer functions to other Ethereum users. This works For all intents and purposes

Ethereum has been called the World Computer for these reasons

Erm, who made this and why should I trust it? Wallet apps need a lot of trust behind them, more than a normal app. It could be really well made and still run off with my money if they're malicious or just implemented the crypto wrong.

Just like Metamask, I wouldn't put more than a few hundred bucks of Ether in there and keep my real money in cold storage or coinbase.

Similar to how I put the majority of my money in a savings account and keep my savings account lower.

Exactly. Remember the recent Parity wallet fiasco?


The general principle applies but just in case anyone's confused, Cipher's wallet is a client running on the phone, and Parity's wallet was a smart contract running on the blockchain. It's a bit unfortunate that the term got reused for multisig contracts.

If that's really what I wanted, there are many much easier ways than making a full app, such as writing a lame whitepaper and doing a scam ICO. You will see a lot of open-source code from Cipher soon, hopefully that puts your mind at ease.

This is just a trusted RPC connection right? You're not embedding any sort of light (or otherwise) client? Are you running the nodes on the backend, as opposed to outsourcing to someone like infura? What are you running if so (geth, parity, something else) and how (single node or multiple nodes load-balanced)? Curious to hear the setup.

The app uses Infura, just like MetaMask, but future version will allow you to specify your own RPC. Geth/Parity light clients are not quite usable on mobile yet, but they are improving rapidly, so hopefully in the future.

Nice work!

btw, there is also the Ethers wallet which is open source and also in the iOS app store: https://github.com/ethers-io/EthersWallet-ios

the author is quite skilled and has spent a tremendous amount of time to consider a secure implementation throughout the entire code base. I highly recommend it.

This is really nice, it’s a bit annoying having to enter the entire recovery phrase during setup, could you just pick a few random words instead to enter?

My biggest concern with these types of apps is the security of the wallet, given everyone is rolling their own build, so personally I probably won’t put any real funds in here for some time.

You can tap on skip button in the corner but do copy it down as soon as you are able (it can be viewed again in settings screen).

Cipher uses features like the Secure Enclave chip to make things more secure, but obviously the best practice is to treat it as a hot spending wallet and use a hardware wallet to store large amounts.

Is there a way to copy the recovery password as text? I want to store it in my password manager, but typing in 20 words (correctly) passes my threshold for trying out new apps.

Curious to know if the source code is available out there? Would love to audit it before putting it to use.

Now that it is available on both iOS and Android app stores, we will be open-sourcing a lot of code in the coming weeks - this is one of them: http://github.com/petejkim/wallet.ts

In case anyone else is looking for the Android store link which isn't super easy to find, here it is: https://play.google.com/store/apps/details?id=com.cipherbrow...

(Worth adding to the homepage, btw.)

Awesome work Peter! This is leaps and bounds ahead of the competition (http://status.im and http://toshi.org)

For someone who's not at all in touch or in synch with all this, why should I install it? What is the value proposition? Just to send money to other people in an ideologically pure way?

> Just to send money to other people in an ideologically pure way?

Ha. Never seen that put that way before, but sure.

But aside from just the currency aspect of it, blockchain protocols that support distributed apps (dapps) or smart contracts also allow for programs to be run on the blockchain; a sort of distributed computing network. This app, aside from wallet/currency functions, appears to also allow you to interact with these distributed apps and see their state.

I spent some time playing with this yesterday and showed it to a few colleagues today. It's a cool implementation - feels like the beginnings of an app store for DApps.

Can’t get used to those iPhoneX screens. Still look awful to me.

Congrats on the work though. A major item for becoming a successful anything is having a large community. Broadening access to the technology helps a lot to achieve it.

US AppStore only it seems. Or at least not in NL.

Thanks! It should be available on every store except China (Apple didn't allow). Search for "Cipher Ethereum".

That worked. Strange, normally links as on your FP redirect to the right app store (region).

This looks cool -- good luck! (I just followed you on twitter)

How is this different from Status?

Status is still unreleased and supports testnet only whereas Cipher is available on both iOS and Android stores and supports Ethereum Mainnet. Cipher is also primarily a Dapp Browser before anything else, and we try to be compatible with as many Web 3 Dapps as possible and implement the latest enhancements to Web 3 API as quickly as possible. (e.g. https://github.com/ethereum/EIPs/pull/712 - eth_signTypedData)

I gotta say Status is a very cool project though (and really well-funded too and I own some SNT tokens as well) and I really appreciate all the work they are doing with Whisper protocol.

Status already got their ICO Lambos, have not released iOS app. These guys are just planning to get Lambos, but app is already in AppStore.

I use multiple devices, will it be possible to have two installs synced together? For some reason I had some difficulty with this on Status.

Yes, use the same recovery phrase. I wouldn't recommend making transactions simultaneously on multiple devices though.

Why? They would be separate transactions on Blockchain

Ethereum is different from Bitcoin in that it uses simple account balances, which are easier to deal with in smart contracts. To prevent replay attacks, each account has a nonce, which is included in the transaction.

You can check the blockchain for the current nonce of an account, but if you sent from the same account simultaneously from two devices, both transactions would get the same nonce and one would fail.

That is correct! Thanks for explaining!

Can't find the app in the play store . Is this country locked? Is there a apk from f-droid or a legitimate GitHub repo?

cool project! is it a cordova app or facebook react? as you have typescript in there it probably is something like that??

i think this really fills a great whole. i am happy that you did this work ;)

i would definitely be willing to contribute, if you open source it.

It's mostly React Native for the UI, but there's a lot of native code for crypto/secure enclave operations.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact