Filecoin Protocol Architecture Master Plan Discussion (Updated 23/07/14) #725
Replies: 13 comments 25 replies
-
Thanks for bringing this up for discussion, @Fatman13 , we need a layered structure for future innovations and development. The main purpose of this proposal is to decouple the containers (Sectors) from the goods (Pieces), standardizing the containers while allowing for different types of cargo (32G/64G or 1T perhaps later). In the current design, we consider the goods and containers together, and regardless of the type of goods - whether it's gold, silver, used jeans or garbage - the same incentive mechanism is applied (10x power for verified goods). After decoupling, the Layer1 protocol ensures the integrity of the containers and verifies the correctness of the goods within the containers. However, the storage, transportation, and other transactions related to the goods themselves are handed over to the market. Moreover, the design of the Subsidy actor allows for maintaining incentives for the current Fil+ program and removes the constraints on innovation in market incentives. The Fil+ can be achieved through the Verified Market (including Datacap, VerifReg, Notaries) by collateralizing FIL to the Subsidy, addressing unnormalized pledge issue as a side effect. At the same time, it leaves room for the community to create new Verified Markets (another Fil+, or Fil*). Of course, we would greatly welcome the use of user-defined tokens to incentivize markets later on, as it would reflect the value of different markets or platforms through the token. In a competitive and open market, the platforms that best meet user demands will emerge victorious, which is the result of market choice rather than being defined by the protocol. |
Beta Was this translation helpful? Give feedback.
-
The silence is deafening... |
Beta Was this translation helpful? Give feedback.
-
Thanks for opening this discussion, but it is difficult to engage with. I was hoping for more comments from others in the community before I wade in, but here we go. You seem to be trying to achieve three different things:
The first part is simple and easy to get behind. I see nothing to object to in your abstract or motivation. I agree that identification of a strategy for protocol development, and some clear design principles, would make it much easier to deliver improvements. But these need discussion at a higher level before proposals of specific changes have any chance of landing. The two principles suggested omit any discussion of Filecoin's core reason to be (e.g. consensus mining network with storage byproduct, vs storage-first network) or policy/principles that would motivate, say, decreasing influence of FIL+ or encouraging non-storage miners. The subsequent specification doesn't follow from the motivation. The changes proposed are unfortunately not sufficiently detailed for me to engage much on a technical level. To be credible, they need some more detail on how to achieve those outcomes. One reason for lack of engagement may be that the proposal is not clear enough for anyone to understand how it will affect them, other participants, and the emergent properties of the network as a whole. I know that such detail is a lot of work. You might criticise some of my proposals as being too incremental, not cutting at the heart of (what you see as) a core problem. But that incrementalism means they are implementable, we know how to get from here to there, and then we can build the next step. Some of the problems that are implied by your proposals can be solved other ways. As @jennijuju suggests, if you can call out the specific problems more precisely then, if there's easy alignment on that problem, we can solve them. The third part needs to come back to the first. There are clearly differing opinions from different participants about the network's identity and the role and value of FIL+. This opening comment doesn't leave much open space for that discussion, despite inviting it. I think calling for that discussion is laudable, and there is room for someone to lead it, but they would have to do so without bias toward a particular outcome in order for conclusions to be credibly adopted. |
Beta Was this translation helpful? Give feedback.
-
我来支持这个提案,非常的专业 |
Beta Was this translation helpful? Give feedback.
-
from what we saw in the fil+, it is getting more and more complicated. The SPs and the Notaries work become harder and it seems that with more notaries, it does not seems less work, each notary need more time to DD the SP and follow up, and will be challenged if something wrong happens. And noatries are more frequently point to each other cause more issues in governance. A simpler L1 protocol will give more space for ecosystem to build product. |
Beta Was this translation helpful? Give feedback.
-
Hello!! Thanks @Fatman13 and @steven004 for your work on this. I think this kind of proposal shows your personal concern and involvement in the Filecoin project, and I think that's something we should all respect. I have a bit of a different perspective from those above, and I (hope) I can be of help to you. First and foremost, this proposal indicates to me that we do not have good intermediary layers for governing the Filecoin protocol. In other words, what we as a community want and need to govern- including longer team strategic planning for the development of the Filecoin protocol, and the ability to set longer term priorities that align our objectives with the overall project vision- is out of scope with the way we currently specify and manage FIPs. FIPs have evolved to steward tightly specified, technical protocol change proposals, and I don't believe that's what you're really proposing. What we need is the ability to propose and meaningfully review policies, with our without detailed technical specifications. We also need a way to reach community consensus on difficult changes, and new spaces and mechanisms for building meaningful community feedback loops that can inform the mid- and long-term direction of the protocol. We need a robust body of community contributors who can answer questions about technical capacities and priorities in a way that aligns strategic work with the vision of the protocol. And I don't believe the current FIPs process is able to address these needs. So what do we do? FWIW, this problem has been a pain point for me for a long time. Myself and other community members (including you both) have tried to provide solutions to these problems in incremental ways. What we actually need, however, are rather big changes, which are very difficult to establish in an open ecosystem. For example, how do we improve the FIPs process in a way that everyone agrees with? Who gets to decide what the final process looks like? Who gets to weigh in on a Filecoin roadmap that informs technical priorities with network vision, and who builds and maintains this? Etc. To further illustrate this difficulty, I want to quickly note what you say about Core Devs:
I don't agree with this, and I don't think this responsibility is understood or agreed to by other Core Devs. How do we fix misalignments like this? What if some Core Devs don't want this responsibility? And if they do, how do we actually coordinate work products from within this group? As briefly mentioned to Core Devs and at the past two Community Governance Calls, @luckyparadise and I have been working within Filecoin Foundation to put together a large proposal to address some structural governance pain points. This has required a ton of work, and I don't want to commit anything until we can fully unveil the entire proposal to the Filecoin community. I do believe, however, that what you're asking for above requires some of the changes that we seek to make. At a high level, we believe this includes:
Again, your above proposal is asking for something specific; but what it requires are community governance mechanisms and spaces that are able to meaningfully grapple with large, challenging ideas. Right now, we have Core Devs, and Github Discussions, and informal community working groups, and none of these are able to transform general conversations and big ideas into focused action. We are hoping to deliver our proposal for improved community governance in the next two-ish weeks, and I'd love your help reviewing these changes to ensure that they can meet your needs. |
Beta Was this translation helpful? Give feedback.
-
Really need to think about what else we can do to keep filecoin chain active when the FIL+ project is gradually losing its effectiveness in attracting more participants , and there is no active and real commercial storage deals for filecoins then. This proposal provides us with a possibility. IMO, It improves more flexibility in the future More comments are welcome. |
Beta Was this translation helpful? Give feedback.
-
It's absurd that Filecoin insist on embedding an expensive and parasitizing social consensus layer to encourage the mission "to be a robust foundation for humanity's information". Doing one thing(storage) well is great enough, don't be arrogant and think you can solve various problems(define what's valuable; decide who should be rewarded, etc) all at once. Many storage providers and Filecoin holders are here only because they believe in the value of decentralised storage network not the value of bureaucratic storage network. As long as it's decentralised, it will come back. Or it’s just a cumbersome and unusable prototype. This is very serious. I hope PL and the Filecoin community can be more open minded and take a positive approach to fix this before things get worse. Possible solutions IMO:
|
Beta Was this translation helpful? Give feedback.
-
As mentioned by @momack2, the mission of the Filecoin network is "to be a robust foundation for humanity's information," which is unquestionable and forms the basis of our discussions. Within this premise, we are discussing how a better protocol architecture can better serve the development and long-term realization of this mission. One important reason I am interested in this proposal is that I believe the current technical architecture needs improvement after the introduction of FVM to accommodate new developments. Due to historical reasons, Filecoin's design is a monolithic structure aimed at achieving a grand vision without considering the VM. This has resulted in interdependencies, associations, couplings, and entanglements among Actors. We have recognized that Filecoin is a complex network, and to meet market demands, a more modular, decoupled, simpler, and easily evolvable layered design is possible. The layered design itself is intended to better fulfill Filecoin's vision, including providing better and more reasonable incentives for storing and retrieving real data and better meeting market needs. We have already been working on moving the Market actor to the user space, but that is far from enough. The proposal suggests using Subsidy to explicitly incentivize the storage and retrieval of real data, opening up possibilities for different incentives (distinct from the current uniform incentives without evaluating data value), such as applying a 20x multiplier for DeSci and a 2x multiplier for cold storage monitoring data. Of course, the ideal approach would be for the market to choose and decide, allowing free competition and development rather than being hard-coded in the core protocol. I suggest that we do not focus too much on Fil+ in this discussion, although everyone is interested in it and hopes for changes. If necessary, we can start a separate thread for that topic. Here, we should concentrate on the evolutionary path of the core protocol. The initial evolution should strive to be compatible with existing patterns and create conditions for future development. |
Beta Was this translation helpful? Give feedback.
-
Glad to see the discussion about the master plan, targeting to simplify the core protocol—a commendable goal. However, I would like to propose an alternative approach that I believe is simpler. Given the idea of separating the handling of real data, why not implement this separation now? By envisioning the ultimate form, the Core Protocol would solely focus on proving data proof, rather than evaluating data and deal handling. Implementing this approach immediately would require minimal effort, as there would be no need to add the Subsidy Actor or make changes to DC, CC, QAP, and other elements that do not matter any longer in the absence of verified deals. At present, we only need to do one thing: ceasing the use of FIL to incentivize FIL+. Instead, we can adopt a new incentive mechanism at layer 2 for FIL+. Then, we will subsequently simplify the code later once all verified deals have expired. |
Beta Was this translation helpful? Give feedback.
-
A very important word is mentioned in the text but not emphasized. "Flexibility". I believe flexibility is what we should pursue, not just quality or efficiency. When we talk about quality and efficiency, our perspective is limited and we are trapped in the internal perspective. We're assuming that the external environment is irrelevant or unchanged. Truth is, the external environment plays an extremely important role and is always changing, and it is not determined by our subjective will. Every one of us, every great company and country, is the result of adaptation to the external environment. So if we agree that the ability of adapting to external changes is important, how do we evolve Filecoin protocol? Here comes the "Flexibility". Flexibility helps Filecoin's adaptation in the long term. It undoubtedly greatly improves the chances of success for Filecoin. Bruce Lee had an inspirational quote: "Be water my friend." If we can somehow simplify the protocol, make Filecoin more flexible in one of the following network versions, I suggest we call that version "Water Upgrade". |
Beta Was this translation helpful? Give feedback.
-
I have an idea, to make the network completely permissionless again, is to allow verified deal not consume any datacap. Any deal can be marked as verified and pledge 10x collateral. Option 1: If the SP wants to make money by pledging more and get more block rewards, sure, ask the deal to be verified and free of charge to the client. Option 2: If the SP wants to make money by accepting paid deals and not pledging that much, also possible! Just ask the deal to be unverified and priced. Some people have been arguing some data not worth 10x verified and some does, why don't just give the freedom to the user let different business models decide themselves. Some people might argue ohh no one will want to do option 2 that's crazy, well, have you thought of, maybe, just maybe, Filecoin storage UX is not attractive enough to let client pay? Put improving UX as the top priority rather than set up all sorts of governance bodies to decide who gets to use the network. Aug 2 update: seeing this have gotten some attention I did not expect in the beginning. I want to point out if this is the way we choose to go, until Option 2 becomes the mainstream, the whole network QAP will keep growing and getting closer to 10x of the raw bytes (every sector is a verified deal), how baseline / block reward / annualized rate of return look like, will be much different from today. Aug 3 update: today I learned that we have 10EiB CC sectors and a little over 400m circulating supply. Even if all these CC sectors want to snap upgrade to 10x, there will not be enough Fil to do so. Therefore the eventual outcome will not be as bad as I imagined. It would actually look pretty positive to the price and potentially turn this downward spiral to upward! |
Beta Was this translation helpful? Give feedback.
-
Taking first step towards Filecoin protocol protocol master. |
Beta Was this translation helpful? Give feedback.
-
Continuing discussion here with this new thread...
Simple Summary
Use a layered protocol design approach as guidelines to all future technical FIPs on L1 and L2.
Abstract
Video recording of proposed FIP#725 overview presented during core dev meeting 59.
We think the solution to many of the current protocol design dilemmas is a layered approach to protocol architecture design. Using an application stack analogy, to support generic applications to be run in computers, the OS layer focuses solely on managing processes, expose hardware resources, facilitate communications between apps, etc.
By defining clear stratification and roles of each layer within the protocol architecture, we think Filecoin network as whole would then able to evolve into its next stage.
What's more, the layered approach is only doable after FEVM launched in March, 2023. For the longest time since mainnet launch, the Filecoin protocol itself is the product for data storage. It has to couple with all kinds of complexity a storage product requires. However, now we have the option to clean up the core protocol layer and push the storage product to layer 2 so that Filecoin core protocol can actually transition into a platform, just like the OS layer on the previous analogy.
Change Motivation
The following are some of common protocol design challenges we are facing today, which the proposed protocol master plan tries to address.
Drastic protocol changes fail to reach soft consensus
One of the recurring problems we see throughout the past is that FIP governance is not quite able to have the community to reach soft consensus on drastic protocol changes, for example, changes like FIP36, FIP56, etc. It is very hard to setup definitive process on the how we can reach consensus, to understand which group should or should not weigh in on the decisions, or to increase governance engagement in general.
Protocol limitations stalling ecosystem innovations
Then we have the problem of slow protocol iteration stalling innovations on user-defined defi and storage solutions. Many defi solution have to incorporate cefi elements due to limitation of protocol and user-defined storage market is being out-competed by the built-in network subsidies.
Incremental FIPs with no strategic goal
Lastly, we have the problem of FIPing with no clear strategic goals. A Lack of priorities and principles to guide which FIP should be discussed and implemented next. Just like the network as a whole needs a master plan to steer its development and priorities, the evolution of Filecoin protocol itself also needs a master plan to adapt itself in the ever changing market environment. Right now, FIPing is like guerrilla warfare with no clear end-game in mind. In a way, battles are won but the war is lost. Only with a Filecoin protocol master plan thoroughly and openly discussed, then we could move on to take the network to the next level/stage.
Specification
Again all details in this version of Filecoin protocol master plan design is open for discussion. No particular parameter is set in stone. (Ideas borrowed from @steven004)
What we like to stress again is that, on the left side of the illustration above, before FEVM Filecoin protocol itself is the storage product and everything is tightly coupled. Like in an old Chinses saying "牵一发动全身", which means "pulling one hair is affecting the whole body". And on the right side of the illustration above, the core protocol layer, like rewards, miner, consensus, and prove of storage, are completely separated from user layer, where products and application are actually built. This layer division effectively makes Filecoin core protocol as a platform.
Layered Approach Mandate
Layered protocol design approach mandates future technical FIPs to contribute to the realization of the following protocol stratification.
L1 - core protocol: reward, consensus, miner, proof of storage
L2 - user/application layer: Rest of the actors
Example Path To Layered Approach (1)
Important Note: this path is not mandated by this FIP, but a mere example on how layered approach could be realized.
subsidy
built-in actor: with sectors normalized, the subsidized reward for storage deals is completely decoupled from storage power and will be managed bysubsidy
built-in actor. (revisit of FIP0033)subsidy
actor if network participants made storage deals through this actor.subsidy
andminer
actor, each claiming 50% of the BR withsubsidy
gradually decay to 10% of the BR. (revisit of FIP442)Example Path To Layered Approach (2)
Another potential route proposed by the community @kernelogic.
Design Rationale
Important Note: rationale follows up with the example spec above and is not mandated by this FIP, but a mere example on the effects of layered approach.
One of the key characteristics of this design is the layered approach through decoupling a complex interlinked system into two distinct functional space.
Leveling all sector power is the corner stone of the whole design. All sectors are born equally through PoRep and should be treated equally. QAP not only adds unnecessary complexity to L1 as the network is slowly but surely becoming a DC only network (with growing security concerns), but also couples rewards with storage power which limits many potential innovations on a truly value driven storage deal marketplace. Besides, with QAP gone and subsidy for storage deals untied from storage power, the protocol could actually leverage L2 to have much more flexible ways to subsidize storage deals.
To achieve the eventual paid storage deals for network participants and to accommodate f+ program, a 50-50 BR split between the
subsidy
andminer
actor is proposed. This roughly allows every network participants to maintain its current block revenue, as at the writing of this proposal QAP of DC and QAP of CC are relatively close. To help network participants to transition from subsidized deals to actual paid deals, the share ofsubsidy
BR will be ever shrinking according to a f(x) and reach a 10-90 BR split withminer
actor in the end.Once the market actor is pushed to L2, it can then experiment with various deal terms to suit whatever client and provider want without the need to wait for a FIP discussion or a network upgrade. A governance body can determine which market actor to become a verified one to gain access to the deal subsidies from the
subsidy
actor.With user-defined layer and protocol layer properly separated, the core L1 consensus could just focus on what it does the best, namely EC based on storage capacity, a Turing complete vm and lastly storage proofs including PoRep and PoSt with sector as its fungible unit.
With unnormalized sector pledge where for 1 TiB of sectors you may have pledge ranging from 4 fil to 10 fil and slashing derived from BR when the sector is sealed which means that some sector may still have pledge left after slashing while some may go into debt after slashing, this complicates storage apps building on top of this complex slashing system, stalling innovations on user-defined financing and storage markets.
Additional design rationals... 1
Incentive Considerations
Important Note: considerations follows up with the example spec above and is not mandated by this FIP, but a mere example on the effects of layered approach.
The way protocol design is setup right now wipes out the potential for user-defined storage market because the incentive for QAP is too strong for it to compete. Given the new design, network incentive for early data on-boarding adopters could gradually be phased out and be substituted with proper market driven storage exchange.
As reward for consensus mining become more predictable, a bigger pool of swing miners would likely to join and contribute to the security of the network. They can have better assessment of their share of the BR, their liquidity status to hedge against macro economy uncertainty, and potentially start storage providing if incentives are aligned.
Product consideration
Important Note: considerations follows up with the example spec above and is not mandated by this FIP, but a mere example on the effects of layered approach.
With the above design, it also comes with explicit separation of roles, namely consensus miner and storage provider, so that they could co-exist and each serves its purpose in the network.
Beta Was this translation helpful? Give feedback.
All reactions