You are reading content from Scuttlebutt
@Anders %OuCPmTXh8y2N9CK/bK7PO6AwuNKIN75D2hFjeR/RS5Y=.sha256
Re: %Pnas64BJ6

@moid each message signs itself just like current SSB feed format. What is different here is that you can optionally include signatures that spans a range. So lets say you get the first 100 messages from a feed and the author chose to also include signatures for every 25 messages. Then you can check the signatures on message with sequence 25 that covers seq 1-24 and then the signature on the message 25 itself. Similarly for sequence 50 you check sequence 26-49 and then the direct signature on message 50. That way you end up checking 8 signatures instead of 100. This is only for the signature part, you do all the normal checks on the other messages including checking backlinks etc.

We have this kind of debounced validation in db2 already so we should be able to leverage this for the above.

Some numbers from the prototype:

checking 1 feed of 7797 messages

db query: 934.799ms
validate classic js: 1.497s
validate classic rust (chunk size 100): 643.784ms
validate classic rust (chunk size all): 367.473ms

extract data: 57.453ms
single message validation: 713.28ms

next two are validation in bulk:
verify simple & hash: 61.372ms
verify signature: 61.289ms

encode butt2 to bipf for db: 78.488ms
encode classic to bipf for db: 211.728ms

I'm currrently tidying up the prototype and splitting out the code into a proper module that will hopefully be public within the next week.

Join Scuttlebutt now