I co-authored a paper and (re-)developed an accompanying working prototype on the b_verify protocol in Go.
b_verify is a protocol to practically and scalably prove non-equivocation using Bitcoin. b_ verify witnesses logs of statements to Bitcoin, and, under the assumption that no one can double spend transaction outputs, b_ verifyguarantees that all clients will see the same sequence of statements. Unlike previous work b_ verify can scale to prevent equivocation for *millions* of applications: b_ verify can witness thousands of new log statements per second at a cost of fractions of a cent per statement.
I built practical use-case of witnessing sensor readings to the Bitcoin blockchain using b_verify, on top of the working core protocol implementation.