The P2SH upgrade went live on the bitcoin core software
The Pay to Script Hash (P2SH) upgrade, which went live on April 1, 2012, was a significant development in the Bitcoin network’s history, marking the first major protocol upgrade since Satoshi Nakamoto’s departure. P2SH was introduced through Bitcoin Improvement Proposal 16 (BIP 16) and was designed to enhance the flexibility and functionality of Bitcoin’s scripting capabilities.
Before P2SH, Bitcoin transactions were limited to a specific set of templated designs, which restricted the functionality of Bitcoin’s scripting language. This limitation made complex transactions, such as those requiring multiple signatures, cumbersome and less secure. P2SH changed this by allowing transactions to be sent to a script hash (address starting with 3) instead of a public key hash (addresses starting with 1). This meant that the recipient could specify the conditions to unlock the funds, which could include multisignature requirements or other criteria.
The upgrade process for P2SH was not without its challenges. The initial activation window failed, leading to a second activation set for April 1, 2012, in version 0.6.0rc2 of the Bitcoin software. Some users who did not upgrade in time for the delay activated early and got stuck on block 170,060 when an invalid transaction according to their nodes was mined. This incident highlighted the importance of coordination and communication within the Bitcoin community for future upgrades.