Rollups to Mainnet

In order to keep costs down and transaction throughput high, we use a Layer 2 chain for transactions. We actually have two private chains, both are highly available fault-tolerant networks running in Windows Azure Availability Zones. Depending on a customer's needs for transaction finality one network is chosen over the other; both can be considered equivalent.

When Do Rollups Occur?

This is configurable. Currently, the schedule is the last day of the month. We also perform rollups after a chain infrastructure change as it's cheap, and it gives another checkpoint for layer 2 verification.

What is Rolled Up?

There are actually two rollups performed, this page details the Ethereum rollups that are performed, but we also perform rollups for the Bitcoin network. The Bitcoin rollups are performed in a similar manner, see here for details.

When the rollup occurs it takes the hash of the current block of the source chain (Bernard) and notarises this on a Mainnet contract on Mainnet. See the below table for the rollups that have occurred.

Click on any of the Target Cain Transactions below, then click "+ Click to Show More" beside More Details. The Input Data uses the following format:

Start Length Description Example
0 10 Always 0x69d154b2, which is the function selector for notarise(uint256,uint256,address,bytes32) 0x69d154b2
10 64 The number of the block on the source chain that is being rolled up, zero padded to 64 characters. 00000000000000000000000000000000000000000000000000000000014a0344
74 64 The ASCII word "Roll" zero padded to 64 characters. 00000000000000000000000000000000000000000000000000000000526f6c6c
138 64 The address who this notarisation is performed on behalf of, this can be ignored. 000000000000000000000000c04c023df4da86ad2551b778fc4a5f9b237fc85b
202 64 The hash of the block on the source chain. 9efe3fa03be470f63f7c80df1207b9cce727caecea6d6d5bd3bf3c250acf8ed3

How Can I Verify the Private Chain?

The hashes of the chain prove its integrity. If you examine a block and look at the transactions inside you can use all the transaction hashes and importantly the hash of the previous block to calculate the current block's hash. If there is a discrepancy there is something wrong. When they match it shows the block is valid and has not been tampered with. You can do this for each block between rollups to verify that since the last rollup all transactions on the private chain are correct.

Where Is The Verification?

It makes no sense to provide proof that our network is valid, that is implied. If there is any question as to the validity of a transaction we provide them below for anyone to independently verify the chain.

Id Source Block Number Source Block Timestamp Source Block Hash Target Chain Transaction
32 0x4af0cab 10/31/2024 7:59:58 AM 0xadae042f3cb54e9acd166fce985f18dd49348d87ccd8364d69b29d3c9f828177 0xa6df97daeb5eae5f5957e56822325007d33a14be07cb2ae8062f5fd98e77f1db
31 0x4a5f80a 9/30/2024 8:00:00 AM 0x31526401238d6493fbf319a3e57373560c781fff0b8e123f1d862abbfbf0a55a 0xb5bd7513fc8fffc25bcefaa218771162cf98ad3e7deb1a91c4f1bfdb93bdf06a
30 0x49d2e7c 8/31/2024 8:00:00 AM 0x236f873228f207b5453238b1492095886c16ac9114c01c50cab78a7bc9c50445 0x8f9521cf84a029e26318e0f16f01ea4a308902d7622bef53688a6c366e2af5a0
29 0x49419cc 7/31/2024 7:59:53 AM 0x80d475f9d7f075b36553a7f9f867478cbb0db5dd4a9ce769fd523f9d6584d2b1 0x756f19016f8f1790d7c907b21e8c2142ded69303a0f78ee47e3069af3d3f208b
28 0x48b04ef 6/30/2024 7:59:57 AM 0xf9ef9aa6da68705cd1b14dc1950cf6a4d035d3299549a8231e1d632e23107056 0x384eba9a1c47a1f637db97c8b16f688d012585160ec9b6268a51b569c0865abd
27 0x48a6f1c 6/28/2024 8:00:01 AM 0xb7daa0b908c9162d069b00ced7e252d559b9164431b1b8859034515462abda86 0x4af858536d543776a39de5c2ecc400a9d578b9f7a7b99c84806c846d7ad9325b
26 0x4793a7a 4/30/2024 7:59:54 AM 0x8af394f1a08db0c7ea5a2ebe1ce2c1255e5028addd19dc60d35cf89e1041b794 0xae5af24137dfded712ec594865fe7cd63c303f34bf729c5c3bbf5a5b2ec96804
25 0x47070b6 3/31/2024 7:59:53 AM 0xce711dbf892b435f8f0f49d4c1a7dc86fe8f718491bec479d00786ae4bfc4c2d 0xe871ccac70397257d79ecf8ad87350a51522a76a046753801d4f9ced2f362ad0
24 0x4675c1e 2/29/2024 8:00:01 AM 0x5bd680d16523f9305619e1b781e6cc5bf938e1dcca970e985d551dcd1c584875 0x525485dd38bbffa4d95620c4ef10d856aca65cc891e5bdb525def0cfe22dd440
23 0x443f0c1 1/31/2024 8:00:01 AM 0xd8c631bbd385bd4e751b0acb753afbc128866254af59fcbf81ea6c1b810a2dee 0x751db91fb96c5e9e5e061ae489eff56907fc327782ea04b0f4b74437a519036b
22 0x41b130a 12/31/2023 8:00:11 AM 0x67eed596fad3f6223ee59395e7bce8751bdac6c5ab885862a35dfb5f81e296ad 0x34941c57946a693e57ee2f57e55a39e030df56cf3ec004e0a2cc49eae330ed58
21 0x324fe73 11/30/2023 8:00:11 AM 0x65c174bde2ff6bdfb3366400318142aee516a4db59f00a28388703c33f87c042 0x994fa42ab3c68274c9e71989c5ed898ced96cc4a86c246b7f7a462e551f831d3
20 0x2fd7258 10/31/2023 8:00:11 AM 0x18643bd46c05b37280c45ad99eecb02d68adb4eee90261166ce11148b0fd7276 0x194ba0a34aeca927a8ae0bf89e92178176b0ee7febc871e8d23ffe01f916e80d
19 0x2d4971f 9/30/2023 8:00:11 AM 0xbb4b072a1a5620ea0167b743f3d6d7a37103c29b6c94214fa2a1c705b76a685b 0x7337aa54d30a77d7bdf121e037e4a3187ba3aef323190ae88f1a64f4cad372f0
18 0x2ad2da0 8/31/2023 8:00:11 AM 0xfe1dcf0f19e36fbadc672ffde7fb5c7475c372f74652ad72123524861356ee5e 0xe3b3b9f9731100c633a82e4ec4f257efff28209c921f4dce7845503dce36eb02
17 0x2844ff3 7/31/2023 8:00:11 AM 0x5b562e57139fa0883bcaf063b4c0be7e064e2b282ebbea41559770100a338fa8 0x2de5930098bddb26ea86ae2d39eb118399938cd3021badde5c932a9961d356f3
16 0x25b7219 6/30/2023 8:00:11 AM 0xfc7501e77a15c807529271f5d752b3d07d4350b9ea7701e1eacc9e132977c7f6 0x2da82478aeb43fef6900b7cfd127868b0d96c2825874236aacdcf3695469bdcd
15 0x233e5a6 5/31/2023 8:00:11 AM 0xa5b5e1a863ded63b6e034538b77f17afbc313ee0022d52f17a4db34f2d2ffab9 0x29d7d5657956ed89c8d9894ff1633d9f92794d07d9c7940dbb257d00264d3e30
14 0x20e0784 5/2/2023 2:31:11 PM 0x58a46539962771d683ae60c60ca45890f182039d8686e1342110bb3106e87f48 0x0dd7ce562763a9b17404a46a7d2473d004716f03769a5b396db27c17ce222409
13 0x1e37c34 3/31/2023 8:00:11 AM 0x0a07c62560fe4087b200d40ced75c2dd7744ca957a6a79e58a6778e11f1f54a4 0xc7613be1b7290cdeca3bc0b5399024e6659c13d14e688cb8e466d8a5a59a5e90
12 0x1ba9ef0 2/28/2023 8:00:23 AM 0x1d160aa11b8cfb17e8589a961f575d3c52c270898f7f32e20357881b14634657 0xa3bc5cc3ad651649afa690582408705cb4938aab0e29e004423efd679b81a5ce
11 0x195b5c6 1/31/2023 8:00:11 AM 0xa3fc0fd8bdfe834fd6a092596f2295070adec6505029cd033dba34fc2a8a91be 0x78ba97e6973b242e18ad0cf35a00eb25be065090d40ea9e520a4ec7462ecd831
10 0x16cd845 12/31/2022 8:00:23 AM 0x0d46b1a86ad40d9b2c122a6ea6961cc1cc5f815b4db5deb07e00c9628070096b 0x35407f42f732d8bb31b724f12d5102eecca645669a2282caabc29cedb26a6115
9 0x143fa7a 11/30/2022 8:00:11 AM 0x3da9087c705681d1f1a860a2fc53458b295c339438d584a93b4a9eb3f520fd8e 0x057f9c5aeea2d35d14f03c6e3aa0db1703f007c3e7f289acc63d11e96757769e
8 0x11c702d 10/31/2022 8:00:35 AM 0xcbf9c7fca587472c891c9954a499be6c991082f359925585a365ef460cbb3886 0xb4559e80187379e2a6dd453ea4591314a97565ad5e63ab8282a6c27a80f36b01
7 0xf391e8 9/30/2022 8:00:11 AM 0xe61eb6a49d4354da2e5342679c0dff14b61016d77e331ee901dd31e82d7b56f6 0xa59f4103ca2c5620a71585502ad1ebd63ee47c10fd6d2dd83bf16e07645f2dca
6 0xcc0530 8/31/2022 7:59:58 AM 0x18b6248655eac0a0fde7a11665735f6cb1282e5157374bdd4bdb4a15a7b0c7e3 0xf294e384a0a990b0e4cf01de66a3123a8f110e4cf07d6ffcee595a0470cec517
5 0xa3276b 7/31/2022 7:59:55 AM 0xbb4e04bde821db57488847871bc9491b55adc7c48f540e64a81e1b7309821e16 0xaafbab32de92e2489d485ac52fbf6ccf600e201076588fc9fbaf464cc6b67ac2
4 0x7a493f 6/30/2022 8:00:05 AM 0xf84de77020e87008771871acceec5aea9c9883abc9a161972bdb2f5df8904b05 0xa6a95fab5510bff580f1beefd5b29df995500c82e01edcb2873f2359543c60df
3 0x52bc66 5/31/2022 7:59:59 AM 0x1a67d807ac09836e99cd7e92b2f2eb90fa92ce7bb52b42bd96702936109e5484 0x46377140a8e0639b86e8352a0f1c165c971814df5d836e69af90f5696fedafca
2 0x2dfb9c 5/3/2022 10:54:05 AM 0xf0ced05b6f999f788972770c57fcd2530babae4275669da065c15bd7b06ab504 0x14f78c2697c71984ad31557f8b4ffa27e527cc87fc778d4e6dc3584ea46aab56
1 0x41d3b 4/1/2022 3:55:16 PM 0x31da709adc1af955134ab9bb8c4739f21559b63c23d61dd71bde6813eec7802b 0x2bbe75db161ff544c4c5ce77f2ff2294bade1ed182163b41086dcdcde5e29de4