Skip to content

Commit b7dd53f

Browse files
authored
Drop "blinded blob sidecar" concept after using signed header to authenticate blobs (#90)
* update git submodule * updates to drop blinded blobs * use "fully SSZ" `BlobsBundle` defn to support SSZ transport * drop unneeded type `BlobsBundleCommon`
1 parent ae2ebb3 commit b7dd53f

File tree

12 files changed

+265
-313
lines changed

12 files changed

+265
-313
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "beacon-apis"]
22
path = beacon-apis
3-
url = git@github.com:ethereum/beacon-APIs.git
3+
url = https://github.com/ethereum/beacon-apis

apis/builder/blinded_blocks.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ post:
1010
must return an error response (400) with a description of the validation
1111
failure.
1212
13-
After Deneb, this endpoint will additionally accept `SignedBlindedBlobSidecars`, and return
14-
with additional unblinded blobs in response.
13+
After Deneb, this endpoint will additionally return the associated blobs in the response.
1514
tags:
1615
- Builder
1716
parameters:
@@ -22,22 +21,22 @@ post:
2221
name: Eth-Consensus-Version
2322
description: "Version of the block being submitted"
2423
requestBody:
25-
description: A `SignedBlindedBeaconBlock` before Deneb, or `SignedBlindedBlockContents` after Deneb.
24+
description: A `SignedBlindedBeaconBlock`.
2625
required: true
2726
content:
2827
application/json:
2928
schema:
3029
oneOf:
3130
- $ref: "../../builder-oapi.yaml#/components/schemas/Bellatrix.SignedBlindedBeaconBlock"
3231
- $ref: "../../builder-oapi.yaml#/components/schemas/Capella.SignedBlindedBeaconBlock"
33-
- $ref: "../../builder-oapi.yaml#/components/schemas/Deneb.SignedBlindedBlockContents"
32+
- $ref: "../../builder-oapi.yaml#/components/schemas/Deneb.SignedBlindedBeaconBlock"
3433
examples:
3534
bellatrix:
3635
$ref: "../../builder-oapi.yaml#/components/examples/Bellatrix.SignedBlindedBeaconBlock"
3736
capella:
3837
$ref: "../../builder-oapi.yaml#/components/examples/Capella.SignedBlindedBeaconBlock"
3938
deneb:
40-
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.SignedBlindedBlockContents"
39+
$ref: "../../builder-oapi.yaml#/components/examples/Deneb.SignedBlindedBeaconBlock"
4140

4241
responses:
4342
"200":

apis/builder/header.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ get:
99
the builder MUST return a 204 response. If the request is invalid, then the
1010
builder MUST return an error response (400) with a description of the
1111
validation failure.
12+
13+
After Deneb, return the KZG commitments for any associated blobs attached to the execution payload.
1214
tags:
1315
- Builder
1416
parameters:

builder-oapi.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ components:
6969
$ref: "./beacon-apis/types/capella/block.yaml#/Capella/SignedBlindedBeaconBlock"
7070
Capella.SignedBuilderBid:
7171
$ref: "./types/capella/bid.yaml#/Capella/SignedBuilderBid"
72-
Deneb.SignedBlindedBlockContents:
73-
$ref: "./beacon-apis/types/deneb/block_contents.yaml#/Deneb/SignedBlindedBlockContents"
72+
Deneb.SignedBlindedBeaconBlock:
73+
$ref: "./beacon-apis/types/deneb/block.yaml#/Deneb/SignedBlindedBeaconBlock"
7474
Deneb.SignedBuilderBid:
7575
$ref: "./types/deneb/bid.yaml#/Deneb/SignedBuilderBid"
7676
Deneb.ExecutionPayloadAndBlobsBundle:
@@ -95,10 +95,9 @@ components:
9595
$ref: "./examples/capella/execution_payload.json"
9696
Capella.SignedBuilderBid:
9797
$ref: "./examples/capella/signed_builder_bid.json"
98-
Deneb.SignedBlindedBlockContents:
99-
$ref: "./examples/deneb/signed_blinded_block_contents.json"
98+
Deneb.SignedBlindedBeaconBlock:
99+
$ref: "./examples/deneb/signed_blinded_beacon_block.json"
100100
Deneb.ExecutionPayloadAndBlobsBundle:
101101
$ref: "./examples/deneb/execution_payload_and_blobs_bundle.json"
102102
Deneb.SignedBuilderBid:
103103
$ref: "./examples/deneb/signed_builder_bid.json"
104-

examples/deneb/execution_payload_and_blobs_bundle.json

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"timestamp": "1",
1616
"extra_data": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
1717
"base_fee_per_gas": "1",
18-
"blob_gas_used" : "1",
18+
"blob_gas_used": "1",
1919
"excess_blob_gas": "1",
2020
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
2121
"transactions": [
@@ -31,10 +31,16 @@
3131
]
3232
},
3333
"blobs_bundle": {
34-
"commitments": ["0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f"],
35-
"proofs": ["0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a"],
36-
"blobs": ["0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739"]
34+
"commitments": [
35+
"0x8dab030c51e16e84be9caab84ee3d0b8bbec1db4a0e4de76439da8424d9b957370a10a78851f97e4b54d2ce1ab0d686f"
36+
],
37+
"proofs": [
38+
"0xb4021b0de10f743893d4f71e1bf830c019e832958efd6795baf2f83b8699a9eccc5dc99015d8d4d8ec370d0cc333c06a"
39+
],
40+
"blobs": [
41+
"0x24564723180fcb3d994104538d351c8dcbde12d541676bb736cf678018ca4739"
42+
]
3743
}
3844
}
3945
}
40-
}
46+
}
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
{
2+
"value": {
3+
"message": {
4+
"slot": "1",
5+
"proposer_index": "1",
6+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
7+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
8+
"body": {
9+
"randao_reveal": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
10+
"eth1_data": {
11+
"deposit_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
12+
"deposit_count": "1",
13+
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
14+
},
15+
"graffiti": "0xdeadbeefc0ffeedeadbeefc0ffeedeadbeefc0ffeedeadbeefc0ffeedeadbeef",
16+
"proposer_slashings": [
17+
{
18+
"signed_header_1": {
19+
"message": {
20+
"slot": "1",
21+
"proposer_index": "1",
22+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
23+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
24+
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
25+
},
26+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
27+
},
28+
"signed_header_2": {
29+
"message": {
30+
"slot": "1",
31+
"proposer_index": "1",
32+
"parent_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
33+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
34+
"body_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
35+
},
36+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
37+
}
38+
}
39+
],
40+
"attester_slashings": [
41+
{
42+
"attestation_1": {
43+
"attesting_indices": [
44+
"1"
45+
],
46+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
47+
"data": {
48+
"slot": "1",
49+
"index": "1",
50+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
51+
"source": {
52+
"epoch": "1",
53+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
54+
},
55+
"target": {
56+
"epoch": "1",
57+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
58+
}
59+
}
60+
},
61+
"attestation_2": {
62+
"attesting_indices": [
63+
"1"
64+
],
65+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
66+
"data": {
67+
"slot": "1",
68+
"index": "1",
69+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
70+
"source": {
71+
"epoch": "1",
72+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
73+
},
74+
"target": {
75+
"epoch": "1",
76+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
77+
}
78+
}
79+
}
80+
}
81+
],
82+
"attestations": [
83+
{
84+
"aggregation_bits": "0x01",
85+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505",
86+
"data": {
87+
"slot": "1",
88+
"index": "1",
89+
"beacon_block_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
90+
"source": {
91+
"epoch": "1",
92+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
93+
},
94+
"target": {
95+
"epoch": "1",
96+
"root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
97+
}
98+
}
99+
}
100+
],
101+
"deposits": [
102+
{
103+
"proof": [
104+
"0xeeffb6c21a01d3abf09cd6c56e5d48f5ea0fc3bb0de906e3beea3e73776329cb",
105+
"0x601c3b24a99d023224d50811bed19449890febb719a31d09ac414c4632f3c0ba",
106+
"0xbb5e485e0a366e16510de33731d71204ad2fe0f7c600861fc2ac4685212c34e3",
107+
"0x0006964745296a3e6ebf3954a1541e73205f1eefaddfc48ca9dc856bf159bca2",
108+
"0x2c6020f1f9712b89f59550aec05b7c23cb1b113762399c0ca5b8fdd2fa85ce57",
109+
"0x1c15634783e1d9d2cb969da66fd72cafca5026191d911b83211318d183c5ea59",
110+
"0xdfbdf99a1fde57899df1545be1f91bc8a8a9f46c4bac619e28e92aff276de41f",
111+
"0xfe9b0f0c05fde6bd26ce63d394058844ad4451f70b6d2547f49c5c2a5c7891a1",
112+
"0x165f84ee467d18dbafdb07275dc42fb988ab696b0a7ad94c52f4d7a27144b994",
113+
"0x506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1",
114+
"0xecdbe5e5056b968aa726a08f1aa33f5d41540eed42f59ace020431cf38a5144e",
115+
"0xc4498c5eb1feeb0b225a3f332bdf523dbc013a5b336a851fce1c055b4019a457",
116+
"0xb7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f",
117+
"0x8a9b66ad79116c9fc6eed14bde76e8f486669e59b0b5bb0c60a6b3caea38b83d",
118+
"0x267c5455e4806b5d0ad5573552d0162e0983595bac25dacd9078174a2766643a",
119+
"0x27e0c6357985de4d6026d6da14f31e8bfe14524056fec69dc06d6f8a239344af",
120+
"0xf8455aebc24849bea870fbcef1235e2d27c8fd27db24e26d30d0173f3b207874",
121+
"0xaba01bf7fe57be4373f47ff8ea6adc4348fab087b69b2518ce630820f95f4150",
122+
"0xd47152335d9460f2b6fb7aba05ced32a52e9f46659ccd3daa2059661d75a6308",
123+
"0xf893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f",
124+
"0xcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa",
125+
"0x8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c",
126+
"0xfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167",
127+
"0xe71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7",
128+
"0x31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0",
129+
"0x21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544",
130+
"0x619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765",
131+
"0x7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4",
132+
"0x848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1",
133+
"0x8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636",
134+
"0xb5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c",
135+
"0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7",
136+
"0xf7ed070000000000000000000000000000000000000000000000000000000000"
137+
],
138+
"data": {
139+
"pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
140+
"withdrawal_credentials": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
141+
"amount": "1",
142+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
143+
}
144+
}
145+
],
146+
"voluntary_exits": [
147+
{
148+
"message": {
149+
"epoch": "1",
150+
"validator_index": "1"
151+
},
152+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
153+
}
154+
],
155+
"sync_aggregate": {
156+
"sync_committee_bits": "0x01",
157+
"sync_committee_signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
158+
},
159+
"execution_payload_header": {
160+
"parent_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
161+
"fee_recipient": "0xabcf8e0d4e9587369b2301d0790347320302cc09",
162+
"state_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
163+
"receipts_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
164+
"logs_bloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
165+
"prev_randao": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
166+
"block_number": "1",
167+
"gas_limit": "1",
168+
"gas_used": "1",
169+
"timestamp": "1",
170+
"extra_data": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
171+
"base_fee_per_gas": "1",
172+
"blob_gas_used": "1",
173+
"excess_blob_gas": "1",
174+
"block_hash": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
175+
"transactions_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2",
176+
"withdrawals_root": "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2"
177+
},
178+
"bls_to_execution_changes": [
179+
{
180+
"message": {
181+
"validator_index": "1",
182+
"from_bls_pubkey": "0x93247f2209abcacf57b75a51dafae777f9dd38bc7053d1af526f220a7489a6d3a2753e5f3e8b1cfe39b56f43611df74a",
183+
"to_execution_address": "0xabcf8e0d4e9587369b2301d0790347320302cc09"
184+
},
185+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
186+
}
187+
],
188+
"blob_kzg_commitments": [
189+
"0xa94170080872584e54a1cf092d845703b13907f2e6b3b1c0ad573b910530499e3bcd48c6378846b80d2bfa58c81cf3d5"
190+
]
191+
}
192+
},
193+
"signature": "0x1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505cc411d61252fb6cb3fa0017b679f8bb2305b26a285fa2737f175668d0dff91cc1b66ac1fb663c9bc59509846d6ec05345bd908eda73e670af888da41af171505"
194+
}
195+
}

0 commit comments

Comments
 (0)