More secure: think both ways are secure in the same level. Each block will be encrypted with aes, then the result will be enc. with twofish, then with serpent.
I think the first alternative will be faster, since this cascade of encryption will be done in memory in the first case, and in the second case there'll be some volume management being done in the middle of each kind of encryption.
Note that even the hidden volume of the truecrypt isn't done using that cascade: you have two volumes, one inside the physical area of the other, and only that.
But are you sure you need that much encryption? Sometimes it might be better to spend the time / effort in other points of the security (like preventing some cold boot attack) than being too worry about cascading encryption and not taking care of the other links of the chain.
---- After comments ----
If you're worried about making a secure backup, you could have asked that, probably you'd get better answers. But to continue the Truecrypt use, I'd use something like that:
- create a Truecrypt volume with aes;
- inside it, create another volume with serpent, using a different password;
- put all the files inside it;
- take the truecrypt outer volume (aes), take a portable truecrypt (since you'll need it do decrypt in the future, who knows how long truecrypt will be available), and then Zip them together, using encryption. For example, use 7zip to do that, with encryption enable;
- make sure to backup the volume and the 7zip executable (or a portable version), for the same reason...
That way you'll be usign two encryption algorithms (aes and serpent), three passwords (2 on truecrypt, 1 on the zip file), and finally two implementations of the aes (one in truecrypt, one in 7zip, who knows if any of them has a problem...)
base^(3*n)
, cracking the seconf a complexity of3*base^n
.