

Since you can't change code once it's on the blockchain, developers use a Proxy. Think of the Proxy as a "Phone Operator" and the Logic as the "Department." Users call the Operator, who forwards the call to the Department. An upgrade just tells the Operator to forward calls to a new Department.