# Transaction Obfuscator

**URL:** <https://forum.grin.mw/t/transaction-obfuscator/7890>\
**Category:** Research\
**Created:** [October 12, 2020, 7:20pm UTC](https://forum.grin.mw/t/transaction-obfuscator/7890 "2020-10-12T19:20:28Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![oryhp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/oryhp/32/2923_2.png) [@oryhp](https://forum.grin.mw/u/oryhp)\
**Post date:** [October 12, 2020, 7:20pm UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/1 "2020-10-12T19:20:28Z")

</div>

I’ve tried to describe what I refer to as a transaction obfuscator which I tried to describe a few times on the keybase chat. I believe this path is worth debating and researching further.  
Aggregator+Obfuscator could be a good privacy combination. The reason I’m bringing it up now is because the early payment proofs might make the idea of output swapping unfeasible, so we should perhaps take some time to explore this path before we discard it.

> <https://gist.github.com/phyro/22be7833265a4448eb3815ff8ae8c4de>

---

<div class="post-metadata">

**Author:** ![tromp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/tromp/32/22_2.png) [@tromp](https://forum.grin.mw/u/tromp)\
**Post date:** [October 12, 2020, 10:10pm UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/2 "2020-10-12T22:10:03Z")

</div>

I fail to see how early payment proofs conflict with output swapping, as the latter doesn’t need to change the public excess.

---

<div class="post-metadata">

**Author:** ![vegycslol](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/vegycslol/32/3340_2.png) [@vegycslol](https://forum.grin.mw/u/vegycslol)\
**Post date:** [October 12, 2020, 10:14pm UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/3 "2020-10-12T22:14:40Z")

</div>

aren’t payment proofs proved by providing the signature of the receiver? so they commit to the excess of the receiver, which doesn’t contain the offset. So the receiver needs to keep the same private excess for the payment proof to remain valid or not?

---

<div class="post-metadata">

**Author:** ![tromp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/tromp/32/22_2.png) [@tromp](https://forum.grin.mw/u/tromp)\
**Post date:** [October 13, 2020, 7:17am UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/4 "2020-10-13T07:17:01Z")

</div>

Yes, the receiver cannot change their excess, which equals  
their outputs minus their inputs minus their offset times G.  
So they can make any changes that keeps this equation balanced.

---

<div class="post-metadata">

**Author:** ![vegycslol](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/vegycslol/32/3340_2.png) [@vegycslol](https://forum.grin.mw/u/vegycslol)\
**Post date:** [October 13, 2020, 8:36am UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/5 "2020-10-13T08:36:43Z")

</div>

i see, i forgot how offset is applied. If it’s embedded in the Xr then output swapping still works 🙂

---

<div class="post-metadata">

**Author:** ![oryhp](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/oryhp/32/2923_2.png) [@oryhp](https://forum.grin.mw/u/oryhp)\
**Post date:** [October 13, 2020, 6:29pm UTC](https://forum.grin.mw/t/transaction-obfuscator/7890/6 "2020-10-13T18:29:05Z")

</div>

It seems to have been a false alarm regarding the breaking of output swapping idea, my bad.
