# Update commitment for Besu: This is my understanding how it should work for 1 commitment and 1 leaf: `update_commitment(commitment, newValue-oldValue, index)` So those are 2 32byte and 1 byte values. Total 65bytes. Rust can easily process that. Then rust takes the commitment (which is a banderwagon element) and we do `new_commitment = commitment + (newValue-oldValue)*CRS[index]` Where `newValue` and `oldValue` are `Fr`s. Reg updating multiple values in one commitment: It can be done for multiple values in the same commitment, just we would need to pass multiple Bytes32 `(commitment, (newValue_1-oldValue_1), (newValue_2-oldValue_2) ...., index_1, index_2...)` Rust part: - cut first 32 bytes to get the commitment - split the rest in 2 parts - First part is all the `(newValue_i-oldValue_i)` parameters - Second part is all the `index_i`