Zwallet & Ywallet Testing (RELEASED!)

It is ok, let’s just use the public one since it is the way most users will.

Thanks

1 Like

True, but now I’m curious to see the difference :slight_smile:

Local lightwalletd :-

Test Wallet : 2 minutes 33 seconds (27 seconds faster!!)
ZECpages : 6 minutes 7 seconds (6 minutes 34 seconds faster!!)

I think that’s as good as it gets unless people soak their phones in liquid nitrogen !!!

This was syncing from lightwalletd running on my test laptop (Intel i7, Ubuntu, 16Gb RAM) connected to the same wifi access point.

Public lightwalletd (ECC server, for test/dev purposes??) :-

nping -c 10 mainnet.lightwalletd.com
Max rtt: 172.051ms | Min rtt: 135.513ms | Avg rtt: 146.494ms
TCP connection attempts: 10 | Successful connections: 10 | Failed: 0 (0.00%)

Test Wallet : 12 minutes 28 seconds (much slower than yesterday, server issues ???)
ZECpages : 12 minutes 2 seconds (expected this to be slower)

ZECwallet server (bigger hardware with caching & enhancements etc)

Max rtt: 205.166ms | Min rtt: 173.433ms | Avg rtt: 188.100ms
TCP connection attempts: 10 | Successful connections: 10 | Failed: 0 (0.00%)

Test Wallet : 3 minutes 24 seconds
ZECpages : 12 minutes 47 seconds

Lesson learnt

  • Don’t rely on public servers for benchmark tests, too many variables
  • A fast network connection doesn’t help much, bottleneck is elsewhere (servers?)

EDIT: Used ‘nping’ for both servers and the correct server for lightwalletd, note that ‘nping’ is not the same as ‘ping’

5 Likes

Thanks for putting this together.

Lightwalletd isn’t hosted by github (only the source code). The server is at https://mainnet.lightwalletd.com:9067

ZEC Wallet server

That latency is very high. The server is too far from you.

I’m surprised that @bruges Huawei Nova performed so much better than your Nokia 3.1
They aren’t that for apart according to this benchmark:

https://browser.geekbench.com/v5/cpu/compare/83797?baseline=9089091

Btw, which version of zwallet did you use?

Thanks,
–h

Version 1.0.7-2057

The ping times are not equivalent, ‘nping’ uses syn packets to get around the ICMP block but there’s a handshake going on so takes longer.

Connection here is fast - fibre, dedicated gigabit eth, 802.11n access point …and I’m the only one using it!!

EDIT: Updated the ping stats & used the correct lightwalletd

1 Like

Cool. FINAL test!

Do you mind running the Zec Pages test with the version in production now? 1.0.8+59

Thanks

PS: This version of 2057 is bad. Hopefully, you didn’t use it
zwallet-dl.apk

1 Like

ZECpages test v1.0.8-59 loaded from Google Play :-

Local lighttwalletd : 2 minutes, 58 seconds
Public lightwalletd : 2 minutes, 59 seconds (almost identical!!)
ZECwallet lightwalletd : 3 minutes, 4 seconds (close enough)

A thought…I pulled in several updates to lightwalletd this morning, perhaps the public servers were updated & rebuilding their caches when I ran the last series of tests ?

EDIT: Lets finish with a meme

zwallet

2 Likes

To recap, this testing scenario is the worst case

  1. Using low tier phones,
  2. Old versions of Android,
  3. From opposite parts of the Earth,
  4. To independent public servers
  5. We restore a large wallet
  6. With no checkpoints
  7. And we retrieve all the transactions details

In 3 minutes

Give or take 10 secs. The test was repeated several times.

More details:

  1. Nokia 3.1+, Huawei Nova, Oneplus 3T. They score ~150 points on GeekBench. Current flagships score ~950 points.
  2. Running Android Nougat (7.0) & Oreo (7.1).
  3. Connected from Chile (GMT-4) and HK (GMT+8).
  4. Lightwalletd managed by the NightHawk team and ZecWallet team
  5. The wallet has ~2400 transactions and ~1600 unspent notes
  6. The restoration was carried from IVK and started at height 0 (or more precisely sapling activation height)
  7. Memos and transaction payment addresses were also retrieved and decrypted.

Unfortunately, we couldn’t compare with other wallets because none of them support accounts from FVK.

Typically, a full sync would be under 2 minutes.

7 Likes

Full sync on the Ycash wallet I mentioned earlier 1 minute 16 seconds.

5 Likes

does the fingerprint bypass work on your device? (i havent been issued a CVE yet)

I suggest for legal reasons / security that the the first boot of the wallet forces you to use a pin/pattern.

USA authorities can make you turn on a device and use biometrics. the law doesnt cover passwords or passnumbers - its why your phone always asks for pin on reboot rather than biometrics.

I dont know who to tag, so @ChileBob and @hloo - I hope this helps protect your clients balances kept on stuff like ledgers or hardware wallets

That’s an interesting point.

It uses whatever you’ve got setup to lock your phone, so in my case it’s a pin/pattern even though my phone has a fingerprint sensor…'cos I don’t register my prints

Easier to change a pin than get new fingers :slight_smile:

I’m just testing, the author is @hanh

2 Likes

The sensors in phones are better than the ones the UK police use. I bet 0.1 zec if you register anything as a fingerprint a reboot still asks for pin/pattern and will only boot if they are correct.

if you go one step further you can do this to the encrypted partitions on your phone. - not managed to decrypt it yet so still just a CVE (if and when i get to it) no time to try to get some exploit cash yet.

I a being paid by the community very well to put all my time into zephyr, so thats what I am doing

@hanh @ChileBob Question about outgoing transactions in Zwallet/YWallet…
Are they asynchronous? Or do you have to wait for 1 conf to send the next transaction?

So, say for example, I know that I am going to be paying like 20 people within a 10-20 minute period. And I have prepped my wallet to have several notes with sufficient balance for each transaction (eg 50 notes with 1 YEC or 1 ZEC). Will I be able to send the 20 transactions bing bang boom one after the other?

You can send them as long as they use different notes. That’s the reason I put coin control and split notes.

You can prepare your 50 x 1 zec with one transaction that has max note value = 1

Then when you spend, you can restrict to these notes with Coin Control.

2 Likes

@hanh That sounds pretty awesome! Thanks

With Coin Control, in the use case above would the notes be visually earmarked in the UI as already being used in a broadcasted transaction? Or would the user have to keep track of which coin/note they used? (I think the assumption here is until there is a conf, but I could be wrong)

If the note is in a in fly tx, it is not eligible for spending. Normally, you just need to exclude the other notes and keep spending. However, it is not a common scenario and should be tested again.

Edit: just tested. It works but the UI will indeed show the confirmed notes and not remove the notes that are in a unconfirmed tx. The engine does the right thing but the spendable balance is incorrect. You get an error if you try to overspend.

I had a version where the unconfirmed notes aren’t shown but I freaked out when a larger amount disappeared from the wallet than what I sent. I realized why but I wanted to avoid the confusion.

3 Likes

Also, if you have the list of people you need to pay, you can use multipay to make a single transaction that pays multiple people.

3 Likes

Conceptually I see what you mean by multipay; but how does it actually work in the app?

lightwalletd.com is supported by NightHawk Apps :slight_smile: (with funding from ZOMG I guess, but I’m not sure, but definitely not ECC’s)

2 Likes

The test times eventually merged for all public servers to 3 minutes for my Nokia CrapPhone - so there must’ve been something else going on. Probably updates & reloading caches…but at the weekend, who does that?

we just demo’d ywallet at zug and had great fun doing it. a few comments:

  • although there was a note re: importing keys being optional, I still happened to get stuck and rage quit at that step
  • multiple yaddrs - cool!! zecwallet doesn’t have this feature
  • budgetting tool - cool!! zecwallet doesn’t have this feature
  • was not sure how to interpret the +1.00 YEC in green on the main screen. this was present before our demo tx confirmed
  • received the memo after the tx was confirmed and the green quote disappeared!
  • not sure how SNAP addresses are different from typical yaddrs

keep up the good work! happy to demo this time and time, again

<3 James