@ -52,7 +52,7 @@ 
														
													
														
															
																
 
														
													
														
															
																\title { Notes on Nova} \title { Notes on Nova}  
														
													
														
															
																\author { arnaucube} \author { arnaucube}  
														
													
														
															
																\date { February  2023}  
														
													
														
															
																\date { March  2023}  
														
													
														
															
																
 
														
													
														
															
																\begin { document} \begin { document}  
														
													
														
															
																
 
														
													
												
													
														
															
																
																	
																		
																			 
																	
																	
																		
																			 
																	
																	
																 
																@ -199,6 +199,38 @@ The previous protocol achieves non-interactivity via Fiat-Shamir transform, obta 
														
													
														
															
																
 
														
													
														
															
																Note: the paper later uses $ \mathsf { u } _ i,~  \mathsf { U } _ i $  for the two inputed $ \varphi _ 1 ,~  \varphi _ 2 $ , and later $ \mathsf { u } _ { i + 1 } $  for the outputed $ \varphi $ . Also, the paper later uses $ \mathsf { w } ,~  \mathsf { W } $  to refer to the witnesses of two folded instances (eg. $ \mathsf { w } = ( E, r _ E, W, r _ W ) $ ).Note: the paper later uses $ \mathsf { u } _ i,~  \mathsf { U } _ i $  for the two inputed $ \varphi _ 1 ,~  \varphi _ 2 $ , and later $ \mathsf { u } _ { i + 1 } $  for the outputed $ \varphi $ . Also, the paper later uses $ \mathsf { w } ,~  \mathsf { W } $  to refer to the witnesses of two folded instances (eg. $ \mathsf { w } = ( E, r _ E, W, r _ W ) $ ). 
														
													
														
															
																
 
														
													
														
															
																
 
														
													
														
															
																\subsection { NIFS}  
														
													
														
															
																
 
														
													
														
															
																\underline { fold witness, $ ( pk,  ( u _ 1 , w _ 1 ) ,  ( u _ 2 , w _ 2 ) ) $ } : 
														
													
														
															
																\begin { enumerate}  
														
													
														
															
																	\item  $ T = A z _ 1   \circ  B z _ 1   +  A z _ 2   \circ  B z _ 2   -  u _ 1  C z _ 2   -  u _ 2  C z _ 2 $  
														
													
														
															
																	\item  $ \overline { T } = Commit ( T, r _ T ) $  
														
													
														
															
																	%  \item  output the folded instance $ \varphi   =   ( \overline { E } , u,  \overline { W } , x ) $  
														
													
														
															
																	%          \begin { align*}  
														
													
														
															
																	%                  & \overline { E} =\overline { E} _ 1 + r \overline { T}  + r^ 2 \overline { E} _ 2\\  
														
													
														
															
																	%                  & u = u_ 1 + r u_ 2\\  
														
													
														
															
																	%                  & \overline { W}  = \overline { W} _ 1 + r \overline { W} _ 2\\  
														
													
														
															
																	%                  & x = x_ 1 + r x_ 2 
														
													
														
															
																	%          \end { align*}  
														
													
														
															
																	\item  output the folded witness $ ( E, r _ E, W, r _ W ) $  
														
													
														
															
																		\begin { align*}  
														
													
														
															
																			& E = E_ 1 + r T + r^ 2 E_ 2\\  
														
													
														
															
																			& r_ E = r_ { E_ 1}  + r \cdot  r_ T + r^ 2 r_ { E_ 2} \\  
														
													
														
															
																			& W=W_ 1 + r W_ 2\\  
														
													
														
															
																			& r_ W = r_ { W_ 1}  + r \cdot  r_ { W_ 2}  
														
													
														
															
																		\end { align*}  
														
													
														
															
																\end { enumerate}  
														
													
														
															
																
 
														
													
														
															
																\underline { fold instances $ ( \varphi _ 1 ,  \varphi _ 2 )   \rightarrow   \varphi $ , $ ( vk, u _ 1 , u _ 2 ,  \overline { E } _ 1 ,  \overline { E } _ 2 ,  \overline { W } _ 1 ,  \overline { W } _ 2 ,  \overline { T } ) $ } :\\  
														
													
														
															
																V compute folded instance $ \varphi   =   ( \overline { E } , u,  \overline { W } , x ) $  
														
													
														
															
																\begin { align*}  
														
													
														
															
																	& \overline { E} =\overline { E} _ 1 + r \overline { T}  + r^ 2 \overline { E} _ 2\\  
														
													
														
															
																	& u = u_ 1 + r u_ 2\\  
														
													
														
															
																	& \overline { W}  = \overline { W} _ 1 + r \overline { W} _ 2\\  
														
													
														
															
																	& x = x_ 1 + r x_ 2 
														
													
														
															
																\end { align*}  
														
													
														
															
																
 
														
													
														
															
																\section { Nova} \section { Nova}  
														
													
														
															
																IVC (Incremental Verifiable Computation) scheme for a non-interactive folding scheme.IVC (Incremental Verifiable Computation) scheme for a non-interactive folding scheme. 
														
													
														
															
																
 
														
													
												
													
														
															
																
																	
																		
																			 
																	
																	
																		
																			 
																	
																	
																 
																@ -236,7 +268,7 @@ $F'$ proves that: 
														
													
														
															
																
 
														
													
														
															
																
 
														
													
														
															
																$ F' $  is described as follows:\\ $ F' $  is described as follows:\\  
														
													
														
															
																$ F' ( vk,  \mathsf { U } _ i,  \mathsf { u } _ i,  ( i, z _ 0 , z _ i ) , w _ i,  \overline { T } )   \rightarrow  x $ :\\  
														
													
														
															
																\underline { $ F' ( vk,  \mathsf { U } _ i,  \mathsf { u } _ i,  ( i, z _ 0 , z _ i ) , w _ i,  \overline { T } )   \rightarrow  x $ } \\  
														
													
														
															
																if $ i = 0 $ , output $ H ( vk,  1 , z _ 0 , F ( z _ 0 , w _ i ) ,  \mathsf { u } _ { \bot } ) $ \\ if $ i = 0 $ , output $ H ( vk,  1 , z _ 0 , F ( z _ 0 , w _ i ) ,  \mathsf { u } _ { \bot } ) $ \\  
														
													
														
															
																otherwiseotherwise 
														
													
														
															
																\begin { enumerate} \begin { enumerate}  
														
													
												
													
														
															
																
																	
																		
																			 
																	
																	
																		
																			 
																	
																	
																 
																@ -273,7 +305,27 @@ otherwise, parse $\pi_i = ( (\mathsf{U}_i, \mathsf{W}_i), (\mathsf{u}_i, \mathsf 
														
													
														
															
																	\item  check that $ \mathsf { W } _ i,~  \mathsf { w } _ i $  are satisfying witnesses to $ \mathsf { U } _ i,~  \mathsf { u } _ i $  respectively	\item  check that $ \mathsf { W } _ i,~  \mathsf { w } _ i $  are satisfying witnesses to $ \mathsf { U } _ i,~  \mathsf { u } _ i $  respectively 
														
													
														
															
																\end { enumerate} \end { enumerate}  
														
													
														
															
																
 
														
													
														
															
																\paragraph { A zkSNARK of a Valid IVC Proof}  
														
													
														
															
																\vspace { 0.5cm}  
														
													
														
															
																
 
														
													
														
															
																\paragraph { A zkSNARK of a Valid IVC Proof}  prover and verifier:\\  
														
													
														
															
																\underline { $ P ( pk,  ( i, z _ 0 , z _ i ) ,  \Pi )   \rightarrow   \pi $ } :\\  
														
													
														
															
																if $ i = 0 $ , output $ \perp $ , otherwise:\\  
														
													
														
															
																parse $ \Pi $  as $ ( ( \mathsf { U } ,  \mathsf { W } ) ,  ( \mathsf { u } ,  \mathsf { w } ) ) $  
														
													
														
															
																\begin { enumerate}  
														
													
														
															
																	\item  compute $ ( \mathsf { U } ',  \mathsf { W } ',  \overline { T } )   \leftarrow  NIFS.P ( pk _ { NIFS } ,  ( \mathsf { U,~W } ) ,  ( \mathsf { u,~w } ) ) $  
														
													
														
															
																	\item  compute $ \pi _ { \mathsf { u } ' }   \leftarrow  zkSNARK.P ( pk _ { zkSNARK } ,  \mathsf { U } ',  \mathsf { W } ' ) $  
														
													
														
															
																	\item  output $ ( \mathsf { U,~ u } ,  \overline { T } ,  \pi _ { \mathsf { u } ' } ) $  
														
													
														
															
																\end { enumerate}  
														
													
														
															
																
 
														
													
														
															
																\underline { $ V ( vk,  ( i, z _ 0 , z _ i ) ,  \pi )   \rightarrow   \{ 0 , 1 \} $ } :\\  
														
													
														
															
																if $ i = 0 $ : check that $ z _ i = z _ 0 $ \\  
														
													
														
															
																parse $ \pi $  as $ ( \mathsf { U } ,  \mathsf { u } ,  \overline { T } ,  \pi _ { \mathsf { u } ' } ) $  
														
													
														
															
																\begin { enumerate}  
														
													
														
															
																	\item  check $ \mathsf { u } .x  =  H ( vk _ { NIFS } , i, z _ 0 , z _ i,  \mathsf { U } ) $  
														
													
														
															
																	\item  check $ ( \mathsf { u } . { \overline { E } } ,  \mathsf { u } .u )   =   ( \mathsf { u } _ { \perp } . { \overline { E } } ,  1 ) $  
														
													
														
															
																	\item  compute $ \mathsf { U } '  \leftarrow  NIFS.V ( vk _ { NIFS } ,  \mathsf { U } ,  \mathsf { u } ,  \overline { T } ) $  
														
													
														
															
																	\item  check $ zkSNARK.V ( vk _ { zkSNARK } ,  \mathsf { U } ',  \pi _ { \mathsf { u } ' } ) = 1 $  
														
													
														
															
																\end { enumerate}  
														
													
														
															
																
 
														
													
														
															
																
 
														
													
														
															
																\bibliography { paper-notes.bib} \bibliography { paper-notes.bib}