# Proving that a block is valid

**URL:** <https://forum.grin.mw/t/proving-that-a-block-is-valid/10107>\
**Category:** Tech Support\
**Created:** [October 19, 2022, 3:26pm UTC](https://forum.grin.mw/t/proving-that-a-block-is-valid/10107 "2022-10-19T15:26:25Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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 19, 2022, 4:02pm UTC](https://forum.grin.mw/t/proving-that-a-block-is-valid/10107/2 "2022-10-19T16:02:15Z")

</div>

Each block satisfies the equation

Σ outputs - Σ inputs = Σ kernel + offset \* G + 60e9 \* H

which can be seen is a small variation on the equation for the entire transaction history [1], which has no inputs and the UTXO set as outputs.

> [@smooth.tent6298](#):
>
> I believe all these items: outputs, inputs, and excesses are represented as public keys - is that right?

No; they’re all Pedersen commitments, but only the kernels are represented as public keys, because they are Pedersen commitments to a zero value.

> [@smooth.tent6298](#):
>
> I don’t see any kernel excess keys, I’m guess they are just not shown in the UI

Correct. It would be nice if they’re shown just like inputs and outputs are.

[1] [Oneliner Grin: Σ utxo = Σ kernel + offset \* G + height \* 60 \* H](https://forum.grin.mw/t/oneliner-grin-utxo-kernel-offset-g-height-60-h/7309)

---

_[View the full topic](https://forum.grin.mw/t/proving-that-a-block-is-valid/10107)._
