# Can the precompiles in Ethereum Byzantium for pairings be used for implementation of BBS group signature verification?

I'm currently implementing a group signature verification on Ethereum and it seems that the Pairing check can only return a boolean.

According to the BBS algorithm, to validate a signature $s$, you need to check $$e(T_3,g_2)^{s_x}.e(h,w)^{-s_\alpha-s_\beta}.e(h,g_2)^{-s_{\delta_1}-s_{\delta_2}} = (e(g_1,g_2)/e(T_3,w))^c.R_3$$ Which can also be framed as: $$R_3 = e(T_3,g_2)^{s_x}.e(h,w)^{-s_\alpha-s_\beta}.e(h,g_2)^{-s_{\delta_1}-s_{\delta_2}}.e(g_1,g_2)^{-c}.e(T_3,w)^c\\ R_3 = e(s_x.T_3-({s_{\delta_1}+s_{\delta_2}}).h-c.g1,g_2).e(c.T_3-({s_\alpha+s_\beta}).h,w)$$ Let's supposed, we provide $R_3$ and $s$. Is there a way to use the precompiled pairing contract for this check? Also, is it interesting to precompute $e(g_1,g_2)$ and other constant pairing and how do you use it efficiently?

Thanks