Fatti: Fatti: A. La società T._ SA di Z._, costituita il 19 novembre 1991, è stata sciolta d'ufficio, per mancato adattamento del capitale azionario ai minimi di legge, con decreto pretorile del 13 marzo 1998. B._ è stato amministratore unico dal 10 aprile 1996 fino al 24 giugno 1998 quando ne divenne liquidatore. Mediante decisione del 9 marzo 1999 la Cassa di compensazione Promea, constatato di aver subito un danno di fr. 20'807.45 in seguito al mancato pagamento di contributi paritetici, da parte della società, per gli anni 1996 e 1997, ne ha postulato il risarcimento da B._. Il 20 aprile 1999, la Cassa - preso atto dell'opposizione interposta da quest'ultimo - ha esteso l'obbligo di risarcire il danno anche a V._, ritenuto amministratore di fatto della T._ SA, pretendendo l'importo di fr. 20'807.45, in solido con lo stesso B._. Anche V._, per il tramite dell'avv. Yves Flückiger, si è opposto al provvedimento. Il 20 aprile 1999, la Cassa - preso atto dell'opposizione interposta da quest'ultimo - ha esteso l'obbligo di risarcire il danno anche a V._, ritenuto amministratore di fatto della T._ SA, pretendendo l'importo di fr. 20'807.45, in solido con lo stesso B._. Anche V._, per il tramite dell'avv. Yves Flückiger, si è opposto al provvedimento. B. La Cassa di compensazione ha quindi promosso due distinte azioni di risarcimento danni dinanzi al Tribunale delle assicurazioni del Cantone Ticino, chiedendo la condanna di B._ e di V._ al pagamento dei contributi sociali rimasti insoluti. Con giudizio 2 ottobre 2000, la Corte cantonale, congiunte le procedure, ha accolto le petizioni. B. La Cassa di compensazione ha quindi promosso due distinte azioni di risarcimento danni dinanzi al Tribunale delle assicurazioni del Cantone Ticino, chiedendo la condanna di B._ e di V._ al pagamento dei contributi sociali rimasti insoluti. Con giudizio 2 ottobre 2000, la Corte cantonale, congiunte le procedure, ha accolto le petizioni. C. V._, sempre patrocinato dall'avv. Flückiger, interpone ricorso di diritto amministrativo al Tribunale federale delle assicurazioni, postulando l'annullamento della pronuncia cantonale. Dei motivi invocati nell'impugnativa si dirà, per quanto occorra, nei considerandi di diritto. La Cassa propone la reiezione del gravame, così come, perlomeno implicitamente, B._, interpellato in qualità di cointeressato. Per contro, l'Ufficio federale delle assicurazioni sociali ha rinunciato a determinarsi. 