Dangers involved in federal contracting. (Sub-)Contractors & Relationships
There are major dangers with providing payment to a contractor for a service when you are the owner of the system that always generates new contracts.
The US Federal Government spends a good deal of money with contractors & services it requires, each year. Around ... 5.3% (Seem like a familiar number?) of it's budget. That's 171bn dollars, annually. EOS will find it's WPS system has major similarities as time goes on here between itself, and contracts oversight commitee or owner of a federal government contract. Really the proposal system is only different when you consider that the US Government here asks for things, and then get's bids (oversimplified). With EOS we'll be allowing people to recommend what we give money to - and of course take bids (again over simplified and not yet determined on how this will operate).
With just those similarities all the normal kinds of fraud, which are well established, will come at us. When I posted this initally in the WPS channel people seemed interested, and there was one person who mentioned an over abundance of rules as potentially the issue with Fed contracts. I'd like to disagree and also offer my personal experiences and those of family members who have done this (in a general way) so that some of the pitfalls can be understood.
One nice thing about the US Government is it LOVES numbers: https://www.contractormisconduct.org
Especially the watchdog agencies, and they have the power to pull this data and it accumulates on the public internet. Good luck finding these numbers for a lot of non-democratic governments. Whatever your stance on the US is, I'll be using some numbers and links from major sites only. I understand some doubt these findings, but I think the "Concepts" of fraud discovered (reported well or not) are the focus here, and this helps get the gist over.
So if we allow totally free market dynamics here we'll need to REALLY trust our structure in Contracts (Human or Ricardian) and our Arbitration (which is ever evolving these days), and we'll want to be positive that a single block producer can't go rouge and mess around (which I'm unsure of). SO considering how flexible EOS is and how some things are getting tossed right now, I want to leave all of the above portion of this paragraph behind and focus on how process breaks and people get .. well corrupted.
Insufficient Punishment or Stake
Firstly look at the contract totals on that last site, the number of infractions, and the total penalty. Really tiny in %'s. They are the big dogs here, no one can really compete against them, and the penalties are small, hence continual infractions and issues. McKesson there got slammed, with less infractions and a GIANT %. Must have been a bad one, but as you see that's not the norm.
I'd like to look at this as EITHER insufficient stake, or insufficient punishment. I'm a fan of the carrot, and not the whip, so I'd say focusing on the + reinforcement, with milestones and such as I've jotted down and seen others mention as well, is the way to go. But I understand that we cannot rely on that, bad actors will be, and we need a system to punish them. Can we get back "Ill-gotten gains" as seen in this example:
Assistant U.S. Attorney Rebecca S. Kanter (619-546-7304) NEWS RELEASE SUMMARY – December 14, 2017 SAN DIEGO – Jeffrey Harrington and Michael Mayer, owners of several defense contracting firms, were each sentenced in federal court today to 15 months in custody for conspiring to commit wire fraud and file false claims, and to making false statements on their federal income tax returns. Harrington was also ordered to pay a $10,000 fine, $141,113 in restitution to the Internal Revenue Service, and to forfeit $708,679 in ill-gotten gains; likewise Mayer was ordered to pay a $10,000 fine plus $299,511 in restitution to the IRS and forfeit $708,678.
Can EOS similarly enforce and reclaim that which was already paid after fraud was discovered? How enforcable are our negative reinforcement methods? Without strong ID, not that super effective unless we rely on vesting of payments (control), multiple milestones (incentive), and a stake (punishment). I think Control, Incentive, and Punishment (as terribly big brother as that sounds) are the corner stones here.
Conflicts in who contracts are granted to / Top N Contractors get the cake
The top N contractors make up most of the business in certain sectors. Looking at the FCC's "Contractual Services and Supplies" category, and breaking it by the Recipient:
The top 7 have 55.39% of the available funding. It's not very spread out, and interestingly enough AT&T is up there (a company falling under the purview of this regulatory body, also doing business directly with it, hmm). This is bound to happen to some degree of course, but it creates a "Small Inside Crowd", which if there isn't any "Job Rotation" or similar function of collusion prevention, it simply will happen. Let's say ECAF needs something, if Contractor "ACME" has a good history of providing, ECAF can reach out to them and let them know they would like XYZ to be presented by ACME on their behalf (secretly) and that they'll work something out with that issue that ACME has on their last contract that's run afoul of the arb's.
Issue isn't super preventable in a lot of ways, but having a small tight crowd of contractors that provide work that you ALWAYS go to is going to create a bad environment for fair play.
Various issues with the Top N
These guys just don't get the lions share of the money from one category, they branch out and get into MANY contracts in the same area, and even other sectors. Then you run into a variety of issues. I'm not saying small contractors won't pull the exact list here, but it is easier if you have many contracts and you're big:
Existing Contract Type's Just Don't Work Well
Cost+ is the most familar contract I've seen, no one wants to bid on fixed cost because there's no wiggle room for extra money. Extra money with that + is the incentive to cheat, and there's very little that we can do about this. Unless there's a very general need, we can't price check, if no one bids against the other company, and we allow flexability in billing, well.... Problem is we'll have a ton of "Failed" contracts on "Fixed Cost" b/c they'll run out of money, and they're incentive if they cannot get past their bad accounting will be to 1) Propose more money to WPS 2) take what they can legally keep and abandon.
Some kind of Hybridized Ricardian Contract + Project Management team is needed here to watch out for this stuff. If we have a method, we should stick with it inside of category's (All EOS Security Improvements are FIXED / ALL EOS Voting and Public Dapp tools are Cost+). And I would suggest making the contractors keep inside of a category. Once they have ONE contract, we try AS BEST we can to establish who they are. (I saw a great suggestion of using social media) (I would recommend similar measures to getting an SSL certificate, phone call, mail them a code on a piece of paper (effective address verification), etc...). IF we have contractors with different STYLES of contract payment system, they'll play shift the cost, and toss it ALL into a Cost+. (Worked for a company that did this, they got busted for it). We were all billed as "Different" people depending on what we did so that they could bill MY hours under a guy with a Masters Degree - thereby gaining a Cost+ for those category hours (my 2-year was a fixed amount, his position required that education level, and also came with some flexability).
Straight Hourly - this is horrible, please never consider this. This is appropriate for home handymen only.
Pay on Completion - this is likely to cause people to NOT apply, especially if we ask them to Stake also.
Standard human corruption
Sadly all these darn pesky rules the fed has for contracting are in there because they are getting killed every year. So much money, so many contracts, they cannot watch them all. When I worked in a nameless department of the fed for a contractor we bid (with 5 other companies) against the then labeled CSC "Computer Science Corporation" which had like most of the contract value in teh building. They made up a cost metric that had 0 real world meaning to game the math. The government wrote the rules so lowest bid wins, and the way that # got factored in helped tremendously. My company and our team of other startups lost the bid. Immediately after this, several CSC employee's became federal employee's with the rights to oversee the contract of their prior employer. AND several Fed big shot directors "retired" and became "part time contractors and advisors" to the CSC contract they had JUST awarded. CLASSIC.
If this was us - EOS WPS PM's would be switching sides, and WPS PM's that stayed would be compensated on teh back end. + the normal money awarded to the bid "winner". The Fed suffers from a lack of good tools. But i n this example tools didn't and wouldn't have helped b/c of the ficticiously high tech nature of that made up metric. That required a good well educated PM to spot (one who was not on the take). We cannot code this all the time everyone, we need to code as MUCH as possible. But not everything.
EOS needs to watch out - this is all happening b/c of small groups of clustered contractors, holding too many each, having too much money to toss around, and having bought friends.