This has been a consistent problem on one of my computers, to no avail thusfar, even after changing sync server settings or redigesting individual failed ebuilds. In running emerge -uavDN world, it will take at least an hour to generate a list of packages to be merged, but not before ouputting a TON of failed digests. Example below.
gentoog4 proc # emerge -uavDN world These are the packages that would be merged, in order: Calculating dependencies * Digest verification failed: * /usr/portage/dev-libs/libgpg-error/libgpg-error-1.7.ebuild * Reason: Filesize does not match recorded size * Got: 895 * Expected: 899 * Digest verification failed: * /usr/portage/app-admin/syslog-ng/syslog-ng-2.1.4.ebuild * Reason: Filesize does not match recorded size * Got: 2523 * Expected: 2521 * Digest verification failed: * /usr/portage/dev-libs/libmcrypt/libmcrypt-2.5.8-r1.ebuild * Reason: Filesize does not match recorded size * Got: 870 * Expected: 875 * Digest verification failed: * /usr/portage/dev-db/sqlite/sqlite-3.6.14.ebuild * Reason: Filesize does not match recorded size * Got: 2285 * Expected: 2286 * Digest verification failed: * /usr/portage/app-admin/eselect/eselect-1.0.12.ebuild * Reason: Filesize does not match recorded size * Got: 1694 * Expected: 1700 * Digest verification failed: * /usr/portage/dev-db/sqlite/sqlite-3.6.14.1.ebuild * Reason: Filesize does not match recorded size * Got: 2262 * Expected: 2263 * Digest verification failed: * /usr/portage/dev-db/sqlite/sqlite-3.6.13.ebuild * Reason: Filesize does not match recorded size * Got: 2408 * Expected: 2404 * Digest verification failed: * /usr/portage/dev-db/sqlite/sqlite-3.6.12.ebuild * Reason: Filesize does not match recorded size * Got: 2321 * Expected: 2320 So, is this just the crying screams of a failing drive, or is there some other problem at hand here?

