The purpose of implementing GS protection into core is, no matter witnesses feed what price, force settlements and margin calls will execute at the protected price. So it's clearer for traders to know what's the feed price (produced by witnesses) and what's the settlement price (decided by the blockchain). Actually it's a UI issue, so we don't need to argue here. UI can even should a third price: what will be the settlement price and margin call price if GS protection is disabled.
On the other hand, if GS protection is implemented into core, witnesses will no longer need to and should not publish adjusted price feeds which was criticized as price manipulation.
IMHO, whether the blockchain should take over the bad debt is the main thing to debate.
yes, in my view one principle should always be followed either bad debt appears or not:
borrowing, margin call, force settlement should always refer to the same price.so it seems necessary to introduce one new parameter which is called settlement price as margin trading reference to replace feed price.
settlement price = max(feed price, GS Protection Price)
feed price should always be the real time market price.
borrowing, margin call, force settlement will always refer to settlement price, CR is calculated based on settlement price, margin call order price = settlement price/MSSR, force settlement price = settlement price*(1+force settlement offset)
normally, settlement price = feed price.
while bad debt appear, settlement price will be GS Protection Price, in financial sense it means, the system recognize and accept the fact that the smartcoin is in devaluation.
however, margin call order filling, debt position adjustment, force settlement can all reduce GS Protection Price and lessen the devaluation, until finally bad debt disappear.
and GS will be disabled for ever.
and I feel a new name is needed to replace "GS protection", maybe "active devaluation of smartcoin".
blockchain taking over bad debt have no essential help, as it can do nothing but wait for the BTS price to go up.
updated BSIP:
https://github.com/bitshares/bsips/issues/179