In your provided analogy, you create two identical erasers with the same characteristics. If you show them to them and ask us, they will be different, we will say "No. They are the same."
However, if you asked us if these two erasers are actually the same unique eraser, we are wondering how we got to SE Philosophy.
Identification should not be explicitly defined. Take the String example, for example.
If I do this:
String a = "ABCDE"; String b = "ABCDEFG".substring(0, 5);
We have two lines storing identical ABCDE information
We can make two comparisons:
a == b //false a.equals(b) //true
These two lines are similar to your two erasers. They are equal in that they both consist of ABCDE, but they are not actually the same singular string, but two separate sets of characters that coincide by coincidence.
Both a and b point to a unique link to "ABCDE". In this case, we do not have an explicit identity, but both a and b are unique links, so the language knows: "Hey, these are two different lines."
Now back to the erase example. In this case, we were not given any way to differentiate the two, but we can still distinguish them.
One eraser on the left, one on the right (or, nevertheless, they are located)
These erasers indirectly gave us a personality, so we understand that these are two different erasers with the same properties.
We can explicitly identify the identifier by specifying the serial numbers or names of the lasers. They may look the same, but now they have clear identities, and not the ones we made up in our heads.