Author: Marco González
Editor: Randall Roland
Node operators, Antelope core developers, and community members get together each week to discuss the captivating questions of the day. The primary objective of each Node Operator Roundtable is:
“...to improve the Antelope protocol (specifically) for node operators”.
Meetings occur every Wednesday from 14 UTC to 15 UTC (13 UTC to 14 UTC during daylight savings). The EOS Network Foundation provides tutorials and documentation for those wishing to learn the basics of operating an EOS node (and more).
Below is a list of the two roundtables encompassing this bi-monthly summary:
June 7: P2P Improvements and Management, 4.0 Feedback, Node Configurations, Consensus Upgrades
June 14: History Solutions, Antelope Firewall, Long-term Innovation
June 7: P2P Improvements and Management, 4.0 Feedback, Node Configurations, Consensus Upgrades
The June 7 meeting was mostly an open discussion. As September approaches, there’s an increased focus on preparing for Leap 5.0.
Overview
Improving node operations management is a recurring community interest. P2P improvement comprises much of the feedback.
Updates
plan for the consensus upgrade in September (Leap v5.0)
P2P Improvements
P2P improvements continue to capture node operators' attention. Primary issues relate to transaction stability, reliability, and overall ‘quality of life’ for node operators. Target areas identified that help realize the best solutions include:
bandwidth
visibility
p2p management
connectivity
synchronization
appropriate node flow
Previous weeks offered some insight into the above topics. The following section seeks to add clarity and save the reader time. Expect a comprehensive report (from the team) about P2P improvements after further discussion and feedback.
Visibility and P2P Management
Improved visibility and management are needed to increase efficiency. The main focus is the visible status of nodes on a peer network that enables operators to identify their preferred connections at a given time.
Likened to a black box, peer information can leave an operator guessing as to where to find blocks currently in need. Data types important here include:
awareness of peers that have required blocks
where blocks are pulled from
specific block calls
when a departure is made for another node
maintain relevant status information
Node Flow and Synchronization
Outbound data flow should be more than inbound. The current designation for synchronization is a timeout before moving on to the next node. P2P synchronization improvements are also the topic of a recent GitHub conversation.
Node flow can increase efficiency by eliminating the need to battle for the same information. However, there may be a security issue when changes lack reasoning and peer numbers remain eerily stable. Solutions mentioned include:
show all peers
auto-select the most appropriate peer
match data with action
only connect to nodes with the desired block
More P2P Features Feedback and Other Items Identified
Ethereum labeling again drew a comparison. Continuously reevaluating peers was followed by peer willingness to produce blocks. However, increasing general availability brought on a security concern and bandwidth vs. block limit issues.
Community feedback generally accompanies experiences. Below are highlights of detailed descriptions:
Leap util mentioned
running tests on the latest version
greater exposure to undesirable behavior
increase intelligence (via automation) of node sinking vs catchup mode
low latency, high throughput, and complete data are signals of a healthy connection
bloks_log
firewall
load balancer
header info
bandwidth issues
A follow-up question revisited was:
Can labeling peer types (e.g. internal vs. external) aid Antelope developers in improving the efficiency of syncing?
The community continues to work toward a healthier network over time. Everyone is encouraged to try 4.0.1 and provide feedback on related issues.
Ahead for Leap 5.0
Moving on from the peer management discussion were topics mostly related to the Leap 5.0 consensus upgrade tentatively scheduled for September.
a better estimate for release will likely be available by late August
the biggest challenge for a consensus upgrade is coordination; improving coordination for 5.0 will probably be a future topic
recommend a go-no-go activation date and speculation over activation flexibility
the next two months will focus on preparation via articles and such
June 14: History Solutions, Antelope Firewall, Long-term Innovation
The June 14 meeting again saw participants brainstorming about persistent, on-the-mind improvement areas.
Overview
History solutions with independent libraries have come up from time to time. Antelope firewall garners increased attention. With Leap 5.0 on the horizon, meeting participants took time to explore long-term innovation.
Updates
targeting the 4.0.2 patch release for this week with notes to follow soon
P2P improvements report coming; working on responding to the feedback and discussing formal plans
A GitHub conversation on Decoupled Instrument Feasibility remains on the mind of several operators. Though, this topic retains the status of postponed.
An on-topic video about data management was provided in the chat to complement today’s discussion.
History Solutions
Opening the exchange of ideas and feedback was a deep mind substream (history) solution. There are many reasons for node operators to harbor an interest in a history solution. Following are some discussed areas.
Beginning the history discussion were mentions of dfuse, Graph, and (later) firehose. The focus was on keeping separate libraries and instrumentation out of the nodeos codebase. A non-nodeos solution for abstracting history remains in the minds of developers. However, short-term solutions (e.g. partial need fulfillment via traces) still outweigh the high-effort-to-reward ratio for the moment.
Independent efforts toward a deep mind history solution offered more insight and commentary. Below are the highlights that consumed about a quarter of the meeting:
community feedback suggests that a solution is feasible, though scaling is a concern
alternative deserialization/serialization is recognized as community interest and invested effort
easing binary-hex conversions (bottlenecks) is a significant motivator
monitored by the development team with an operator-focused solution in mind
the nodeos function continues to evolve
operators are encouraged to present similar innovative (nodeos) solutions
A meeting participant described a prototype (for the library function) that replaced the logger with a pass-pointer to nodeos with the intention of nodeos sending the appropriate information back. The solution yields speed and flexibility, especially for gaming-type applications. Limitations of the prototype involve security and language limitations (e.g. works well with Python but not Javascript). Looking long-term, a chain-based interface for experimentation with different data structures is seen as a desirable pursuit.
Antelope Firewall
Briefly touched upon was Antelope Firewall. An ENF grant is funding the building of the new firewall. A few items were quickly mentioned:
API development for Leap nodes
remove load balancing
The value of the firewall is for things like rate limiting, account interactions, and more (e.g. independent JSON files).
Long-term Innovation
The meeting concluded with some ‘crazy’ ideas about the future of the Antelope environment. The following ideas are outside of the development team’s roadmap:
compiling for C#/C+ to be used with Leap and EVM
interesting early EOSIO builds
running deterministic AI models
While the conversation was short-lived, it did spur up a conversation about ‘crazy’ EOSIO builds. The community is encouraged to share such builds in honor of EOS’ 5th anniversary.