So recently I gave this problem some thought and here is a possible way to fix modding/duping while still having offline play:
1. Savegames are still stored locally but are now protected and can't be copied/replaced
2. Online savegame servers run by Blizzard would need to be created
3. When you go online the savegame will be synced with the savegame server
4. If you want to restore the savegame, over at your friend' place or if you have a new console, it is being pulled from the savegame server
This fixes savegame modding.
5. Trading and picking-up dropped items/gold works only permanently after the savegame server confirms the proccess which immediatly modifies both players' savegames online
This fixes duping in online mode.
6. You can only trade/drop items/gold offline which you found after the last time you were in an online game
7. All offline players' profiles need to be saved at the same time
This fixes duping in offline mode.
Q: I don't get it, how does it fix modding?
A: People have no way of accessing the protected savegames other than with a jailbroken console which does not let you connect online after you have jailbroken it. You would need to restore it first and if you do that you lose all local protected savegames.
Q: How does the online dupe fix work in detail?
A: There are three scenarios when players trade/drop items:
S.1: Both players shut the console down: the trade/item drop will neither be saved on the savegame server nor on both local savegames and therefore the trade essentially did not happen.
S.2: Player A shuts the console down while player B's savegame gets saved: So for player A the trade/item drop did not happen as his local savegame was not changed. However when player A goes online the trade/item drop will actually happen for him as well. There is no way for player A to pass and therefore dupe the item offline due to point 6. He could only sell/salvage it offline first before going online.
S.3: Both players' profiles get properly saved. The trade did happen and all is well.
Q: How does the offline dupe fix work again?
A: If all players' profiles get saved at the same time then duping items found offline can not happen. The additional safety to prevent players from trading/dropping items which they acquired before the last time they were online exists in order to stop them from passing and therefore duping items after an attempted online dupe.
Q: Why is there an additional offline dupe fix?
A: This is necessary so that no duped items can find their way into online mode.
Q: What if I want to give my items to my friend in local coop?
A: This should work if you have online access by syncing and then connecting with the savegame server described in point 5. Obviously if the player's item already was traded online but he shut down the console (as described in a previous answer S.2) then this new trade should fail. Also if don't have online access then you can still trade/drop items which you found since the last time you were online.
Q: What if you continue to play with your profile on your friend's and on your own console without syncing with the savegame server?
A: Well if you go online with both of them then the savegames will be synced twice meaning that you have to choose which one of those you want to overwrite or with which one you better stay offline.
Q: What if I want to play with my friend on this friend's console which does not ever have online access.
A: That is the only downside. You probably have to create a new profile at your friend's console for that.
Q: Does this mean we can no longer backup savegames ourselves?
A: Yes. This makes it mandatory that savegames never get corrupted, especially the ones on the server.
Q: What if the online savegame servers go down?
A: Then players can no longer trade. However they can still drop items but others can't actually pick them up.
Q: What about our current characters?
A: Unfortunately our current savegames can't be verified to be correct due to being non-protected. Therefore the mentioned solution would need to be implemented as a different play mode similar to hardcore where all players would need to start from scratch.
Q: But people could get back hardcore characters from the online server after they die?
A: Yes, just as easy as it is now with local backups on an usb stick. Blizzard could however now implement instantly saving and syncing with the server to make sure that your character is dead in 99% of the cases when you died while being online, not that I am suggesting that.
Q: Does the duping fix also work with gold and similar stuff?
Q: Sounds good, but isn't that solution too expensive for Blizzard?
A: I hope not, since they would not need to host any games, except for the item trading/dropping aspects, but only the savegames which are just a bunch of kilobytes. So it would likely be cheaper than the Diablo 2 servers.
It would be nice if some blue can pass my thoughts onto the devs.
Thanks for the awesome game.