In this paper, we study and propose a puncturing algorithm of block-type low-density parity-check (B-LDPC) codes. This optimal puncturing algorithm is derived from the fact that puncturing of parity bits is equivalent to merging the check nodes. Furthermore, we propose a new decoding algorithm suitable for the punctured B-LDPC codes. This decoding algorithm needs not only smaller number of operations at each iteration, but also shows faster decoding convergence speed than the conventional erasure decoding algorithm. If the optimally punctured B-LDPC code is decoded by the new decoding algorithm, it results in the same performance as the unpunctured B-LDPC code of the same code rate.