mirror of
				https://github.com/matter-labs/teepot.git
				synced 2025-10-28 04:14:09 +01:00 
			
		
		
		
	feat(verify-era-proof-attestation): continuous mode with attestation policies
This PR introduces TEE Prover continuous mode with attestation policies.
Attestation policies are a set of criteria that determine whether an SGX
attestation should be considered valid or invalid. In practice, this
means checking against a specified set of mrsigners, mrenclaves, and TCB
levels. If the attestation’s mrenclave/mrsigner/TCB levels matches those
in the provided --sgx-mrenclaves/--sgx-mrsigners/--sgx-allowed-tcb-levels,
we treat the attestation as successfully verified. Otherwise, the
attestation is considered invalid.
The --continuous mode for the TEE Prover allows it to run continuously,
verifying new batches exposed by the node's RPC API in real-time.
To try it out, run the following commands:
    $ nix build -L .#container-verify-era-proof-attestation-sgx
    $ export IMAGE_TAG=$(docker load -i result | grep -Po 'Loaded image.*: \K.*')
    $ docker run  -i --init --rm $IMAGE_TAG --continuous 11505 --rpc https://sepolia.era.zksync.dev --sgx-allowed-tcb-levels Ok,SwHardeningNeeded --log-level debug
    $ docker run  -i --init --rm $IMAGE_TAG --batch 11509 --rpc https://sepolia.era.zksync.dev --sgx-allowed-tcb-levels Ok,SwHardeningNeeded --log-level debug
			
			
This commit is contained in:
		
							parent
							
								
									dd2a0304be
								
							
						
					
					
						commit
						4fcaaa7398
					
				
					 8 changed files with 702 additions and 202 deletions
				
			
		
							
								
								
									
										33
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										33
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							|  | @ -813,6 +813,12 @@ version = "1.0.0" | |||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "cfg_aliases" | ||||
| version = "0.2.1" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | ||||
| 
 | ||||
| [[package]] | ||||
| name = "chrono" | ||||
| version = "0.4.38" | ||||
|  | @ -1052,6 +1058,16 @@ dependencies = [ | |||
|  "cipher", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "ctrlc" | ||||
| version = "3.4.5" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" | ||||
| dependencies = [ | ||||
|  "nix", | ||||
|  "windows-sys 0.59.0", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "curve25519-dalek" | ||||
| version = "4.1.3" | ||||
|  | @ -2835,6 +2851,18 @@ dependencies = [ | |||
|  "tempfile", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "nix" | ||||
| version = "0.29.0" | ||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||||
| checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" | ||||
| dependencies = [ | ||||
|  "bitflags 2.6.0", | ||||
|  "cfg-if", | ||||
|  "cfg_aliases", | ||||
|  "libc", | ||||
| ] | ||||
| 
 | ||||
| [[package]] | ||||
| name = "nom" | ||||
| version = "7.1.3" | ||||
|  | @ -5617,12 +5645,17 @@ version = "0.1.2-alpha.1" | |||
| dependencies = [ | ||||
|  "anyhow", | ||||
|  "clap", | ||||
|  "ctrlc", | ||||
|  "hex", | ||||
|  "jsonrpsee-types", | ||||
|  "reqwest 0.12.7", | ||||
|  "secp256k1 0.29.0", | ||||
|  "serde", | ||||
|  "teepot", | ||||
|  "tokio", | ||||
|  "tracing", | ||||
|  "tracing-log 0.2.0", | ||||
|  "tracing-subscriber", | ||||
|  "url", | ||||
|  "zksync_basic_types", | ||||
|  "zksync_types", | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Patryk Bęza
						Patryk Bęza