I'm strictly talking about non-technical users. Of course a technical user can know how to make his own digest and of course this is not an issue, there is a reason why I’ve OVER emphasised using the word non-technical users in all my posts. I choose my words carefully, BUT this new information may not change a thing so please respond to let me know that I should reread your posts further and I'll try to stay opened minded as possible.
Yes, I've read your many message. Making the signing process more opaque and risky does not help non-technical users or technical ones. What exactly do you want to accomplish?
Gmaxwell is advising for users to sign digests (reffering to the github issues page suggestion), while the Bitcoin client advises NOT to sign anything vague.
So the solution is for users to
copy and paste the contract and create the required digest(lets just say sha256 to keep the example simple).
So the non-technical user is following a "how to sign messages" guide and is advised to Copy and pastes the contract into a sh256 digest. So the user copies the sha256 digest and pastes it into the website.
The website attempts to verify the signature with the contract and it doesn’t work? OH why not? it doesn’t work because the contract contained formatting, this formatting isn't non ascii
The Current solution?*We provide a download link of the contract so the non-technical user can sha256 correctly that way( non-technical and technical users don't like downloading stuff from websites as it could contain viruses but this isn't a huge problem for technical users)
*OR we provide a one-line input box (The issue with this is a one liner contract that is 5000 characters long isn't easy on the eyes)
The current Problem?The download link solution aside I will discuss the one-line input box dilemma, In order for anyone to read a 5000 character contract they will not scroll the one box line as they need to read, NOR will they copy the one line box and format it them selves in notepad just to make it easy on the eyes. So the website as a convince provides an easy to read format and a one box line but the issue with this is that the website could provide the easy to read format a "good looking on the eyes and the wallet contract" but the one liner could provide a "bad looking contract" the user is forced to sign the one liner because we can't sign the formatted nice looking contract. So the non-techincal user reads the how to guide and is instructed to copy the "bad contract" one liner and sha256 digest it and then sign the digest and then copy the digest and paste it into the website.
We need a way to encode the messages with in bitcoin if the great gmaxwell still doesn’t understand I will have to make a demonstration video because I know this is an issue as I'm dealing with right now as a social engineering flaw and I had to cancel a project (not blaming anyone as fault But this IS an issue if bitcoin wants to use contract signing as "feature)
Or perhaps my solution isn't a great solution but there IS a problem.....