From: Bryan Bishop <kanzure@gmail.com>
To: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: [bitcoin-dev] Fwd: [ots-dev] miniOTS: ots proofs that fit in a tweet
Date: Wed, 5 Jun 2019 09:24:29 -0500 [thread overview]
Message-ID: <CABaSBawj6Su1i0F0-fL4Q1O+wU5rnC41qCno7BF3M2nVFMnVRw@mail.gmail.com> (raw)
In-Reply-To: <8736konncj.fsf@jb55.com>
[-- Attachment #1: Type: text/plain, Size: 3405 bytes --]
---------- Forwarded message ---------
From: William Casarin <jb55@jb55.com>
Date: Wed, Jun 5, 2019 at 9:13 AM
Subject: [ots-dev] miniOTS: ots proofs that fit in a tweet
To: <ots-dev@lists.opentimestamps.org>
Hello OTS people,
Following from my previous post about cleartext OTS proof sharing[1],
I've been working on a new OTS format called miniOTS, which is
minimal/compressed format that allows attestations to fit in a tweet[2]
and for other space constrained contexts.
Just stripping out additional attestations in the standard format only
gets it down to just above ~280 bytes when base58 encoded, which is too
much for a tweet, so I decided to roll a custom format that is a bit
more efficient with attestation and op tags.
The goal was to have small enoughs proofs that I could reply to a tweet
with the stamp of the previous message, instead of relying on external
sites such as @otsproofbot
Current format (210 bytes, 288 bytes base58-encoded):
00000000: 004f 7065 6e54 696d 6573 7461 6d70 7300 .OpenTimestamps.
00000010: 0050 726f 6f66 00bf 89e2 e884 e892 9401 .Proof..........
00000020: 08cb 2d4a f572 8d44 a5b0 7c7b f1ff 78a9 ..-J.r.D..|{..x.
00000030: 1818 7270 13f1 9bbd f4b0 344b 9e93 0c6b ..rp......4K...k
00000040: 39f0 1020 34fe cad9 edef bab0 3420 e4ee 9.. 4.......4 ..
00000050: d3a7 c608 fff0 107c 31f7 da6c dbf2 3271 .......|1..l..2q
00000060: 904c c5dd f58d eb08 f120 e4f7 3eaf a747 .L....... ..>..G
00000070: 324a f096 1aa0 928d e1c1 91bf 3c38 237d 2J..........<8#}
00000080: d412 c1c0 e94c d4ae 3f76 08f1 045c 4cb3 .....L..?v...\L.
00000090: a4f0 08f7 834d 4b14 68fd 41ff 0083 dfe3 .....MK.h.A.....
000000a0: 0d2e f90c 8e2c 2b68 7474 7073 3a2f 2f62 .....,+https://b
000000b0: 6f62 2e62 7463 2e63 616c 656e 6461 722e ob.btc.calendar.
000000c0: 6f70 656e 7469 6d65 7374 616d 7073 2e6f opentimestamps.o
000000d0: 7267 rg
miniOTS format (133 bytes, 183 bytes base58-encoded):
00000000: 6f74 7301 8a20 34fe cad9 edef bab0 3420 ots.. 4.......4
00000010: e4ee d3a7 c683 8a7c 31f7 da6c dbf2 3271 .......|1..l..2q
00000020: 904c c5dd f58d eb83 8be4 f73e afa7 4732 .L.........>..G2
00000030: 4af0 961a a092 8de1 c191 bf3c 3823 7dd4 J..........<8#}.
00000040: 12c1 c0e9 4cd4 ae3f 7683 8b5c 4cb3 a48a ....L..?v..\L...
00000050: f783 4d4b 1468 fd41 9a2b 6874 7470 733a ..MK.h.A.+https:
00000060: 2f2f 626f 622e 6274 632e 6361 6c65 6e64 //bob.btc.calend
00000070: 6172 2e6f 7065 6e74 696d 6573 7461 6d70 ar.opentimestamp
00000080: 732e 6f72 67 s.org
base58 before:
12j6JNmon36jC1MMcpvC8nHqg5p8DAT2mmPQ5aLaBmAbk8naEVt8HFVohRqkuMXZF2Wo2n9kv
5ByeL17yUww4NHuFyCT6PXsGxRuEZ12Z33gsLbXL5FuFmnvMLd3tzf76n69J7qxLPxmoAgm1z
9NEMi2MRypDNKy1GypGN5NLwerzy1nU5g5dZxV6TZ5rBs4gYqnMNJn9VMkfKeDSZ9M8aoMWrL
ShokXUpnS1qrqkTvTwyKMx17fhKfcP9FyhNkb81t8dwYLtBsN4QuP9UAktMUvjEoBzHt
base58 after:
6gQjQUehytgUevKLRtAFYbC6UJX72LCDgVWxAUPsCt3tqEVTEQfmUB1T1Y1GTyY8sugiPY97K
gWRPPXYJmH3J5jqVtyNLrzdkySM6VAYDVckya9BxbUbFB8Gs4U3LHEauTmgCPEhGhiRdC3eFW
63SwfAvKB8Q8Ku8ZM9uASCwWZ8K2AoVabuAn
You can check it out here:
git clone https://git.sr.ht/~jb55/ots-tool
This is still a work in progress, I haven't built the miniOTS -> OTS
decoder yet.
make
./otsmini file.ots
Cheers,
Will
[1] id:878t1fzn0v.fsf@jb55.com
[2] https://twitter.com/jb55/status/1136260220521336832
--
- Bryan
http://heybryan.org/
1 512 203 0507
[-- Attachment #2: Type: text/html, Size: 4709 bytes --]
parent reply other threads:[~2019-06-05 14:26 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <8736konncj.fsf@jb55.com>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABaSBawj6Su1i0F0-fL4Q1O+wU5rnC41qCno7BF3M2nVFMnVRw@mail.gmail.com \
--to=kanzure@gmail.com \
--cc=bitcoin-dev@lists.linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox