# SlateStore Protocol

**URL:** <https://forum.grin.mw/t/slatestore-protocol/9087>\
**Category:** Development and Technical Discussion\
**Created:** [July 2, 2021, 2:11am UTC](https://forum.grin.mw/t/slatestore-protocol/9087 "2021-07-02T02:11:06Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![renzokuken](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.grin.mw/renzokuken/32/3563_2.png) [@renzokuken](https://forum.grin.mw/u/renzokuken)\
**Post date:** [July 3, 2021, 2:23pm UTC](https://forum.grin.mw/t/slatestore-protocol/9087/8 "2021-07-03T14:23:41Z")

</div>

Currently, as explained by @david in [this post](https://forum.grin.mw/t/eliminating-finalize-step/7621)

> [@Eliminating finalize step](https://forum.grin.mw/t/eliminating-finalize-step/7621/1):
>
> Currently, grin transactions are created using the following 3 (simplified) steps:
> 
> 1. Send - Sender commits to amount, fee, and a public nonce, public excess. It could also commit to tx offset, inputs, change output, and probably others.
> 2. Receive - The receiver adds their output & rangeproof, and commits to their public nonce and excess. It then updates the total kernel commitment, and signs for their half of the kernel.
> 3. Finalize - The sender adds their half of the signature, aggregates the 2 partial signatures, and builds the final transaction.

the modified flow would consist of three actors: sender (Alice), receiver (Bob) and intermediary (Carol)

1. Sender commits to amount, fee, and a public nonce, public excess. It could also commit to tx offset, inputs, change output, and probably others. Transaction gets send to the intermediary.
2. The intermediary adds own fee output & rangeproof, and commits to their public nonce and excess. It then updates the total kernel commitment, and signs for their fraction of the kernel. Transaction waits until the receiver gets online and picks it up.
3. The receiver adds their output & rangeproof, and commits to their public nonce and excess. It then updates the total kernel commitment, and signs for their fraction of the kernel. Transaction gets sent back to the intermediary and waits there to get picked up by the sender.
4. The sender adds their part of the signature, aggregates the 3 partial signatures, and builds the final transaction.

---

_[View the full topic](https://forum.grin.mw/t/slatestore-protocol/9087)._
