Just to clarify the process.
Pledgers create transactions using the following template and broadcast them. The p2p protocol could be modified to allow this, or it could be a separate system.
Input: 0.01 BTC
Signed with SIGHASH_ANYONE_CAN_PAY
Output 50BTC
Paid to: <1 million> OP_CHECKLOCKTIMEVERIFY OP_TRUE
Output 0.01BTC
Paid to OP_TRUE
This transaction is invalid, since the inputs don't pay for the output. The advantage of the sighash "anyone can pay" field is that other people can add additional inputs without making the signature invalid. Normally, any change to the transaction would make a signature invalid.
Eventually, enough other users have added pledges and a valid transaction can be broadcast.
Input: 0.01 BTC
Signed with SIGHASH_ANYONE_CAN_PAY
Input: 1.2 BTC
Signed with SIGHASH_ANYONE_CAN_PAY
Input: 5 BTC
Signed with SIGHASH_ANYONE_CAN_PAY
<etc>
Input: 1.3 BTC
Signed with SIGHASH_ANYONE_CAN_PAY
Output 50BTC
Paid to: <1 million> OP_CHECKLOCKTIMEVERIFY OP_TRUE
Output 0.01BTC
Paid to OP_TRUE