Skip to content

Commit 0f2e1e9

Browse files
authored
SIMD-0128: Migrate Address Lookup Table Program to Core BPF (#128)
* migrate address lookup table * update based on SIMD 0140 * use present-tense * add link to reimplemented program
1 parent 1655e46 commit 0f2e1e9

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
simd: '0128'
3+
title: Migrate Address Lookup Table to Core BPF
4+
authors:
5+
- Joe Caulfield - Anza Technology
6+
category: Standard
7+
type: Core
8+
status: Draft
9+
created: 2024-03-13
10+
feature: (fill in with feature tracking issues once accepted)
11+
---
12+
13+
## Summary
14+
15+
Migrate the Address Lookup Table program to Core BPF.
16+
17+
## Motivation
18+
19+
BPF programs offer less complexity than native programs for other clients, such
20+
as Firedancer, since developers will no longer have to keep up with program
21+
changes in their runtime implementations. Instead, the program can just be
22+
updated once.
23+
24+
In this spirit, Address Lookup Table should be migrated to Core BPF.
25+
26+
## Alternatives Considered
27+
28+
The Address Lookup Table program could instead remain a builtin program. This
29+
would mean each validator client implementation would have to build and maintain
30+
this program alongside their runtime, including any future changes.
31+
32+
## New Terminology
33+
34+
N/A.
35+
36+
## Detailed Design
37+
38+
The Address Lookup Table program is reimplemented in order to be compiled
39+
to BPF and executed by the BPF loader.
40+
41+
The reimplemented program's ABI exactly matches that of the original.
42+
43+
The reimplemented program's functionality exactly matches that of the
44+
original, differing only in compute usage. Instead it has dynamic compute
45+
usage based on the VM's compute unit meter.
46+
47+
The reimplemented program can be found here:
48+
https://github.com/solana-program/address-lookup-table.
49+
50+
The program shall be migrated to Core BPF using the procedure outlined in
51+
[SIMD 0088](./0088-enable-core-bpf-programs.md).
52+
53+
The program has no upgrade authority. If changes are required, for
54+
essential network operations, the program will be updated using feature-gates.
55+
56+
## Impact
57+
58+
Validator client teams are no longer required to implement and maintain the
59+
Address Lookup Table program within their runtime.
60+
61+
All validator client teams can work to maintain the single Address Lookup Table
62+
program together.
63+
64+
## Security Considerations
65+
66+
The program's reimplementation poses no new security considerations compared to
67+
the original builtin version.
68+
69+
The greatest security concern is a mistake in the reimplementation.
70+
71+
## Backwards Compatibility
72+
73+
The Core BPF implementation is 100% backwards compatible with the original
74+
builtin implementation.
75+

0 commit comments

Comments
 (0)