Let's consider the gravitational time dilation of a hovering observer at a radius r in a gravitational field, which we will designate z_r. If light is emitted by a distant observer to that point in the field, successive pulses will be emitted by the distant observer, each travelling radially to the hovering observer at r. Since each pulse travels an identical path to the hovering observer, taking the same amount of time, then according to the distant observer, each will be received by the hovering observer at the same rate at which they were originally emitted, so at the same frequency from the distant observer's point of view. But because the hovering observer's clock is gravitationally time dilated, the hovering observer will observe a greater frequency of f_observed / f_emitted = 1 / z_r.

Any frequency emitted by the distant observer will be increased according to the hovering observer by 1 / z_r, so the energy of the light has increased by this proportion between the local measured values by each of the observers. GR associates this increase in energy to that of the local time dilation observed of a freefaller falling from rest at infinity with 1 / z_r = gamma_kinetic, whereby z_r = sqrt(1 - (v/c)^2), v being the locally measured speed. From this GR infers the weak field approximation where v^2 = 2 G M / r, gaining z_r = sqrt(1 - (v/c)^2) = sqrt(1 - 2 G M / (r c^2)). From this we find that at the radius r_s = 2 G M / (r c^2), the freefaller will achieve light speed locally. Since nothing can travel faster than light speed, then if the process were reversed, if an object or even light were emitted from r_s or below, it will cannot escape, so r_s is an event horizon.

But there is a problem with this. v^2 = 2 G M / r is only the weak field approximation for large r, and it is being applied at all r, the same for the locally measured speed as with Newtonian gravity. For instance, if a freefaller were to start falling with greater than zero initial speed, then they would achieve light speed sooner, before reaching r_s. But locally the field is SR, and no hovering observer can ever measure the speed of a freefaller to be greater than c. For this and other reasons, z_r = sqrt(1 - 2 G M / (r c^2)) cannot be the exact relation. So now we will examine further what the relation should be.

Let's say that a clock is travelling past a hovering observer at r with a locally measured speed v. Since SR is valid locally, the hovering observer measures a time dilation of the clock of z_kinetic = sqrt(1 - (v_loc/c)^2). A distant observer also measures a gravitational time dilation of the hovering observer of z_r. Since there is no simultaneity difference between the distant and hovering observer, the distant observer, then, will observe a time dilation of the clock equal to that of the hovering observer, but that is also lessened by the gravitational time dilation between them, or z_clock = z_kinetic * z_r, directly multiplying the two time dilations to find what the distant observer measures of the clock.

Similarly, let's say that at the radius r in the field, there exists another small gravitating mass far from the hovering observer. According to the hovering observer, then, another hovering observer that is a distance d from the second mass will have a time dilation of z_d, otherwise both observing no difference in time dilation from the first mass because they are at the same radius from that mass. To the distant observer, then, the time dilation observed of the second hovering observer will also be z_d, but lessened by the time dilation of the first mass as well, so z_d * z_r. Likewise, if we have say 4 such masses labelled a, b, c, and d, then the total time dilation the distant observer measures of a hovering observer will be z_a * z_b * z_c * z_d, depending upon where the hovering observer is positioned to each of those masses.

Okay, so now let's say we have a point mass with mass m and a hovering observer at distance r from that mass. The distant observer will measure z_{m,r} for the time dilation of the hovering observer. Now let's place an identical mass directly next to the first. The total mass is now 2 m, so the distant observer will now measure a time dilation of the hovering observer of z_{2 m, r} = z_{m,r} * z_{m,r}. These two relations must be mathematically equivalent in terms of their masses, and as far as I can tell, there is one and only one way they can be, and that is with the mathematical relation j^(2 m k) = j^(m k) * j^(m k), where j is some constant and k depends upon r, but in this case r is the same for both. Since it doesn't matter what j is, as long as it is non-zero and non-unity and thereby only changing the value of k in accordance, we will make it (1/e)^(2 m k) = (1/e)^(m k) * (1/e)^(m k). In terms of the time dilation in the weak field, then, we get z_r = 1 / e^(m k), where z_r = sqrt(1 - 2 G M / (r c^2)) according to GR, so must approximate z_r = 1 - G M / (r c^2), only 1 / e^(G M / (r c^2)) will give this value, making k = G / (r c^2). There are no further factors of M that can be added to this in any way without interupting the direct relation between the masses we had before, leaving only the possibility of further factors in relation to k in terms of r and some other constant that might be added, but this is highly unlikely, so this relation should be exact as it stands.

This now makes the variable in the Schwarzschild metric [1 / e^(G M / (r c^2))]^2 = 1 / e^(2 G M / (r c^2)) rather than (1 - 2 G M / (r c^2)). One immediate consequence we can see come of this new relation is that with 1 - 2 G M / (r c^2), the time dilation falls to zero for a hovering observer at r_s = 2 G M / c^2, while with 1 / e^(2G M / (r c^2)), it falls to zero only at r = 0, so there is no event horizon and no singularity, unless a mass is capable of collapsing completely to a point. There is still a redshift of light emitted from a body, more extreme depending upon where it originates in the field, but it can always escape, and there is no reversing of space and time at any place in the field as would occur below an event horizon.

Now, if the time dilation of a hovering observer at r is determined by a point mass according to a distant observer with z_r = 1 / e^(G M / (r c^2)), then what about a uniform density sphere? The total time dilation of the hovering observer will be determined in the same way as found before by simply multiplying the time dilations of each of the individual point masses,

z_total

= z_{m,r1} * z_{m, r2} * z_{m, r3} * ...

= 1 / e^(G m / (r1 c^2)) * 1 / e^(G m / (r2 c^2)) * 1 / e^(G m / (r3 c^2)) * ...

= 1 / e^[(G m / (r1 c^2)) + (G m / (r2 c^2)) + (G m / (r3 c^2)) + ...]

But the part in the brackets is just the same as for integrating the energy for Newtonian gravity, which is

G m / r1 + G m / r2 + G m / r3 + ... for each point mass within a uniformly dense sphere

= G M / r where r is the distance from the center of the total mass M, giving

z_total = 1 / e^(G M / (r c^2))

the same as that for a point mass.