Announcing ICPP - A protocol for P2P privacy-enabled transactions on the Internet Computer

You could say so :grin:

I provided a hopefully better explanation above.

Not necessarily. Actually, Bob does not know it was Alice who sent him some ICP unless Alice tells him :grin:

He will see “there is a deposit you can claim in your favor” and that’s about it. He needs Alice to tell him “hey, check out as I sent some dosh your way…”

The other question is a bit rhetorical: knowing them does not mean you “know” what they’re up to. Even if you know their addresses.

In the same way, nothing (no maths, no infrastructure, no wits) will shield you from a $5 wrench attack. That’s where cryptography pretty much stops.

1 Like

I am imagining the opening scene from the dark night where the jokers men pass the money from one to the next, each killing eachother as they work to complete the robbery. That’s how I imagine this works in my head (not the robbery part) but the couriers who only know their part of the plan, and their demise when all is said and done, so no one is left to tell the tale. And the money arrives where it was intended :sweat_smile:

1 Like

Actually, that’ not a bad analogy :grin:

To me at least, ICP needs something like this. Look, I cannot claim there are no better alternatives that could be implemented on the ICP tech stack, but it seems to me that rather than thinking how to issue a wrapped version of Zcash, say, it’s better for this house to have a protocol that works natively with ICP.

If people want to use Zcash or Monero there are better ways that through a wrapping concoction here, which will come with compromises.

The narrative can (and I think should) be shifted to “hey, and now there is a privacy coin on the Internet Computer; no, hold on, their own native token can be transacted privately”. So no new digital asset for which you have to “create a market.” The market is already there for ICP, however small it is (but it’s certainly not zero).

That would, or so one hopes, generate attention towards ICP itself, not some “other token” running on what it is a small network by MarCap. We don’t like it, but that’s the reality. Be as it may, if it drives attention it will drive demand. If it drives demand, well, it will push ICP price higher. If that happens and irrespective of ICPP people will warm to the token. Not too difficult to understand.

Zcash has been build by a group of very talented people, but it was a bit of a “zombie coin” (like, say, a IOTA of all tokens) until a group of KOLs and whales started pushing the privacy narrative (something they give 2 ***** about) for price to go kaboom until the narrative dissipated a bit. Well, they have already made their killing.

It’s that a demerit on Bryce (aka Zooko) or the crew? Nope. Their technology is impressive. It’s just a sign of how things move in cryptoland.

For this it’s me. I have no money nor stomach to engage KOLs, I am not a whale, I had no support from the Foundation for this (never asked for it…) nor expect any (as Caffeine is the new fetish) nor want any TBH. I believe ICP is a a great tech stack they are letting slip through their fingers. It’s on its way to become a new Tezos: they were neither here nor there (Arthur and Breitwoman made their killing with the ICO… and then they were smart to board the NFT train; that worked quite well until NFTs disappeared from the conversation… just hope Caffeine does not drive along the same path, but it rhymes).

Hence not so sure that’s they way you would want to go.

5 Likes

I get the separation now. In a way, creating a crypto burocracy ceremony for whoever wants to track something, making it technically and logistically infeasible. If we put the nefarious uses aside, transaction privacy is great against an AI building everyone a profile and knowing what you had for lunch and where. That is going to become really easy to do as LLMs improve. I think currently every boundary node provider has a lot of replica nodes as well, a single node in a subnet can read all transactions & state. Each node provider has multiple nodes in different subnets. A privacy protocol is kind of fighting with imaginary adversaries, but if it really proves it`s hard to beat in the future, the more popularity it will gain. Great work so far!

3 Likes

yup characters…

happy to help you test the mettle of this thing :wink: @EdSalazar

1 Like

Not many realize that cryptography, in the real world, is not just about the wits placed behind the maths but about getting the cost-benefit right. In layman terms: Is the coordination cost for de-anonymization high enough?

Let’s see… you need multi-subnet collusion meaning that it has to happen

  1. Across independent operators
  2. With different economic incentives
  3. In a bounded time window
  4. Against ephemeral targets

This IMHO is better than either trusting the cryptography is sound (true, but insufficient), or trusting that canisters are black boxes (which isn’t the case), or that privacy is just an information-theoretic construct (it’s not: it’s game theoretic).

From an OpSec perspective, I added a small nugget: restricting transactions to 2k tokens. That limits the attack surface by the way of starving the air of economic incentives to make such an exercise worthwhile. It also has other implications, but let’s leave at that.

1 Like

how many intermediary transactions occur between bob and alice, on average?

Feel free to do so. I would say (because I can’t oblige anyone to risk real money) that at the very least sign on to the platform at https://icpp.tech and navigate its features, as an observer. That, in and by itself, would be quite useful. I’ve tried to make the ergonomics of the platform as easy on users as possible.

im not interested in sending large sums of money that I dont have, but I’m happy to dig for Alice given Bob, to prove your concept.

1 Like

There are 7 steps involved

Never suggested for you or for anyone to do that..! (risk money, that is)

1 Like

too late, I invested in ICP :rofl:

Anyways it will be a good test of your product! and mine!

Well, here you’re not involving anything but ICP. No new token, or wrapped whatever. Just ICP.

1 Like

yah sorry I was making a joke, because I already risked all my money in ICP. But I would love to try to trace a transaction through your thing. if you’re up for it, just DM me.

Question: Does the operation involve sending funds from one ICPP account to another, and then withdrawing them to any other address that supports ICPP? If so, this should be clearly stated in the basic knowledge presentation, as it differs significantly from typical privacy policy operations, making it too easy to lose funds. The risk to the operator is too high and unclear.

When do you expect to open-source/auditize/release the black hole controller, and then begin official operation? You’re amazing! This is a fantastic product, and I hope it will greatly promote the adoption of ICPs.:+1::+1::+1:

1 Like

Additionally, support for both II2.0 and OISY login methods should perhaps be added. II2.0 has already been officially released and is compatible with many IC ecosystems, making it more convenient for ordinary users.

Thanks. It does indeed involve moving funds between ICPP accounts but those are generated through delegation (as you are logging in using your Internet Identity) so there is zero risk of loss in relation to the accounts themselves. Should that happen, it would be a bug in the Internet Identity delegation process rather than ICPP.

ICPP supports II 2.0 as @dfinity/auth-client handles that directly. The implementation of derivationOrigin and the delegation chain format used are II 2.0 compatible. Passkey/WebAuthn are also handled by II 2.0 internally. In summary, the derived ICPP PID will be identical whether the user authenticates via II 1.x or II 2.0.

That said, ICPP principal is domain-bound and distinct from principals in other II-integrated wallets (Oisy, NNS, etc.). You can send ICP to/from your ICPP PID using dfx or any wallet, but you cannot import the ICPP PID into another wallet. This is inherent to Internet Identity’s privacy model.

The platform is now live. Just go to https://icpp.tech

Hi everyone.

Just making public the more substantial paper so that the community can understand what’s behind the code.

Access to the paper outlining the principles behind ICPP can be found here.

I have submitted it to ArXiV so given the fact that I need no endorsement to publish in the field, knowing their turnaround, and the fact that notifications do not happen on Saturdays (only Sun-Thu) with good tail wind it should be out tomorrow or in the next few days.

Anyway, you have an advance release here.

3 Likes