Fraser's Safecoin Alternative Design (Postponed State)

First, let’s define the form of these balances:

struct Coin { units: u32, parts: u32, }

The units field will represent whole safecoins, and since the defined upper limit of issuable safecoin is 2^32 , this need be no bigger than a u32 .

The parts field represents the number of 2^-32 -th parts of a single safecoin. Since the maximum value of a u32 is (2^32)-1 , parts will always represent less than a single safecoin.

@anon86652309

So does this mean that the parts of a safecoin is a binary division? Just like a normal programmer would do?

As a programmer who has done the block with highly technical programming and also business programming I’d like to say in as strong terms as possible that binary division will be the thorn in the side of SAFE.

People do not think in binary and do not want 77309411/4294967296th of a safecoin. They want 0.018 instead.

77309411 parts using binary is 0.01799999992363154888153076171875 of a safecoin. So then the receiver is losing some of their 0.018 and real life ordinary non-technical people will cry foul again and again.

People do not think in binary, they want decimal. Whereas for technical programming binary is exactly what was wanted.

Can I suggest that the parts field is 1 billion (fixed point value) rather than 2^32 parts

9 Likes